Re: Avoid needless loop in sdhci_irq() for Card Interrupt

From: Dong Aisheng
Date: Tue Nov 05 2013 - 01:39:49 EST


Hi Alexey,

On Tue, Nov 5, 2013 at 2:43 AM, Alexey Neyman <stilor@xxxxxxx> wrote:
> [Patch ping #3: anyone interested in making sdhci_irq a bit faster?]
>
> Hi all,
>
> I've discovered that the sdhci_irq() function needlessly iterates re-reading
> the interrupt status and doing nothing (until it runs out of max_loops) when
> it handles the "Card Interrupt" status in the interrupt status register.
>
> The reason is that the "Card Interrupt" bit is not cleared until the
> sdhci_irq() calls mmc_signal_sdio_irq(), so if Card Interrupt was asserted,
> re-reading the interrupt status will find this bit set over and over, even if
> no other bits are reported.
>
> The fix: ignore Card Interrupt bits in the interrupt status if we already know
> that mmc_signal_sdio_irq() is going to be called at the end of sdhci_irq().
>
> Signed-off-by: Alexey Neyman <stilor@xxxxxxx>

I also noticed this issue.
Your fix looks correct to me.
But as following community working way, you need send out patches formerly,
not attach a diff file.
You can refer to 'git send-email' or try with gmail.

BTW, please enrich your patch commit message.

Regards
Dong Aisheng
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/