[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGsJ_4zzN1erduhV_hwWpPgTQ-YFowoPpmC_CKaT_C2=63OtZg@mail.gmail.com>
Date: Wed, 12 Oct 2011 13:41:48 +0800
From: Barry Song <21cnbao@...il.com>
To: Jassi Brar <jaswinder.singh@...aro.org>
Cc: Vinod Koul <vinod.koul@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>,
Russell King <rmk@....linux.org.uk>,
linux-kernel@...r.kernel.org,
DL-SHA-WorkGroupLinux <workgroup.linux@....com>,
Dave Jiang <dave.jiang@...el.com>
Subject: Re: [PATCHv4] DMAEngine: Define interleaved transfer request api
2011/10/11 Jassi Brar <jaswinder.singh@...aro.org>:
> On 10 October 2011 21:32, Vinod Koul <vinod.koul@...el.com> wrote:
>> On Mon, 2011-10-10 at 16:46 +0530, Jassi Brar wrote:
>>> On 10 October 2011 16:15, Vinod Koul <vinod.koul@...el.com> wrote:
>>> >
>>> > But I am fine if we find a common ground and merge the two where dmac
>>> > can cleanly identify direction and mode it is operating.
>>> >
>>> The client would set the xfer_direction and dmac would interpret as
>>>
>>> enum xfer_direction {
>>> MEM_TO_MEM, -> Async/Memcpy mode
>>> MEM_TO_DEV, -> Slave mode & From Memory to Device
>>> DEV_TO_MEM, -> Slave mode & From Device to Memory
>>> DEV_TO_DEV, -> Slave mode & From Device to Device
>>> }
>>>
>>> How could it get any cleaner?
>> Consider the case of a dmac driver which supports interleaved dma as
>> well as memcpy and slave
>> It needs to interpret dma_data_direction for later cases and
>> xfer_direction for former ones.
> dma_data_direction is the mapping attribute of a buffer and is not meant to
> tell type of source and destination of a transfer.
> xfer_direction is meant for that purpose.
> So I'd rather convert device_prep_dma_cyclic and device_prep_slave_sg
> to use xfer_direction.
i tend to agree with Jassi. now dma_data_direction actually is only
mapping things not real transfer direction.
xfer_direction is now something really telling the data transfer direction.
I think that's what device_prep_dma_cyclic and device_prep_slave_sg want.
actually, there is only one case we need to use dma_data_direction in
dmac driver, that's unmapping async dma buffer.
But the param to dma_unmap_single can be implied by xfer_direction and
dma description.
that's why i think we should rename dma_data_direction to
dma_map_direction or something like that to avoid confusion.
-barry
--
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