Messages in this thread |  | | From | Robert Jarzmik <> | Subject | Re: [PATCH] mtd: pxa3xx-nand: handle PIO in threaded interrupt | Date | Wed, 18 Feb 2015 18:16:17 +0100 |
| |
Maxime Ripard <maxime.ripard@free-electrons.com> writes:
> On Tue, Feb 17, 2015 at 09:06:57PM +0100, Robert Jarzmik wrote: >> Change the handling of the data stage in the driver : don't pump data in >> the top-half interrupt, but rather schedule a thread for non dma cases. >> >> This will enable latencies in the data pumping, especially if delays are >> required. Moreover platform shall be more reactive as other interrupts >> can be served while pumping data. >> >> No throughput degradation was observed, at least on the zylonite >> platform, while a slight degradation was being expected. >> >> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> > > Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > On a sidenote... Thanks.
>> @@ -1672,7 +1688,8 @@ static int alloc_nand_resource(struct platform_device *pdev) >> /* initialize all interrupts to be disabled */ >> disable_int(info, NDSR_MASK); >> >> - ret = request_irq(irq, pxa3xx_nand_irq, 0, pdev->name, info); >> + ret = request_threaded_irq(irq, pxa3xx_nand_irq, >> + pxa3xx_nand_irq_thread, 0, pdev->name, info); > > Using IRQF_ONESHOT would allow you not to do the interrupt enable / > disable dance. Yes, that's a very good point. Would your Tested-by still hold with this change ?
Cheers.
-- Robert
|  |