linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/3] dw_mmc: add quirks unreliable detect and capabilities
@ 2011-02-25  2:08 Jaehoon Chung
  2011-02-25 17:58 ` Will Newton
  2011-03-17 18:17 ` Chris Ball
  0 siblings, 2 replies; 4+ messages in thread
From: Jaehoon Chung @ 2011-02-25  2:08 UTC (permalink / raw)
  To: linux-mmc@vger.kernel.org; +Cc: will.newton, Chris Ball, Kyungmin Park

This patch added quirks and capabilities in platdata.

Some card didn't use the CDn pin. In that case, We assume card inserted,
then the card initialized or not.
And Some board need other capabilities. So added capabilities in board platdata.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 drivers/mmc/host/dw_mmc.c  |   10 ++++++++--
 include/linux/mmc/dw_mmc.h |   10 +++++++---
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 338fedc..6c01b1e 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -730,7 +730,9 @@ static int dw_mci_get_cd(struct mmc_host *mmc)
 	struct dw_mci_board *brd = slot->host->pdata;
 
 	/* Use platform get_cd function, else try onboard card detect */
-	if (brd->get_cd)
+	if (brd->quirks & DW_MCI_QUIRK_BROKEN_CARD_DETECTION)
+		present = 1;
+	else if (brd->get_cd)
 		present = !brd->get_cd(slot->id);
 	else
 		present = (mci_readl(slot->host, CDETECT) & (1 << slot->id))
@@ -1408,7 +1410,11 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id)
 	if (host->pdata->setpower)
 		host->pdata->setpower(id, 0);
 
-	mmc->caps = 0;
+	if (host->pdata->caps)
+		mmc->caps = host->pdata->caps;
+	else
+		mmc->caps = 0;
+
 	if (host->pdata->get_bus_wd)
 		if (host->pdata->get_bus_wd(slot->id) >= 4)
 			mmc->caps |= MMC_CAP_4_BIT_DATA;
diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h
index a39c497..45b9298 100644
--- a/include/linux/mmc/dw_mmc.h
+++ b/include/linux/mmc/dw_mmc.h
@@ -168,11 +168,13 @@ struct dw_mci_dma_ops {
 
 /* IP Quirks/flags. */
 /* DTO fix for command transmission with IDMAC configured */
-#define DW_MCI_QUIRK_IDMAC_DTO		BIT(0)
+#define DW_MCI_QUIRK_IDMAC_DTO			BIT(0)
 /* delay needed between retries on some 2.11a implementations */
-#define DW_MCI_QUIRK_RETRY_DELAY	BIT(1)
+#define DW_MCI_QUIRK_RETRY_DELAY		BIT(1)
 /* High Speed Capable - Supports HS cards (upto 50MHz) */
-#define DW_MCI_QUIRK_HIGHSPEED		BIT(2)
+#define DW_MCI_QUIRK_HIGHSPEED			BIT(2)
+/* Unreliable card detection */
+#define DW_MCI_QUIRK_BROKEN_CARD_DETECTION	BIT(3)
 
 
 struct dma_pdata;
@@ -192,6 +194,8 @@ struct dw_mci_board {
 	u32 quirks; /* Workaround / Quirk flags */
 	unsigned int bus_hz; /* Bus speed */
 
+	unsigned int caps;	/* Capabilities */
+
 	/* delay in mS before detecting cards after interrupt */
 	u32 detect_delay_ms;
 

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

* Re: [PATCH 3/3] dw_mmc: add quirks unreliable detect and capabilities
  2011-02-25  2:08 [PATCH 3/3] dw_mmc: add quirks unreliable detect and capabilities Jaehoon Chung
@ 2011-02-25 17:58 ` Will Newton
  2011-03-17 10:22   ` Jaehoon Chung
  2011-03-17 18:17 ` Chris Ball
  1 sibling, 1 reply; 4+ messages in thread
From: Will Newton @ 2011-02-25 17:58 UTC (permalink / raw)
  To: Jaehoon Chung; +Cc: linux-mmc@vger.kernel.org, Chris Ball, Kyungmin Park

On Fri, Feb 25, 2011 at 2:08 AM, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> This patch added quirks and capabilities in platdata.
>
> Some card didn't use the CDn pin. In that case, We assume card inserted,
> then the card initialized or not.
> And Some board need other capabilities. So added capabilities in board platdata.
>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
>  drivers/mmc/host/dw_mmc.c  |   10 ++++++++--
>  include/linux/mmc/dw_mmc.h |   10 +++++++---
>  2 files changed, 15 insertions(+), 5 deletions(-)

Acked-by: Will Newton <will.newton@imgtec.com>

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

* Re: [PATCH 3/3] dw_mmc: add quirks unreliable detect and capabilities
  2011-02-25 17:58 ` Will Newton
@ 2011-03-17 10:22   ` Jaehoon Chung
  0 siblings, 0 replies; 4+ messages in thread
From: Jaehoon Chung @ 2011-03-17 10:22 UTC (permalink / raw)
  To: Will Newton
  Cc: Jaehoon Chung, linux-mmc@vger.kernel.org, Chris Ball,
	Kyungmin Park

Hi Chris..

I want to know your opinion..

Regards,
Jaehoon Chung

Will Newton wrote:
> On Fri, Feb 25, 2011 at 2:08 AM, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> This patch added quirks and capabilities in platdata.
>>
>> Some card didn't use the CDn pin. In that case, We assume card inserted,
>> then the card initialized or not.
>> And Some board need other capabilities. So added capabilities in board platdata.
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> ---
>>  drivers/mmc/host/dw_mmc.c  |   10 ++++++++--
>>  include/linux/mmc/dw_mmc.h |   10 +++++++---
>>  2 files changed, 15 insertions(+), 5 deletions(-)
> 
> Acked-by: Will Newton <will.newton@imgtec.com>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


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

* Re: [PATCH 3/3] dw_mmc: add quirks unreliable detect and capabilities
  2011-02-25  2:08 [PATCH 3/3] dw_mmc: add quirks unreliable detect and capabilities Jaehoon Chung
  2011-02-25 17:58 ` Will Newton
@ 2011-03-17 18:17 ` Chris Ball
  1 sibling, 0 replies; 4+ messages in thread
From: Chris Ball @ 2011-03-17 18:17 UTC (permalink / raw)
  To: Jaehoon Chung; +Cc: linux-mmc@vger.kernel.org, will.newton, Kyungmin Park

Hi,

On Thu, Feb 24 2011, Jaehoon Chung wrote:
> This patch added quirks and capabilities in platdata.
>
> Some card didn't use the CDn pin. In that case, We assume card inserted,
> then the card initialized or not.
> And Some board need other capabilities. So added capabilities in board platdata.
>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>

Thanks, will merge for .39 with Will's ACK.

-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

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

end of thread, other threads:[~2011-03-17 18:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-25  2:08 [PATCH 3/3] dw_mmc: add quirks unreliable detect and capabilities Jaehoon Chung
2011-02-25 17:58 ` Will Newton
2011-03-17 10:22   ` Jaehoon Chung
2011-03-17 18:17 ` Chris Ball

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).