All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrei Warkentin <andreiw@motorola.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-mmc@vger.kernel.org, arindam.nath@amd.com, cjb@laptop.org
Subject: Re: [patchv3 2/5] MMC: Use CMD23 for multiblock transfers when we can.
Date: Sun, 17 Apr 2011 14:27:59 -0500	[thread overview]
Message-ID: <BANLkTikt79z3zUPrA+hdWGAG6t-AWR8n4w@mail.gmail.com> (raw)
In-Reply-To: <201104171923.31039.arnd@arndb.de>

Hi Arnd,

On Sun, Apr 17, 2011 at 12:23 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Saturday 16 April 2011, Andrei Warkentin wrote:
>> @@ -982,6 +1016,26 @@ static const struct mmc_fixup blk_fixups[] =
>>         MMC_FIXUP("SEM08G", 0x2, 0x100, add_quirk, MMC_QUIRK_INAND_CMD38),
>>         MMC_FIXUP("SEM16G", 0x2, 0x100, add_quirk, MMC_QUIRK_INAND_CMD38),
>>         MMC_FIXUP("SEM32G", 0x2, 0x100, add_quirk, MMC_QUIRK_INAND_CMD38),
>> +
>> +       /*
>> +        * Some MMC cards experience performance degradation with CMD23
>> +        * instead of CMD12-bounded multiblock transfers. For now we'll
>> +        * white list what's good:
>> +        * 1) Certain SanDisk eMMCs with the old MMCA manfid.
>> +        * 2) All new SanDisk products.
>> +        *
>> +        * N.B. This doesn't affect SD cards.
>> +        */
>> +       MMC_FIXUP(CID_NAME_ANY, CID_MANFID_ANY, CID_OEMID_ANY, add_quirk_mmc,
>> +                 MMC_QUIRK_BLK_NO_CMD23),
>> +       MMC_FIXUP("SEM04G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23),
>> +       MMC_FIXUP("SEM08G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23),
>> +       MMC_FIXUP("SEM16G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23),
>> +       MMC_FIXUP("SEM32G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23),
>> +       MMC_FIXUP("SEM02G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23),
>> +       MMC_FIXUP(CID_NAME_ANY, 0x45, CID_OEMID_ANY,
>> +                 remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23),
>> +
>>         END_FIXUP
>>  };
>
> Shouldn't this better be a blacklist for known bad cards?
>
> As far as I can tell, we should always use CMD23 where possible.
>
>        Arnd
>

Unfortunately it's unknown yet for how many MMC cards this could be a
regression. So far it's a regression for Toshiba MMC32G/MMC16G/MMC08G
cards because they don't do anything with the advanced knowledge of
transfer size, and not using CMD12 seems somehow to interfere with
some internal optimization, resulting in a real-life degradation of
about 8-10%.  According to Sandisk, all their newer products (MMC spec
4.3+) should be good (with new manfid), and I am stilll waiting for
specifics for older cards. I (well, and another person at MMI) are
collecting some more data for more newer eMMC devices to get a clearer
picture, and I am trying to get word on whether newer Toshiba devices
should work better with CMD23.

A

  reply	other threads:[~2011-04-17 19:28 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-14  0:38 SET_BLOCK_COUNT-bounded multiblock transfers Andrei Warkentin
2011-04-14  0:03 ` Andrei Warkentin
2011-04-14  9:05   ` Gao, Yunpeng
2011-04-14 22:58     ` Andrei Warkentin
2011-04-14 23:18       ` Chris Ball
2011-04-15  7:10         ` Andrei Warkentin
2011-04-15 17:29           ` Andrei Warkentin
2011-04-14  0:38 ` [RFC 1/3] MMC: use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-14  0:38 ` [RFC 2/3] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-14  0:38 ` [RFC 3/3] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-15 23:51 ` [patchv2 1/3] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-15 23:51 ` [patchv2 2/3] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-15 23:51 ` [patchv2 3/3] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-16 10:40 ` CMD23 plumbing and support patchset Andrei Warkentin
2011-04-21  1:44   ` Chris Ball
2011-04-21  6:29     ` Andrei Warkentin
2011-04-21  6:30       ` Andrei Warkentin
2011-04-22  3:53         ` Andrei Warkentin
2011-04-23  2:51           ` Chris Ball
2011-04-26 23:30             ` Andrei Warkentin
2011-04-27  2:10   ` CMD23 plumbing patchset Andrei Warkentin
2011-04-27  2:10     ` [[v4] 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-04-27  2:10       ` [[v4] 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-27  2:10         ` [[v4] 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-27  2:10           ` [[v4] 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-27  2:10             ` [[v4] 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-04-27  5:49               ` Nath, Arindam
2011-04-27  5:59                 ` Andrei Warkentin
2011-04-27  6:02                   ` Nath, Arindam
2011-04-27  6:05                     ` Andrei Warkentin
2011-04-28  8:34                       ` Nath, Arindam
2011-04-28 19:09                         ` Andrei Warkentin
2011-04-29  5:34                           ` Nath, Arindam
2011-05-19  2:37         ` [[v4] 2/5] MMC: Use CMD23 for multiblock transfers when we can Jaehoon Chung
2011-05-19 17:01           ` Andrei Warkentin
2011-05-20  4:38             ` Jaehoon Chung
     [not found]               ` <BANLkTik72KgftDWz6aNn=zGDqj1uMpwnYw@mail.gmail.com>
2011-05-20  6:54                 ` Andrei Warkentin
2011-05-20  9:05                   ` Jaehoon Chung
2011-05-23 12:40                   ` Jaehoon Chung
2011-05-23 19:25                     ` Andrei Warkentin
2011-05-23 19:33                       ` Andrei Warkentin
2011-05-23 19:34                     ` Andrei Warkentin
2011-05-23 20:45                       ` Andrei Warkentin
2011-05-24  0:07                       ` Jaehoon Chung
2011-04-29 23:25     ` CMD23 plumbing patchset Andrei Warkentin
2011-05-19 21:46     ` Andrei Warkentin
2011-05-23 20:06       ` Andrei Warkentin
2011-05-25  2:51         ` Chris Ball
2011-05-23 20:06       ` [v6 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-05-23 20:06       ` [v6 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-05-23 20:06       ` [v6 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-05-23 20:06       ` [v6 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-05-24  6:01         ` Nath, Arindam
2011-05-23 20:06       ` [v6 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-05-24 23:27         ` Chris Ball
2011-05-25  0:37           ` Andrei Warkentin
2011-05-19 21:46     ` [v5 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-05-19 21:46     ` [v5 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-05-20 10:29       ` Jaehoon Chung
2011-05-20 18:12         ` Andrei Warkentin
2011-05-19 21:46     ` [v5 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-05-19 21:46     ` [v5 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-05-20 10:38       ` Nath, Arindam
2011-05-20 18:09         ` Andrei Warkentin
2011-05-19 21:46     ` [v5 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-05-20 10:46       ` Nath, Arindam
2011-05-20 18:08         ` Andrei Warkentin
2011-04-16 10:40 ` [patchv3 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-04-16 10:40 ` [patchv3 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-17 17:23   ` Arnd Bergmann
2011-04-17 19:27     ` Andrei Warkentin [this message]
2011-04-19  3:44     ` Andrei Warkentin
2011-04-19  7:39       ` Arnd Bergmann
2011-04-19 15:18         ` Andrei Warkentin
2011-04-16 10:40 ` [patchv3 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-16 10:40 ` [patchv3 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-16 16:19   ` Nath, Arindam
2011-04-16 23:00     ` Andrei Warkentin
2011-04-16 23:38   ` [PATCH] " Andrei Warkentin
2011-04-16 10:40 ` [patchv3 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-04-17 17:25   ` Arnd Bergmann
2011-04-17 19:31     ` Andrei Warkentin
2011-04-19  3:05       ` Andrei Warkentin
2011-04-19  3:19         ` Nath, Arindam
2011-04-19  3:32           ` Andrei Warkentin

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=BANLkTikt79z3zUPrA+hdWGAG6t-AWR8n4w@mail.gmail.com \
    --to=andreiw@motorola.com \
    --cc=arindam.nath@amd.com \
    --cc=arnd@arndb.de \
    --cc=cjb@laptop.org \
    --cc=linux-mmc@vger.kernel.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.