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
--
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

Reply via email to