[PATCH] powerpc/esdhc: enable the card insert/remove interrupt

Huang Changming-R66093 r66093 at freescale.com
Thu Oct 25 21:05:44 EST 2012


Hi, Anton.
Could you have any comment about it?
If not, I will resend this patch with v2.

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 Huang Changming-R66093
> Sent: Tuesday, October 23, 2012 4:40 PM
> To: Anton Vorontsov
> Cc: linux-mmc at vger.kernel.org; Chris Ball; Kumar Gala; linuxppc-
> dev at lists.ozlabs.org
> Subject: RE: [PATCH] powerpc/esdhc: enable the card insert/remove
> interrupt
> 
> 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
> 
> N     r  y   b X  ǧv ^ )޺{.n +    {  g"  ^n r   z   h    &  
 G   h
> ( 階 ݢj"   m     z ޖ   f   h   ~ m


More information about the Linuxppc-dev mailing list