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

Mark Rutland mark.rutland at arm.com
Fri Feb 21 04:33:52 EST 2014


On Fri, Feb 21, 2014 at 06:43:05AM +0000, 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 at codeaurora.org>
> ---
>  drivers/dma/Kconfig        |    9 +
>  drivers/dma/Makefile       |    1 +
>  drivers/dma/qcom_bam_dma.c | 1107 ++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 1117 insertions(+)
>  create mode 100644 drivers/dma/qcom_bam_dma.c

[...]

> +       bdev->bamclk = devm_clk_get(bdev->dev, "bam_clk");

The binding document should describe the "bam_clk" string in the
clock-names description.

[...]

> +       ret = of_property_read_u32(pdev->dev.of_node, "qcom,ee", &bdev->ee);
> +       if (ret) {
> +               dev_err(bdev->dev, "EE unspecified\n");

It would be nice to expand EE to what it stands for, at least in the
error but possibly the binding too.

> +static const struct of_device_id bam_of_match[] = {
> +       { .compatible = "qcom,bam-v1.4.0", },
> +       { .compatible = "qcom,bam-v1.4.1", },

What are the differences between the two?

Is v1.4.1 an extension of v1.4.0?

Could you have the following in DTs:

  compatible = "qcom,bam-v1.4.1", "qcom,bam-v1.4.0";

Then you'd only need the v1.4.0 string in the driver for now.

Thanks,
Mark.



More information about the linux-arm-kernel mailing list