lkml.org 
[lkml]   [2015]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] mtd: pxa3xx-nand: handle PIO in threaded interrupt
Date
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


\
 
 \ /
  Last update: 2015-02-18 18:41    [W:0.054 / U:13.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site