[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130425130922.GE14496@n2100.arm.linux.org.uk>
Date: Thu, 25 Apr 2013 14:09:22 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Lee Jones <lee.jones@...aro.org>, Rabin Vincent <rabin@....in>,
Linus WALLEIJ <linus.walleij@...ricsson.com>,
Arnd Bergmann <arnd@...db.de>,
Vinod Koul <vinod.koul@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Per Forlin <per.forlin@...ricsson.com>,
Dan Williams <djbw@...com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 04/32] dmaengine: ste_dma40: Amalgamate DMA source and
destination channel numbers
On Thu, Apr 25, 2013 at 02:43:16PM +0200, Linus Walleij wrote:
> So while there is no active usecase, Linux surely has the ambition to do
> that as can be seen in:
>
> /**
> * enum dma_transfer_direction - dma transfer mode and direction indicator
> * @DMA_MEM_TO_MEM: Async/Memcpy mode
> * @DMA_MEM_TO_DEV: Slave mode & From Memory to Device
> * @DMA_DEV_TO_MEM: Slave mode & From Device to Memory
> * @DMA_DEV_TO_DEV: Slave mode & From Device to Device
> */
> enum dma_transfer_direction {
> DMA_MEM_TO_MEM,
> DMA_MEM_TO_DEV,
> DMA_DEV_TO_MEM,
> DMA_DEV_TO_DEV,
> DMA_TRANS_NONE,
> };
>
> I think we need a handshake with Vinod on this.
DEV_TO_DEV was added when the change to dma_transfer_direction happened,
to "fill in" the full pattern.
There's a problem with device to device transfers though - you have to
consider the rate at which the devices produce and consume data, and
whether they both can cope with differing data rates.
Take for instance your audio in to audio out idea - even if they are
both operating at the same bits per sample and sample rate, if they are
independently clocked, chances are that the clocks are not exactly the
same, which means you will either underrun or overrun one of the FIFOs
in the system.
--
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