[PATCH v7 1/3] MTD : add the common code for GPMI-NFC controller driver
Russell King - ARM Linux
linux at arm.linux.org.uk
Wed Jun 29 08:42:14 EDT 2011
On Wed, Jun 29, 2011 at 02:29:42PM +0200, Wolfram Sang wrote:
> > > Still, the problem exists: When a second channel GPMI channel is
> > > requested, dmaengine will return -EBUSY, because the DMAIRQ is already
> > > taken.
> > >
> > Yes, we should change the DMA code, it is a DMA bug.
> > I ever submitted a patch about the issue:
> > http://patchwork.ozlabs.org/patch/87145/
> That approach was rejected because it would register the same handler
> n-times where one time would do. Your other approach puts too much
> mach-specific details into the driver IMO and probably won't scale very
> well. Maybe we should add something to the private dma_data (like flags
> indicating SHARED) and then do some refcounting?
Why not just request the interrupt once when the mxs-dma stuff probes,
rather than requesting it every time a channel is allocated?
The interrupt handler itself is written to process all channels on the
device anyway, so you only need it registered once. Using IRQF_SHARED
to register multiple identical handlers is just idiotic, and adding
refcounting is needless complexity.
More information about the linux-arm-kernel