From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Brown Subject: Re: [PATCH v7 01/10] ARM: davinci: move private EDMA API to arm/common Date: Tue, 5 Feb 2013 17:41:13 +0000 Message-ID: <20130205174113.GJ4720@opensource.wolfsonmicro.com> References: <510FF1A6.403@mvista.com> <20130204164712.GB4269@arwen.pp.htv.fi> <510FF5C9.3030600@mvista.com> <20130204170216.GC4269@arwen.pp.htv.fi> <51100A72.6030909@ti.com> <5110369B.9060901@ti.com> <20130205164705.GG4720@opensource.wolfsonmicro.com> <20130205170628.GD17852@n2100.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Ai6NJizWfpRUKxSm" Cc: Linus Walleij , Cyril Chemparathy , balbi@ti.com, Sergei Shtylyov , Linux Documentation List , Lindgren , Vinod Koul , "Nair, Sandeep" , Chris Ball , Matt Porter , Arnd Bergmann , Devicetree Discuss , Rob Herring , Linux OMAP List , ARM Kernel List , Linux DaVinci Kernel List , "Cousson, Benoit" , Linux MMC List , Linux Kernel Mailing List , Landley , Dan Williams , Linux SPI Devel List Return-path: Content-Disposition: inline In-Reply-To: <20130205170628.GD17852@n2100.arm.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-spi.vger.kernel.org --Ai6NJizWfpRUKxSm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Feb 05, 2013 at 05:06:28PM +0000, Russell King - ARM Linux wrote: > On Tue, Feb 05, 2013 at 04:47:05PM +0000, Mark Brown wrote: > > On Tue, Feb 05, 2013 at 05:21:48PM +0100, Linus Walleij wrote: > > > For IRQ mode, use the completion callback to push each cookie > > > to NAPI, and thus let the IRQ drive the traffic. > > The whole purpose of NAPI is to avoid taking interrupts for completion > > of transfers. Anything that generates interrupts when NAPI is in > > polling mode is defeating the point. > Yes, but you're missing one very important point. If your DMA engine > is decoupled from the network device, and the DMA engine relies upon > interrupts to queue further transfers to move data into RAM, then you > have two options: > 1. Receive these interrupts so you can update the DMA engine for > further data transfer. > 2. Don't receive these interrupts, and cause the network device to > error out with a FIFO overrun because its DMA requests have not > been serviced. (which may raise an interrupt.) There's still the third option of just implementing a non-NAPI driver, though I guess we've now built so much infrastructure on top of NAPI that it's still useful to pretend we can disable interrupts. --Ai6NJizWfpRUKxSm Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBAgAGBQJREUQyAAoJELSic+t+oim9meMP+wQGjHAZdn1AoszGg81XLikx LBO6zM/qUNMedHR83X6Lu0YqpJlWvnFaALFCnL7y4uWZMGWr4vqE5ojTj8jVZeFq Seb4cBErx87WQjOP7JIeT3CG1pIlNySfloTB+hECGO7chABjW7ZjrN1mVTTo9yAf AvxZ9pQaSZkkyUPuF+goDzQM3aOihXME2rOEsWQ6UT5AG7Bm7hAA9UHs9rlK6VpB hXG8HTwXU7if+B7ByH6q/IxxqutcM97WI5c0a6KwKaRzaIRCJBS/AHnxA/8EM+vR RF223u9m9Xrp2xayhuv/Md0JwhP7q9vg/YQ7oPnFyKFmEKi6SKkAdR23zV8E2NAk hUKf2z/s3az3BCOvtsZvAOx3crUo4CxOfHAlh+nfT1OZw7sHP769tjJP8rGXBbiO yW2cyO+5KA/udw6B07U1Lj/ui7FoVhY8/dybQYNOGy6EGYj1gTjOUTG7kJFd+3WE w4jOE3qRcZFKOtjV+bhXOyPaOnlj7KBcuNISUuPopIOzm5AY7sPgF5yI8rhE5W2m qlle5WAwOxUpZXbHQUIfsXwc0EmgeChxZ2qH66AuQXvI3CoACqsOA3QvwGIOjdta vRlztO3L/Cqeg3r6darqaoWrsqFTgqsGhai0L6L2ZF1krHfaW6VrvTmErG/vZixC nc+otbZzByvTJvlO86dM =TnkV -----END PGP SIGNATURE----- --Ai6NJizWfpRUKxSm--