Re: [Patch v7 2/2] dmaengine: add Qualcomm BAM dma driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andy,

Thanks for the patch.

On 02/25/2014 01:11 AM, Andy Gross wrote:
> Add the DMA engine driver for the QCOM Bus Access Manager (BAM) DMA controller
> found in the MSM 8x74 platforms.
> 
> Each BAM DMA device is associated with a specific on-chip peripheral.  Each
> channel provides a uni-directional data transfer engine that is capable of
> transferring data between the peripheral and system memory (System mode), or
> between two peripherals (BAM2BAM).
> 
> The initial release of this driver only supports slave transfers between
> peripherals and system memory.
> 
> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx>
> ---
>  drivers/dma/Kconfig        |    9 +
>  drivers/dma/Makefile       |    1 +
>  drivers/dma/qcom_bam_dma.c | 1106 ++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 1116 insertions(+)
>  create mode 100644 drivers/dma/qcom_bam_dma.c

<snip>

> +
> +/**
> + * bam_init
> + * @bdev: bam device
> + *
> + * Initialization helper for global bam registers
> + */
> +static int bam_init(struct bam_device *bdev)
> +{
> +	u32 val;
> +
> +	/* read revision and configuration information */
> +	val = readl_relaxed(bdev->regs + BAM_REVISION) & NUM_EES_MASK;
> +

The ees shit is not zero and you got wrong ee. Could you add the line
below or something similar:

val = (val >> NUM_EES_SHIFT) & NUM_EES_MASK;

> +	/* check that configured EE is within range */
> +	if (bdev->ee >= val)
> +		return -EINVAL;
> +

regards,
Stan

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux