From: Seungwon Jeon <tgih.jun@samsung.com>
To: 'Jaehoon Chung' <jh80.chung@samsung.com>, linux-mmc@vger.kernel.org
Cc: 'Chris Ball' <chris@printf.net>, 'Ulf Hansson' <ulf.hansson@linaro.org>
Subject: RE: [PATCH v3 8/8] mmc: dw_mmc: fix the checking whether card is present
Date: Thu, 06 Feb 2014 20:29:52 +0900 [thread overview]
Message-ID: <002a01cf232e$c0d44bc0$427ce340$%jun@samsung.com> (raw)
In-Reply-To: <52EF7A5B.3030902@samsung.com>
On Mon, February 03, 2014, Jaehoon Chung wrote:
> Broken card detection is assumed "the card is present".
> Non-removable card didn't call get_cd().
> dw-mmc controller didn't check whether card is present or not.
> Because DW_MMC_CARD_PRESENT flag is set into dw_mci_get_cd().
> If cd-pin is used, then dw_mci_get_cd() is called.
>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> ---
> drivers/mmc/host/dw_mmc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index ac2907d..0d6ab8f 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -910,6 +910,7 @@ static void dw_mci_request(struct mmc_host *mmc, struct mmc_request *mrq)
> {
> struct dw_mci_slot *slot = mmc_priv(mmc);
> struct dw_mci *host = slot->host;
> + struct dw_mci_board *brd = host->pdata;
>
> WARN_ON(slot->mrq);
>
> @@ -920,7 +921,8 @@ static void dw_mci_request(struct mmc_host *mmc, struct mmc_request *mrq)
> */
> spin_lock_bh(&host->lock);
>
> - if (!test_bit(DW_MMC_CARD_PRESENT, &slot->flags)) {
> + if (!(brd->quirks & DW_MCI_QUIRK_BROKEN_CARD_DETECTION) &&
> + !test_bit(DW_MMC_CARD_PRESENT, &slot->flags)) {
I think 'non-removable' property doesn't indicate DW_MCI_QUIRK_BROKEN_CARD_DETECTION.
Actually DW_MCI_QUIRK_BROKEN_CARD_DETECTION is set with 'broken-cd' property as quirk.
Still, DW_MMC_CARD_PRESENT flag won't be set with 'non-removable' property.
The following part was removed from commit bf626e5(mmc: dw_mmc: use slot-gpio to handle cd pin).
It would be better to restore that to resolved this problem.
<Quoted>
static int dw_mci_init_slot(struct dw_mci *host, unsigned int id)
@@ -2197,12 +2223,8 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id)
#endif /* CONFIG_MMC_DW_IDMAC */
}
- if (dw_mci_get_cd(mmc))
- set_bit(DW_MMC_CARD_PRESENT, &slot->flags);
- else
- clear_bit(DW_MMC_CARD_PRESENT, &slot->flags);
-
</Quoted>
Then, Needed to check 'non-removable' case in dw_mci_get_cd().
I think MMC_CAP_NONREMOVABLE is useful.
Thanks,
Seungwon Jeon
next prev parent reply other threads:[~2014-02-06 11:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-03 11:15 [PATCH v3 8/8] mmc: dw_mmc: fix the checking whether card is present Jaehoon Chung
2014-02-06 11:29 ` Seungwon Jeon [this message]
2014-02-07 2:45 ` Jaehoon Chung
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='002a01cf232e$c0d44bc0$427ce340$%jun@samsung.com' \
--to=tgih.jun@samsung.com \
--cc=chris@printf.net \
--cc=jh80.chung@samsung.com \
--cc=linux-mmc@vger.kernel.org \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.