forked from luck/tmp_suning_uos_patched
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: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
4b119e21d0
commit
411e23dbe9
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue
Block a user