Skip to content

Commit

Permalink
fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() runn…
Browse files Browse the repository at this point in the history
…ing 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>
  • Loading branch information
Zhang Wei authored and Dan Williams committed Apr 17, 2008
1 parent 4b119e2 commit 411e23d
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 18 deletions.
8 changes: 0 additions & 8 deletions drivers/dma/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
13 changes: 3 additions & 10 deletions drivers/dma/fsldma.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);

Expand All @@ -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)
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 411e23d

Please sign in to comment.