Re: [RFC v2 2/5] dmaengine: Add slave DMA interface

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Haavard Skinnemoen <hskinnemoen@...>
Cc: Dan Williams <dan.j.williams@...>, <linux-kernel@...>, Shannon Nelson <shannon.nelson@...>, <kernel@...>, Francis Moreau <francis.moro@...>, Paul Mundt <lethal@...>, Vladimir A. Barinov <vbarinov@...>, Pierre Ossman <drzeus-list@...>
Date: Thursday, January 31, 2008 - 4:27 am

On Wednesday 30 January 2008, Haavard Skinnemoen wrote:

That's always a goal, but that's not what I said.  I was pointing out
one scenario I ran into ... where starting with the simple solution
ran into product issues which were unfixable without using some of the
more advanced (and nonportable!!) hardware mechanisms.



Where you start is often NOT where you end up!  You should make sure
that a wants-to-be-generic slave interface can accomodate a variety of
non-basic mechanisms, without getting bloated.  :)



You probably missed the point that both "logical" and "physical"
channels in that case have hardware support.  Drivers didn't really
need to worry about not being able to allocate a (logical) channel.

Yes, I also had the half-thought that maybe that notion could show
up in the "dmaengine" framework...  ;)



Modulo the little glitches the hardware people always throw at us.
Like little synchronization races when the various signals don't
cross the same clock domains, and errata that creep in ... and the
fact that "just fine" can still have performance requirements, ones
that get harder to satisfy when the overcapacity gets shaved.



In platform-specific drivers, it's common to *NEED* to use lots
of different platform-specific mechanisms.  The DMA engine and
the controller may well have been co-designed to address various
system-wide requirements, for example.  It depends on how tightly
integrated things are.



Better to have some sort of "struct engine_type" and include a pointer
to it.  That way there's no global enum in a header to maintain and
evolve over time.



Why not just use container_of() wrappers?

- Dave
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC v2 0/5] dmaengine: Slave DMA interface and example users, Haavard Skinnemoen, (Tue Jan 29, 2:10 pm)
Re: [RFC v2 0/5] dmaengine: Slave DMA interface and example ..., Haavard Skinnemoen, (Tue Jan 29, 4:54 pm)
Re: [RFC v2 0/5] dmaengine: Slave DMA interface and example ..., Haavard Skinnemoen, (Wed Jan 30, 4:56 am)
Re: [RFC v2 0/5] dmaengine: Slave DMA interface and example ..., Haavard Skinnemoen, (Mon Feb 4, 11:32 am)
Re: [RFC v2 0/5] dmaengine: Slave DMA interface and example ..., Haavard Skinnemoen, (Thu Feb 7, 1:52 pm)
[RFC v2 1/5] dmaengine: Add dma_client parameter to device_a..., Haavard Skinnemoen, (Tue Jan 29, 2:10 pm)
[RFC v2 2/5] dmaengine: Add slave DMA interface, Haavard Skinnemoen, (Tue Jan 29, 2:10 pm)
SDIO driver not receiving responses, Farbod Nejati, (Thu Jan 31, 2:35 am)
Re: SDIO driver not receiving responses, Pierre Ossman, (Thu Feb 7, 3:51 pm)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, David Brownell, (Wed Jan 30, 3:30 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Haavard Skinnemoen, (Wed Jan 30, 5:27 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, David Brownell, (Wed Jan 30, 6:52 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Dan Williams, (Wed Jan 30, 2:28 pm)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, David Brownell, (Wed Jan 30, 4:45 pm)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Haavard Skinnemoen, (Wed Jan 30, 8:26 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Dan Williams, (Wed Feb 6, 5:08 pm)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Haavard Skinnemoen, (Thu Feb 7, 1:56 pm)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, David Brownell, (Thu Jan 31, 4:27 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Haavard Skinnemoen, (Thu Jan 31, 9:52 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Paul Mundt, (Thu Jan 31, 4:44 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, David Brownell, (Thu Jan 31, 8:51 am)
Re: [RFC v2 2/5] dmaengine: Add slave DMA interface, Haavard Skinnemoen, (Thu Jan 31, 10:12 am)
[RFC v2 3/5] dmaengine: Make DMA Engine menu visible for AVR..., Haavard Skinnemoen, (Tue Jan 29, 2:10 pm)
[RFC v2 4/5] dmaengine: Driver for the Synopsys DesignWare D..., Haavard Skinnemoen, (Tue Jan 29, 2:10 pm)
[RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC control..., Haavard Skinnemoen, (Tue Jan 29, 2:10 pm)
Re: [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC con..., Haavard Skinnemoen, (Wed Feb 13, 5:06 pm)
Re: [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC con..., Haavard Skinnemoen, (Thu Feb 14, 4:36 am)
Re: [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC con..., Haavard Skinnemoen, (Thu Feb 14, 3:21 pm)
MMC core debugfs support (was Re: [RFC v2 5/5] Atmel MCI: Dr..., Haavard Skinnemoen, (Thu Feb 14, 10:00 am)
Re: [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC con..., Haavard Skinnemoen, (Wed Feb 13, 2:47 pm)