dw_mmc: add quirks unreliable detect and capabilities
Subsystems (2)
Jaehoon Chung
maintainerPATCH 3/3 dw_mmc: add quirks unreliable detect and capabilities
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.
--- drivers/mmc/host/dw_mmc.c | 10 ++++++++-- include/linux/mmc/dw_mmc.h | 10 +++++++--- 2 files changed, 15 insertions(+), 5 deletions(-)
drivers/mmc/host/dw_mmc.c +8 -2
@@ -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 ;
include/linux/mmc/dw_mmc.h +7 -3
@@ -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;
Quoted 6 lines · Jaehoon Chung
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.
Quoted 6 lines
Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>---
drivers/mmc/host/dw_mmc.c | 10 ++++++++--
include/linux/mmc/dw_mmc.h | 10 +++++++---2 files changed, 15 insertions(+), 5 deletions(-)
Jaehoon Chung
maintainerHi Chris..
I want to know your opinion..
Regards,
Jaehoon Chung
Quoted 20 lines · Will Newton
Quoted 6 lines · Jaehoon Chung
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.Quoted 6 lines
Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>--- 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 <[email protected]>--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi,
Quoted 8 lines · Jaehoon Chung
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 <[email protected]>Signed-off-by Kyungmin Park <[email protected]>
Thanks, will merge for .39 with Will's ACK.
Signature · 2 lines
Chris Ball <[email protected]> <http://printf.net/> One Laptop Per Child