Re: [PATCHv4] DMAEngine: Define interleaved transfer request api

From: Vinod Koul
Date: Thu Sep 29 2011 - 07:23:35 EST


On Wed, 2011-09-28 at 20:45 +0530, Jassi Brar wrote:
> >> +enum xfer_direction {
> >> + MEM_TO_MEM,
> >> + MEM_TO_DEV,
> >> + DEV_TO_MEM,
> >> + DEV_TO_DEV,
> > Use/update dma_data_direction.
> dma_data_direction is the mapping attribute of a buffer.
> While that info is what some dmac driver might need ultimately, our
> main aim here is to tell exactly if Src and Dst is Memory or a
> device's FIFO.
>
> Mapping attribute of src/dst buffers could be very well deducted from
> xfer_direction, but dma_data_direction isn't meant to tell if Src and
> Dst is Mem or FIFO.
> Also, for (SLAVE && !src_inc && !dst_inc) we need to disambiguate
> three options Mem->Fifo, Fifo->Mem, *Fifo->Fifo*(not impossible)
> So while using dma_data_direction would work today, that sure is hacky
> and not future-proof.
That is why I said use/update, you missed the update part.

One way would be to use direction field with new flag indicating if its
memory or device transfer, otherwise you can expand this enum.

Point is few things are already there so improve upon it rather than
have two structures in kernel doing similar things...

--
~Vinod

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/