diff mbox

[2/2] mmc: sdhci-pltfm: enable interrupt mode to detect card

Message ID 1431505246-40102-1-git-send-email-yangbo.lu@freescale.com (mailing list archive)
State Superseded
Headers show

Commit Message

Yangbo Lu May 13, 2015, 8:20 a.m. UTC
Enable interrupt mode to detect card instead of polling mode
for P1020/P4080/P5020/P5040/T1040 by removing the quirk
SDHCI_QUIRK_BROKEN_CARD_DETECTION. This could improve data
transferring performance and avoid the call trace caused by
polling card status sometime.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
---
 drivers/mmc/host/sdhci-pltfm.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Scott Wood May 13, 2015, 4:37 p.m. UTC | #1
On Wed, 2015-05-13 at 16:20 +0800, Yangbo Lu wrote:
> Enable interrupt mode to detect card instead of polling mode
> for P1020/P4080/P5020/P5040/T1040 by removing the quirk
> SDHCI_QUIRK_BROKEN_CARD_DETECTION. This could improve data
> transferring performance and avoid the call trace caused by
> polling card status sometime.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> ---
>  drivers/mmc/host/sdhci-pltfm.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
> index c5b01d6..62f4049 100644
> --- a/drivers/mmc/host/sdhci-pltfm.c
> +++ b/drivers/mmc/host/sdhci-pltfm.c
> @@ -102,6 +102,13 @@ void sdhci_get_of_property(struct platform_device *pdev)
>  		    of_device_is_compatible(np, "fsl,mpc8536-esdhc"))
>  			host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
>  
> +		if (of_device_is_compatible(np, "fsl,p5040-esdhc") ||
> +			of_device_is_compatible(np, "fsl,p5020-esdhc") ||
> +			of_device_is_compatible(np, "fsl,p4080-esdhc") ||
> +			of_device_is_compatible(np, "fsl,p1020-esdhc") ||
> +			of_device_is_compatible(np, "fsl,t1040-esdhc"))
> +			host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;

Please don't line up continuation lines with the if-body.  All of the
"of_device_is_compatibles" should start in the same column.

Given that you need to modify the device tree for this, why not just use
SVR?

-Scott
Yangbo Lu May 14, 2015, 6:29 a.m. UTC | #2
> -----Original Message-----

> From: Wood Scott-B07421

> Sent: Thursday, May 14, 2015 12:37 AM

> To: Lu Yangbo-B47093

> Cc: linuxppc-dev@lists.ozlabs.org; linux-kernel@vger.kernel.org

> Subject: Re: [PATCH 2/2] mmc: sdhci-pltfm: enable interrupt mode to

> detect card

> 

> On Wed, 2015-05-13 at 16:20 +0800, Yangbo Lu wrote:

> > Enable interrupt mode to detect card instead of polling mode for

> > P1020/P4080/P5020/P5040/T1040 by removing the quirk

> > SDHCI_QUIRK_BROKEN_CARD_DETECTION. This could improve data

> > transferring performance and avoid the call trace caused by polling

> > card status sometime.

> >

> > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>

> > ---

> >  drivers/mmc/host/sdhci-pltfm.c | 7 +++++++

> >  1 file changed, 7 insertions(+)

> >

> > diff --git a/drivers/mmc/host/sdhci-pltfm.c

> > b/drivers/mmc/host/sdhci-pltfm.c index c5b01d6..62f4049 100644

> > --- a/drivers/mmc/host/sdhci-pltfm.c

> > +++ b/drivers/mmc/host/sdhci-pltfm.c

> > @@ -102,6 +102,13 @@ void sdhci_get_of_property(struct platform_device

> *pdev)

> >  		    of_device_is_compatible(np, "fsl,mpc8536-esdhc"))

> >  			host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;

> >

> > +		if (of_device_is_compatible(np, "fsl,p5040-esdhc") ||

> > +			of_device_is_compatible(np, "fsl,p5020-esdhc") ||

> > +			of_device_is_compatible(np, "fsl,p4080-esdhc") ||

> > +			of_device_is_compatible(np, "fsl,p1020-esdhc") ||

> > +			of_device_is_compatible(np, "fsl,t1040-esdhc"))

> > +			host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;

> 

> Please don't line up continuation lines with the if-body.  All of the

> "of_device_is_compatibles" should start in the same column.

Ok, thanks.
> 

> Given that you need to modify the device tree for this, why not just use

> SVR?

The drivers/mmc/host/sdhci-pltfm.c is not only used by freescale platform. So we couldn’t to use SVR here.
Thanks.
Scott Wood May 14, 2015, 8:21 p.m. UTC | #3
On Thu, 2015-05-14 at 01:29 -0500, Lu Yangbo-B47093 wrote:
> 
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Thursday, May 14, 2015 12:37 AM
> > To: Lu Yangbo-B47093
> > Cc: linuxppc-dev@lists.ozlabs.org; linux-kernel@vger.kernel.org
> > Subject: Re: [PATCH 2/2] mmc: sdhci-pltfm: enable interrupt mode to
> > detect card
> > 
> > On Wed, 2015-05-13 at 16:20 +0800, Yangbo Lu wrote:
> > > Enable interrupt mode to detect card instead of polling mode for
> > > P1020/P4080/P5020/P5040/T1040 by removing the quirk
> > > SDHCI_QUIRK_BROKEN_CARD_DETECTION. This could improve data
> > > transferring performance and avoid the call trace caused by polling
> > > card status sometime.
> > >
> > > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> > > ---
> > >  drivers/mmc/host/sdhci-pltfm.c | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > >
> > > diff --git a/drivers/mmc/host/sdhci-pltfm.c
> > > b/drivers/mmc/host/sdhci-pltfm.c index c5b01d6..62f4049 100644
> > > --- a/drivers/mmc/host/sdhci-pltfm.c
> > > +++ b/drivers/mmc/host/sdhci-pltfm.c
> > > @@ -102,6 +102,13 @@ void sdhci_get_of_property(struct platform_device
> > *pdev)
> > >  		    of_device_is_compatible(np, "fsl,mpc8536-esdhc"))
> > >  			host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
> > >
> > > +		if (of_device_is_compatible(np, "fsl,p5040-esdhc") ||
> > > +			of_device_is_compatible(np, "fsl,p5020-esdhc") ||
> > > +			of_device_is_compatible(np, "fsl,p4080-esdhc") ||
> > > +			of_device_is_compatible(np, "fsl,p1020-esdhc") ||
> > > +			of_device_is_compatible(np, "fsl,t1040-esdhc"))
> > > +			host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
> > 
> > Please don't line up continuation lines with the if-body.  All of the
> > "of_device_is_compatibles" should start in the same column.
> Ok, thanks.
> > 
> > Given that you need to modify the device tree for this, why not just use
> > SVR?
> The drivers/mmc/host/sdhci-pltfm.c is not only used by freescale platform. So we couldn’t to use SVR here.
> Thanks. 

I'm sure there'd be ways of rearranging it to make it work, but OK.

Please send these patches to the MMC list and maintainer (and CC me).  I
can ACK the first one or apply it separately.

-Scott
Yangbo Lu May 15, 2015, 2:31 a.m. UTC | #4
> -----Original Message-----

> From: Wood Scott-B07421

> Sent: Friday, May 15, 2015 4:22 AM

> To: Lu Yangbo-B47093

> Cc: linuxppc-dev@lists.ozlabs.org; linux-kernel@vger.kernel.org

> Subject: Re: [PATCH 2/2] mmc: sdhci-pltfm: enable interrupt mode to

> detect card

> 

> On Thu, 2015-05-14 at 01:29 -0500, Lu Yangbo-B47093 wrote:

> >

> >

> > > -----Original Message-----

> > > From: Wood Scott-B07421

> > > Sent: Thursday, May 14, 2015 12:37 AM

> > > To: Lu Yangbo-B47093

> > > Cc: linuxppc-dev@lists.ozlabs.org; linux-kernel@vger.kernel.org

> > > Subject: Re: [PATCH 2/2] mmc: sdhci-pltfm: enable interrupt mode to

> > > detect card

> > >

> > > On Wed, 2015-05-13 at 16:20 +0800, Yangbo Lu wrote:

> > > > Enable interrupt mode to detect card instead of polling mode for

> > > > P1020/P4080/P5020/P5040/T1040 by removing the quirk

> > > > SDHCI_QUIRK_BROKEN_CARD_DETECTION. This could improve data

> > > > transferring performance and avoid the call trace caused by

> > > > polling card status sometime.

> > > >

> > > > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>

> > > > ---

> > > >  drivers/mmc/host/sdhci-pltfm.c | 7 +++++++

> > > >  1 file changed, 7 insertions(+)

> > > >

> > > > diff --git a/drivers/mmc/host/sdhci-pltfm.c

> > > > b/drivers/mmc/host/sdhci-pltfm.c index c5b01d6..62f4049 100644

> > > > --- a/drivers/mmc/host/sdhci-pltfm.c

> > > > +++ b/drivers/mmc/host/sdhci-pltfm.c

> > > > @@ -102,6 +102,13 @@ void sdhci_get_of_property(struct

> > > > platform_device

> > > *pdev)

> > > >  		    of_device_is_compatible(np, "fsl,mpc8536-esdhc"))

> > > >  			host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;

> > > >

> > > > +		if (of_device_is_compatible(np, "fsl,p5040-esdhc") ||

> > > > +			of_device_is_compatible(np, "fsl,p5020-esdhc") ||

> > > > +			of_device_is_compatible(np, "fsl,p4080-esdhc") ||

> > > > +			of_device_is_compatible(np, "fsl,p1020-esdhc") ||

> > > > +			of_device_is_compatible(np, "fsl,t1040-esdhc"))

> > > > +			host->quirks &=

> ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;

> > >

> > > Please don't line up continuation lines with the if-body.  All of

> > > the "of_device_is_compatibles" should start in the same column.

> > Ok, thanks.

> > >

> > > Given that you need to modify the device tree for this, why not just

> > > use SVR?

> > The drivers/mmc/host/sdhci-pltfm.c is not only used by freescale

> platform. So we couldn’t to use SVR here.

> > Thanks.

> 

> I'm sure there'd be ways of rearranging it to make it work, but OK.

> 

> Please send these patches to the MMC list and maintainer (and CC me).  I

> can ACK the first one or apply it separately.

> 

Thank you very much.

Best regards,
Yangbo Lu
diff mbox

Patch

diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
index c5b01d6..62f4049 100644
--- a/drivers/mmc/host/sdhci-pltfm.c
+++ b/drivers/mmc/host/sdhci-pltfm.c
@@ -102,6 +102,13 @@  void sdhci_get_of_property(struct platform_device *pdev)
 		    of_device_is_compatible(np, "fsl,mpc8536-esdhc"))
 			host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
 
+		if (of_device_is_compatible(np, "fsl,p5040-esdhc") ||
+			of_device_is_compatible(np, "fsl,p5020-esdhc") ||
+			of_device_is_compatible(np, "fsl,p4080-esdhc") ||
+			of_device_is_compatible(np, "fsl,p1020-esdhc") ||
+			of_device_is_compatible(np, "fsl,t1040-esdhc"))
+			host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
+
 		clk = of_get_property(np, "clock-frequency", &size);
 		if (clk && size == sizeof(*clk) && *clk)
 			pltfm_host->clock = be32_to_cpup(clk);