diff mbox

dmaengine: bam-dma: fill slave directions bit mask

Message ID 1425482710-23052-1-git-send-email-stanimir.varbanov@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Stanimir Varbanov March 4, 2015, 3:25 p.m. UTC
This will avoid warning during async device registration.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
---
 drivers/dma/qcom_bam_dma.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

Vinod Koul March 4, 2015, 4:02 p.m. UTC | #1
On Wed, Mar 04, 2015 at 05:25:10PM +0200, Stanimir Varbanov wrote:
> This will avoid warning during async device registration.
> 
> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
> ---
>  drivers/dma/qcom_bam_dma.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/dma/qcom_bam_dma.c b/drivers/dma/qcom_bam_dma.c
> index c3113e3..cc9e5ee 100644
> --- a/drivers/dma/qcom_bam_dma.c
> +++ b/drivers/dma/qcom_bam_dma.c
> @@ -1143,6 +1143,7 @@ static int bam_dma_probe(struct platform_device *pdev)
>  	dma_cap_set(DMA_SLAVE, bdev->common.cap_mask);
>  
>  	/* initialize dmaengine apis */
> +	bdev->common.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
>  	bdev->common.device_alloc_chan_resources = bam_alloc_chan;
>  	bdev->common.device_free_chan_resources = bam_free_chan;
>  	bdev->common.device_prep_slave_sg = bam_prep_slave_sg;
You need to fill other fields, src/dstn_addr_widths and
residue_granularity...
Stephen Boyd March 4, 2015, 7:23 p.m. UTC | #2
On 03/04/15 07:25, Stanimir Varbanov wrote:
> This will avoid warning during async device registration.
>
> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
> ---

Can you please put the warning in the commit log? Also, does this need a
Fixes: tag?
Andy Gross March 4, 2015, 7:44 p.m. UTC | #3
On Wed, Mar 04, 2015 at 09:32:13PM +0530, Vinod Koul wrote:
> On Wed, Mar 04, 2015 at 05:25:10PM +0200, Stanimir Varbanov wrote:
> > This will avoid warning during async device registration.
> > 
> > Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
> > ---
> >  drivers/dma/qcom_bam_dma.c |    1 +
> >  1 files changed, 1 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/dma/qcom_bam_dma.c b/drivers/dma/qcom_bam_dma.c
> > index c3113e3..cc9e5ee 100644
> > --- a/drivers/dma/qcom_bam_dma.c
> > +++ b/drivers/dma/qcom_bam_dma.c
> > @@ -1143,6 +1143,7 @@ static int bam_dma_probe(struct platform_device *pdev)
> >  	dma_cap_set(DMA_SLAVE, bdev->common.cap_mask);
> >  
> >  	/* initialize dmaengine apis */
> > +	bdev->common.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
> >  	bdev->common.device_alloc_chan_resources = bam_alloc_chan;
> >  	bdev->common.device_free_chan_resources = bam_free_chan;
> >  	bdev->common.device_prep_slave_sg = bam_prep_slave_sg;
> You need to fill other fields, src/dstn_addr_widths and
> residue_granularity...

Add segment granularity for BAM, as we can read the current completed segment.
bdev->common.residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;

Use DMA_SLAVE_BUSWIDTH_4_BYTES for the src/dst addr width:
bdev->common.src_addr_widths = DMA_SLAVE_BUSWIDTH_4_BYTES;
bdev->common.dst_addr_widths = DMA_SLAVE_BUSWIDTH_4_BYTES;
Stanimir Varbanov March 5, 2015, 9:44 a.m. UTC | #4
On 03/04/2015 09:44 PM, Andy Gross wrote:
> On Wed, Mar 04, 2015 at 09:32:13PM +0530, Vinod Koul wrote:
>> On Wed, Mar 04, 2015 at 05:25:10PM +0200, Stanimir Varbanov wrote:
>>> This will avoid warning during async device registration.
>>>
>>> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
>>> ---
>>>  drivers/dma/qcom_bam_dma.c |    1 +
>>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/dma/qcom_bam_dma.c b/drivers/dma/qcom_bam_dma.c
>>> index c3113e3..cc9e5ee 100644
>>> --- a/drivers/dma/qcom_bam_dma.c
>>> +++ b/drivers/dma/qcom_bam_dma.c
>>> @@ -1143,6 +1143,7 @@ static int bam_dma_probe(struct platform_device *pdev)
>>>  	dma_cap_set(DMA_SLAVE, bdev->common.cap_mask);
>>>  
>>>  	/* initialize dmaengine apis */
>>> +	bdev->common.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
>>>  	bdev->common.device_alloc_chan_resources = bam_alloc_chan;
>>>  	bdev->common.device_free_chan_resources = bam_free_chan;
>>>  	bdev->common.device_prep_slave_sg = bam_prep_slave_sg;
>> You need to fill other fields, src/dstn_addr_widths and
>> residue_granularity...
> 
> Add segment granularity for BAM, as we can read the current completed segment.
> bdev->common.residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
> 
> Use DMA_SLAVE_BUSWIDTH_4_BYTES for the src/dst addr width:
> bdev->common.src_addr_widths = DMA_SLAVE_BUSWIDTH_4_BYTES;
> bdev->common.dst_addr_widths = DMA_SLAVE_BUSWIDTH_4_BYTES;
> 

Thanks Andy, will add those fields too.
diff mbox

Patch

diff --git a/drivers/dma/qcom_bam_dma.c b/drivers/dma/qcom_bam_dma.c
index c3113e3..cc9e5ee 100644
--- a/drivers/dma/qcom_bam_dma.c
+++ b/drivers/dma/qcom_bam_dma.c
@@ -1143,6 +1143,7 @@  static int bam_dma_probe(struct platform_device *pdev)
 	dma_cap_set(DMA_SLAVE, bdev->common.cap_mask);
 
 	/* initialize dmaengine apis */
+	bdev->common.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
 	bdev->common.device_alloc_chan_resources = bam_alloc_chan;
 	bdev->common.device_free_chan_resources = bam_free_chan;
 	bdev->common.device_prep_slave_sg = bam_prep_slave_sg;