Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 411e23db authored by Zhang Wei's avatar Zhang Wei Committed by Dan Williams
Browse files

fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() running always.



Always enabling the fsl_dma_self_test() to ensure the DMA controller
should works well after the driver probed.

Signed-off-by: default avatarZhang Wei <wei.zhang@freescale.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 4b119e21
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -46,14 +46,6 @@ config FSL_DMA
	  MPC8560/40, MPC8555, MPC8548 and MPC8641 processors.
	  The MPC8349, MPC8360 is also supported.

config FSL_DMA_SELFTEST
	bool "Enable the self test for each DMA channel"
	depends on FSL_DMA
	default y
	---help---
	  Enable the self test for each DMA channel. A self test will be
	  performed after the channel probed to ensure the DMA works well.

config DMA_ENGINE
	bool

+3 −10
Original line number Diff line number Diff line
@@ -776,15 +776,13 @@ static void dma_do_tasklet(unsigned long data)
	fsl_chan_ld_cleanup(fsl_chan);
}

#ifdef FSL_DMA_CALLBACKTEST
static void fsl_dma_callback_test(struct fsl_dma_chan *fsl_chan)
static void fsl_dma_callback_test(void *param)
{
	struct fsl_dma_chan *fsl_chan = param;
	if (fsl_chan)
		dev_info(fsl_chan->dev, "selftest: callback is ok!\n");
		dev_dbg(fsl_chan->dev, "selftest: callback is ok!\n");
}
#endif

#ifdef CONFIG_FSL_DMA_SELFTEST
static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan)
{
	struct dma_chan *chan;
@@ -875,13 +873,11 @@ static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan)
	cookie = fsl_dma_tx_submit(tx3);
	cookie = fsl_dma_tx_submit(tx2);

#ifdef FSL_DMA_CALLBACKTEST
	if (dma_has_cap(DMA_INTERRUPT, ((struct fsl_dma_device *)
	    dev_get_drvdata(fsl_chan->dev->parent))->common.cap_mask)) {
		tx3->callback = fsl_dma_callback_test;
		tx3->callback_param = fsl_chan;
	}
#endif
	fsl_dma_memcpy_issue_pending(chan);
	msleep(2);

@@ -906,7 +902,6 @@ static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan)
	kfree(src);
	return err;
}
#endif

static int __devinit of_fsl_dma_chan_probe(struct of_device *dev,
			const struct of_device_id *match)
@@ -997,11 +992,9 @@ static int __devinit of_fsl_dma_chan_probe(struct of_device *dev,
		}
	}

#ifdef CONFIG_FSL_DMA_SELFTEST
	err = fsl_dma_self_test(new_fsl_chan);
	if (err)
		goto err;
#endif

	dev_info(&dev->dev, "#%d (%s), irq %d\n", new_fsl_chan->id,
				match->compatible, new_fsl_chan->irq);