On Mon, Nov 25, 2013 at 03:15:32PM -0700, Stephen Warren wrote: [...] > diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c [...] > +/* Tegra148 specific registers */ > +#define TEGRA_APBDMA_CHAN_WCOUNT 0x20 > +#define TEGRA_APBDMA_WCOUNT_WCOUNT_SHIFT 2 > +#define TEGRA_APBDMA_WCOUNT_WCOUNT_MASK 0xfffffffc According to the TRM this field spans bits 29:2, so the mask should be 0x3ffffffc. > +#define TEGRA_APBDMA_CHAN_WORD_TRANSFER 0x24 > +#define TEGRA_APBDMA_WORD_TRANSFER_WXFER_SHIFT 2 > +#define TEGRA_APBDMA_WORD_TRANSFER_WXFER_MASK 0xfffc Comparing to the TRM these should be named: TEGRA_APBDMA_CHAN_WORD_TRANSFER_COUNT_SHIFT TEGRA_APBDMA_CHAN_WORD_TRANSFER_COUNT_MASK Also the COUNT field spans bits 29:2, so the mask should be 0x3ffffffc. > @@ -719,6 +735,7 @@ static void tegra_dma_terminate_all(struct dma_chan *dc) > struct tegra_dma_desc *dma_desc; > unsigned long flags; > unsigned long status; > + unsigned long wcount = 0; You assign a value to this later on, so I don't think this needs to be initialized. Thierry
Attachment:
pgpAlQ4RvP5AY.pgp
Description: PGP signature