[PATCH] powerpc/esdhc: enable the card insert/remove interrupt
Huang Changming-R66093
r66093 at freescale.com
Tue Oct 23 19:39:44 EST 2012
Hi, Anton
For FSL SOCs, the interrupt mode is support for card detect.
For some reasons, some board can't support this feature, such as mpc837xmds board,
but mpc837xrdb board support it.
I see your links, it is about the DMA (the first version of p2020 don't support DMA, need to enable the PIO mode, but the later version has fixed this issue).
Best Regards
Jerry Huang
> -----Original Message-----
> From: linux-mmc-owner at vger.kernel.org [mailto:linux-mmc-
> owner at vger.kernel.org] On Behalf Of Anton Vorontsov
> Sent: Tuesday, October 23, 2012 4:27 PM
> To: Huang Changming-R66093
> Cc: linux-mmc at vger.kernel.org; Huang Changming-R66093; Chris Ball; Kumar
> Gala; linuxppc-dev at lists.ozlabs.org
> Subject: Re: [PATCH] powerpc/esdhc: enable the card insert/remove
> interrupt
>
> On Tue, Oct 23, 2012 at 03:01:17PM +0800, r66093 at freescale.com wrote:
> > From: Jerry Huang <Chang-Ming.Huang at freescale.com>
> >
> > The current eSDHC driver use the poll mode to detect if the SD/MMC
> > card is inserted or removed, which will generate many interrupts and
> > impact the performance.
> > Therefore, change the default card detect to interrupt mode, if the
> > board can't support this mode, we still use the poll mode.
> >
> > Signed-off-by: Jerry Huang <Chang-Ming.Huang at freescale.com>
> > CC: Anton Vorontsov <cbouatmailru at gmail.com>
> > CC: Chris Ball <cjb at laptop.org>
> > ---
>
> IIRC, the card detection is broken SOC-revision-wise, not board-wise. So
> the change seems wrong.
>
> Also, take a look at this:
>
> http://lkml.org/lkml/2010/7/14/127
>
> I started the work but never finished, unfortunately it caused some
> regressions for non-FSL hardware...
>
> > drivers/mmc/host/sdhci-of-esdhc.c | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/mmc/host/sdhci-of-esdhc.c
> > b/drivers/mmc/host/sdhci-of-esdhc.c
> > index ffc1226..5dc362f 100644
> > --- a/drivers/mmc/host/sdhci-of-esdhc.c
> > +++ b/drivers/mmc/host/sdhci-of-esdhc.c
> > @@ -196,6 +196,11 @@ static void esdhc_of_detect_limitation(struct
> platform_device *pdev,
> > if (vvn == VENDOR_V_22)
> > pdata->quirks2 |= SDHCI_QUIRK2_HOST_NO_CMD23;
> >
> > + /* P4080DS and MPC837XMDS board don't support interrupt mode */
> > + if (of_machine_is_compatible("fsl,mpc837xmds") ||
> > + of_machine_is_compatible("fsl,P4080DS"))
> > + pdata->quirks |= SDHCI_QUIRK_BROKEN_CARD_DETECTION;
> > +
> > iounmap(ioaddr);
> > end:
> > return;
> > @@ -223,7 +228,7 @@ static struct sdhci_pltfm_data sdhci_esdhc_pdata =
> {
> > * card detection could be handled via GPIO
> > * eSDHC cannot support End Attribute in NOP ADMA descriptor
> > */
> > - .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_BROKEN_CARD_DETECTION
> > + .quirks = ESDHC_DEFAULT_QUIRKS
> > | SDHCI_QUIRK_NO_CARD_NO_RESET
> > | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
> > .ops = &sdhci_esdhc_ops,
> > --
> > 1.7.9.5
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo at vger.kernel.org More majordomo info at
> http://vger.kernel.org/majordomo-info.html
More information about the Linuxppc-dev
mailing list