[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJe_ZhdB6y--3XuTp7hzrBjkBTUfp5Anta2Z8SMaqbc=z6jMGA@mail.gmail.com>
Date: Tue, 20 Sep 2011 23:38:59 +0530
From: Jassi Brar <jaswinder.singh@...aro.org>
To: Vinod Koul <vinod.koul@...el.com>
Cc: dan.j.williams@...el.com, linux-kernel@...r.kernel.org,
rmk@....linux.org.uk, 21cnbao@...il.com
Subject: Re: [PATCHv3] DMAEngine: Define interleaved transfer request api
On 20 September 2011 22:22, Vinod Koul <vinod.koul@...el.com> wrote:
>> /**
>> * enum dma_ctrl_flags - DMA flags to augment operation preparation,
>> @@ -309,6 +376,8 @@ typedef void (*dma_async_tx_callback)(void *dma_async_param);
>> * @chan: target channel for this operation
>> * @tx_submit: set the prepared descriptor(s) to be executed by the engine
>> * @callback: routine to call after this operation is complete
>> + * And after each frame if the 'frm_irq' flag is set during
>> + * device_prep_interleaved_dma.
> Nope, if callback is set it should be called
What makes you think it won't be called? Note that it starts with _AND_
'frm_irq' would only cause the callbacks done _additionally_ after each frame.
And no, DMA_PREP_INTERRUPT can't serve that purpose because that acts at
only the end of full transfer not a part of it.
> I think frm_irq is not required
Barry doesn't need it, so yes, I'd better remove it for now and make
my life easier.
> Also for slave transfers, how do we infer direction?
I already explained to Barry. Here's it again.
At any time, the dmac driver knows if the channel, on which the xfer is
prepared/submitted is Slave or not.
SLAVE Transfer
dmaxfer_template.src_inc && !dmaxfer_template.dst_inc => DMA_TO_DEVICE
!dmaxfer_template.src_inc && dmaxfer_template.dst_inc => DMA_FROM_DEVICE
Mem->Mem Transfer
dmaxfer_template.src_inc && !dmaxfer_template.dst_inc => Meaningless
!dmaxfer_template.src_inc && dmaxfer_template.dst_inc => MemSet
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists