public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] SDHCI: add no hi-speed bit quirk support
@ 2010-06-05  4:50 Kyungmin Park
  0 siblings, 0 replies; 3+ messages in thread
From: Kyungmin Park @ 2010-06-05  4:50 UTC (permalink / raw)
  To: linux-mmc, akpm

Some SDHCI controllr like s5pc110 doesn't have HISPD bit at HOSTCTL register.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index c6d1bd8..cba08ce 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1164,7 +1164,8 @@ static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 	else
 		ctrl &= ~SDHCI_CTRL_4BITBUS;
 
-	if (ios->timing == MMC_TIMING_SD_HS)
+	if (ios->timing == MMC_TIMING_SD_HS &&
+	    !(host->quirks & SDHCI_QUIRK_NO_HISPD_BIT))
 		ctrl |= SDHCI_CTRL_HISPD;
 	else
 		ctrl &= ~SDHCI_CTRL_HISPD;
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index c846813..a78152d 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -240,6 +240,8 @@ struct sdhci_host {
 #define SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN		(1<<25)
 /* Controller cannot support End Attribute in NOP ADMA descriptor */
 #define SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC		(1<<26)
+/* Controller doesn't have HISPD bit field in HI-SPEED SD card */
+#define SDHCI_QUIRK_NO_HISPD_BIT			(1<<27)
 
 	int			irq;		/* Device IRQ */
 	void __iomem *		ioaddr;		/* Mapped address */

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH] SDHCI: add no hi-speed bit quirk support
       [not found]   ` <AANLkTinpth-JO7pIOWXbnuUWXM3xQ1OnFKkfESwi0cP3@mail.gmail.com>
@ 2010-06-07  7:58     ` Kukjin Kim
  0 siblings, 0 replies; 3+ messages in thread
From: Kukjin Kim @ 2010-06-07  7:58 UTC (permalink / raw)
  To: 'Kyungmin Park'; +Cc: linux-mmc

Kyungmin Park wrote:
>
> Some SDHCI controllr like s5pc110 doesn't have HISPD bit at HOSTCTL
register.
> 
> Signed-off-by: Kyungmin Park <kyungmin.park <at> samsung.com>
> ---
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index c6d1bd8..cba08ce 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -1164,7 +1164,8 @@ static void sdhci_set_ios(struct mmc_host *mmc,
struct mmc_ios *ios)
>  	else
>  		ctrl &= ~SDHCI_CTRL_4BITBUS;
> 
> -	if (ios->timing == MMC_TIMING_SD_HS)
> +	if (ios->timing == MMC_TIMING_SD_HS &&
> +	    !(host->quirks & SDHCI_QUIRK_NO_HISPD_BIT))

host->quirks |= SDHCI_QURIK_NO_HISPD_BIT missed in
drivers/mmc/host/sdhci-s3c.c

>  		ctrl |= SDHCI_CTRL_HISPD;
>  	else
>  		ctrl &= ~SDHCI_CTRL_HISPD;
> diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
> index c846813..a78152d 100644
> --- a/drivers/mmc/host/sdhci.h
> +++ b/drivers/mmc/host/sdhci.h
> @@ -240,6 +240,8 @@ struct sdhci_host {
>  #define SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN		(1<<25)
>  /* Controller cannot support End Attribute in NOP ADMA descriptor */
>  #define SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC		(1<<26)
> +/* Controller doesn't have HISPD bit field in HI-SPEED SD card */
> +#define SDHCI_QUIRK_NO_HISPD_BIT			(1<<27)
> 
>  	int			irq;		/* Device IRQ */
>  	void __iomem *		ioaddr;		/* Mapped address */

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] SDHCI: add no hi-speed bit quirk support
@ 2010-06-07  8:02 Kukjin Kim
  0 siblings, 0 replies; 3+ messages in thread
From: Kukjin Kim @ 2010-06-07  8:02 UTC (permalink / raw)
  To: kyungmin.park; +Cc: linux-mmc

Kyungmin Park wrote:
>
> Some SDHCI controllr like s5pc110 doesn't have HISPD bit at HOSTCTL
register.
> 
typo

> Signed-off-by: Kyungmin Park <kyungmin.park <at> samsung.com>
> ---
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index c6d1bd8..cba08ce 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -1164,7 +1164,8 @@ static void sdhci_set_ios(struct mmc_host *mmc,
struct mmc_ios *ios)
>  	else
>  		ctrl &= ~SDHCI_CTRL_4BITBUS;
> 
> -	if (ios->timing == MMC_TIMING_SD_HS)
> +	if (ios->timing == MMC_TIMING_SD_HS &&
> +	    !(host->quirks & SDHCI_QUIRK_NO_HISPD_BIT))

host->quirks |= SDHCI_QURIK_NO_HISPD_BIT missed in
drivers/mmc/host/sdhci-s3c.c

>  		ctrl |= SDHCI_CTRL_HISPD;
>  	else
>  		ctrl &= ~SDHCI_CTRL_HISPD;
> diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
> index c846813..a78152d 100644
> --- a/drivers/mmc/host/sdhci.h
> +++ b/drivers/mmc/host/sdhci.h
> @@ -240,6 +240,8 @@ struct sdhci_host {
>  #define SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN		(1<<25)
>  /* Controller cannot support End Attribute in NOP ADMA descriptor */
>  #define SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC		(1<<26)
> +/* Controller doesn't have HISPD bit field in HI-SPEED SD card */
> +#define SDHCI_QUIRK_NO_HISPD_BIT			(1<<27)
> 
>  	int			irq;		/* Device IRQ */
>  	void __iomem *		ioaddr;		/* Mapped address */

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-06-07  8:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-05  4:50 [PATCH] SDHCI: add no hi-speed bit quirk support Kyungmin Park
     [not found] <1275647794-30634-1-git-send-email-kgene.kim@samsung.com>
     [not found] ` <1275647794-30634-2-git-send-email-kgene.kim@samsung.com>
     [not found]   ` <AANLkTinpth-JO7pIOWXbnuUWXM3xQ1OnFKkfESwi0cP3@mail.gmail.com>
2010-06-07  7:58     ` Kukjin Kim
  -- strict thread matches above, loose matches on Subject: below --
2010-06-07  8:02 Kukjin Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox