From: IAN CHEN <ian.cy.chen@samsung.com>
To: cjb@laptop.org, linkinjeon@gmail.com, adrian.hunter@intel.com,
subhashj@codeaurora.org, linus.walleij@linaro.org,
linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: d.j.shin@samsung.com, jongtae22.kim@samsung.com,
kyungmin.park@samsung.com, jh80.chung@samsung.com,
ian.cy.chen@samsung.com
Subject: [PATCH] mmc: card: Skip secure option for MoviNAND.
Date: Mon, 13 Aug 2012 18:50:37 +0900 [thread overview]
Message-ID: <5028CDED.2020307@samsung.com> (raw)
>From 5c60eb8be04c7440d6e33b8f72ea2046a3657ac4 Mon Sep 17 00:00:00 2001
From: ian.cy.chen <ian.cy.chen@samsung.com>
Date: Mon, 13 Aug 2012 10:53:55 +0900
Subject: [PATCH] mmc: card: Skip secure option for MoviNAND.
For several MoviNAND, there are some known issue with secure option.
For these specific MoviNAND device, we skip secure option.
Signed-off-by: Ian Chen <ian.cy.chen@samsung.com>
---
drivers/mmc/card/block.c | 24 +++++++++++++++++++++++-
include/linux/mmc/card.h | 1 +
2 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index f1c84de..9f47dbf 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -1411,7 +1411,8 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq,
struct request *req)
/* complete ongoing async transfer before issuing discard */
if (card->host->areq)
mmc_blk_issue_rw_rq(mq, NULL);
- if (req->cmd_flags & REQ_SECURE)
+ if (req->cmd_flags & REQ_SECURE &&
+ !(card->quirks & MMC_QUIRK_MOVINAND_SECURE))
ret = mmc_blk_issue_secdiscard_rq(mq, req);
else
ret = mmc_blk_issue_discard_rq(mq, req);
@@ -1716,6 +1717,7 @@ force_ro_fail:
#define CID_MANFID_SANDISK 0x2
#define CID_MANFID_TOSHIBA 0x11
#define CID_MANFID_MICRON 0x13
+#define CID_MANFID_SAMSUNG 0x15
static const struct mmc_fixup blk_fixups[] =
{
@@ -1752,6 +1754,26 @@ static const struct mmc_fixup blk_fixups[] =
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_MICRON, 0x200, add_quirk_mmc,
MMC_QUIRK_LONG_READ_TIME),
+ /*
+ * Some issue about secure erase/secure trim for Samsung MoviNAND
+ */
+ MMC_FIXUP("M8G2FA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+ MMC_FIXUP("MAG4FA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+ MMC_FIXUP("MBG8FA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+ MMC_FIXUP("MCGAFA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+ MMC_FIXUP("VAL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+ MMC_FIXUP("VYL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+ MMC_FIXUP("KYL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+ MMC_FIXUP("VZL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
+ MMC_QUIRK_MOVINAND_SECURE),
+
END_FIXUP
};
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 111aca5..4505a30 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -239,6 +239,7 @@ struct mmc_card {
#define MMC_QUIRK_BLK_NO_CMD23 (1<<7) /* Avoid CMD23 for
regular multiblock */
#define MMC_QUIRK_BROKEN_BYTE_MODE_512 (1<<8) /* Avoid sending 512
bytes in */
#define MMC_QUIRK_LONG_READ_TIME (1<<9) /* Data read time > CSD
says */
+#define MMC_QUIRK_MOVINAND_SECURE (1<<10) /* MoviNAND secure issue */
/* byte mode */
unsigned int poweroff_notify_state; /* eMMC4.5 notify feature */
#define MMC_NO_POWER_NOTIFICATION 0
--
1.7.0.4
next reply other threads:[~2012-08-13 9:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-13 9:50 IAN CHEN [this message]
2012-08-13 13:02 ` [PATCH] mmc: card: Skip secure option for MoviNAND Namjae Jeon
2012-08-14 2:10 ` IAN CHEN
2012-08-14 2:12 ` IAN CHEN
2012-08-14 3:51 ` Namjae Jeon
2012-08-14 8:03 ` Linus Walleij
2012-08-13 13:39 ` Linus Walleij
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=5028CDED.2020307@samsung.com \
--to=ian.cy.chen@samsung.com \
--cc=adrian.hunter@intel.com \
--cc=cjb@laptop.org \
--cc=d.j.shin@samsung.com \
--cc=jh80.chung@samsung.com \
--cc=jongtae22.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linkinjeon@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=subhashj@codeaurora.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 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).