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

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
...@@ -46,14 +46,6 @@ config FSL_DMA ...@@ -46,14 +46,6 @@ config FSL_DMA
MPC8560/40, MPC8555, MPC8548 and MPC8641 processors. MPC8560/40, MPC8555, MPC8548 and MPC8641 processors.
The MPC8349, MPC8360 is also supported. 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 config DMA_ENGINE
bool bool
......
...@@ -776,15 +776,13 @@ static void dma_do_tasklet(unsigned long data) ...@@ -776,15 +776,13 @@ static void dma_do_tasklet(unsigned long data)
fsl_chan_ld_cleanup(fsl_chan); fsl_chan_ld_cleanup(fsl_chan);
} }
#ifdef FSL_DMA_CALLBACKTEST static void fsl_dma_callback_test(void *param)
static void fsl_dma_callback_test(struct fsl_dma_chan *fsl_chan)
{ {
struct fsl_dma_chan *fsl_chan = param;
if (fsl_chan) 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) static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan)
{ {
struct dma_chan *chan; struct dma_chan *chan;
...@@ -875,13 +873,11 @@ static int fsl_dma_self_test(struct fsl_dma_chan *fsl_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(tx3);
cookie = fsl_dma_tx_submit(tx2); cookie = fsl_dma_tx_submit(tx2);
#ifdef FSL_DMA_CALLBACKTEST
if (dma_has_cap(DMA_INTERRUPT, ((struct fsl_dma_device *) if (dma_has_cap(DMA_INTERRUPT, ((struct fsl_dma_device *)
dev_get_drvdata(fsl_chan->dev->parent))->common.cap_mask)) { dev_get_drvdata(fsl_chan->dev->parent))->common.cap_mask)) {
tx3->callback = fsl_dma_callback_test; tx3->callback = fsl_dma_callback_test;
tx3->callback_param = fsl_chan; tx3->callback_param = fsl_chan;
} }
#endif
fsl_dma_memcpy_issue_pending(chan); fsl_dma_memcpy_issue_pending(chan);
msleep(2); msleep(2);
...@@ -906,7 +902,6 @@ out: ...@@ -906,7 +902,6 @@ out:
kfree(src); kfree(src);
return err; return err;
} }
#endif
static int __devinit of_fsl_dma_chan_probe(struct of_device *dev, static int __devinit of_fsl_dma_chan_probe(struct of_device *dev,
const struct of_device_id *match) const struct of_device_id *match)
...@@ -997,11 +992,9 @@ static int __devinit of_fsl_dma_chan_probe(struct of_device *dev, ...@@ -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); err = fsl_dma_self_test(new_fsl_chan);
if (err) if (err)
goto err; goto err;
#endif
dev_info(&dev->dev, "#%d (%s), irq %d\n", new_fsl_chan->id, dev_info(&dev->dev, "#%d (%s), irq %d\n", new_fsl_chan->id,
match->compatible, new_fsl_chan->irq); match->compatible, new_fsl_chan->irq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment