[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54E47ABF.8070306@free-electrons.com>
Date: Wed, 18 Feb 2015 08:42:55 -0300
From: Ezequiel Garcia <ezequiel.garcia@...e-electrons.com>
To: Robert Jarzmik <robert.jarzmik@...e.fr>,
David Woodhouse <dwmw2@...radead.org>,
Brian Norris <computersforpeace@...il.com>,
Maxime Ripard <maxime.ripard@...e-electrons.com>
CC: linux-mtd@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mtd: pxa3xx-nand: handle PIO in threaded interrupt
On 02/17/2015 05:06 PM, 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@...e.fr>
> ---
> drivers/mtd/nand/pxa3xx_nand.c | 23 ++++++++++++++++++++---
> 1 file changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index 96b0b1d..237c92c 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -569,11 +569,25 @@ static void start_data_dma(struct pxa3xx_nand_info *info)
> {}
> #endif
>
> +static irqreturn_t pxa3xx_nand_irq_thread(int irq, void *data)
> +{
> + struct pxa3xx_nand_info *info = data;
> +
> + handle_data_pio(info);
> +
> + info->state = STATE_CMD_DONE;
Are you sure you need to set the state here?
--
Ezequiel GarcĂa, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists