All of lore.kernel.org
 help / color / mirror / Atom feed
From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: MUSB multiplatform work?
Date: Wed, 12 Jun 2013 15:35:42 +0530	[thread overview]
Message-ID: <20130612100542.GV4107@intel.com> (raw)
In-Reply-To: <CACRpkdaUegc7B8awUiQTvFRJHPMWv6hEEsE-2AHtZCDXVEMN9g@mail.gmail.com>

On Thu, May 30, 2013 at 11:19:33PM +0200, Linus Walleij wrote:
> On Thu, May 30, 2013 at 10:31 PM, Tony Lindgren <tony@atomide.com> wrote:
> 
> > There are many devices where the device FIFO is memory mapped to the
> > GPMC bus on omaps, like TUSB, OneNAND, smc911x etc. I believe the
> > only reason why these have not been converted to the dmaengine is
> > the fact that dmaengine cannot configure the DMA hardware to do
> > autoincrement and loop over the device FIFO.
> 
> OK that seems like something pretty generic that we could just add
> to the struct dma_slave_config actually, something like:
> 
> u32 src_fifoloop;
> u32 dst_fifoloop;
Yes for genric but not for loop. For most of our cases we are considering the
FIFO address as a constant. Typically DMA controllers have this ability to
perform incremental/decremental/constant FIFO address.

What would make sense to have is:

enum dmaengine_slave_addr_mode {
	DMAENGINE_SLAVE_ADDR_CONSTANT = 0,
	DMAENGINE_SLAVE_ADDR_INCREMANT,
	DMAENGINE_SLAVE_ADDR_DECREMENT,
};

and add these to struct dma_slave_config:
	enum dmaengine_slave_addr_mode src_mode;
	enum dmaengine_slave_addr_mode dstn_mode;

For loopover we can have:
	u32 loop_counter;

on 0 means no loop, and valid value tells when to loopover (offset).

will this help for all of the above controllers and their conversion?
 
> Given in # of words on the src/dst address simply, left as zero
> for hitting a constant address over and over again.
> 
> We'd need both to make space for device->device transfers.
> 
> If this is all that is needed to convert them do DMAengine
> I'd surely ACK it (FWIW).

--
~Vinod

  reply	other threads:[~2013-06-12 10:05 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-27 15:02 MUSB multiplatform work? Arnd Bergmann
2013-05-28 16:35 ` Felipe Balbi
2013-05-30 20:18   ` Tony Lindgren
2013-05-30 20:21     ` Linus Walleij
2013-05-30 20:31       ` Tony Lindgren
2013-05-30 21:19         ` Linus Walleij
2013-06-12 10:05           ` Vinod Koul [this message]
2013-06-12 11:57             ` Jassi Brar
2013-06-17 13:43               ` Vinod Koul
2013-06-17 15:57                 ` Jassi Brar
2013-06-01 11:41         ` Jassi Brar
2013-05-30 20:54     ` Tony Lindgren
2013-05-31  4:00       ` Felipe Balbi
2013-05-31 17:52         ` Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130612100542.GV4107@intel.com \
    --to=vinod.koul@intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.