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: pgpCrEcHnQXxT.pgp
Description: PGP signature

Reply via email to