Lines Matching +full:broken +full:- +full:hpi

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * This file contains work-arounds for many known SD/MMC
25 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
33 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
61 * instead of CMD12-bounded multiblock transfers. For now we'll
63 * - Certain Toshiba cards.
67 MMC_FIXUP("SDMB-32", CID_MANFID_SANDISK, CID_OEMID_ANY, add_quirk_mmc,
126 * Micron MTFC4GACAJCN-1M supports TRIM but does not appear to support
134 * Kingston EMMC04G-M627 advertises TRIM but it does not seems to
151 * Certain Hynix eMMC 4.41 cards might get broken when HPI feature
152 * is used so disable the HPI feature for such buggy cards.
157 * Certain Micron (Numonyx) eMMC 4.5 cards might get broken when HPI
158 * feature is used so disable the HPI feature for such buggy cards.
208 for_each_child_of_node(mmc_dev(card->host)->of_node, np) { in mmc_fixup_of_compatible_match()
224 for (f = table; f->vendor_fixup; f++) { in mmc_fixup_device()
225 if (f->manfid != CID_MANFID_ANY && in mmc_fixup_device()
226 f->manfid != card->cid.manfid) in mmc_fixup_device()
228 if (f->oemid != CID_OEMID_ANY && in mmc_fixup_device()
229 f->oemid != card->cid.oemid) in mmc_fixup_device()
231 if (f->name != CID_NAME_ANY && in mmc_fixup_device()
232 strncmp(f->name, card->cid.prod_name, in mmc_fixup_device()
233 sizeof(card->cid.prod_name))) in mmc_fixup_device()
235 if (f->cis_vendor != (u16)SDIO_ANY_ID && in mmc_fixup_device()
236 f->cis_vendor != card->cis.vendor) in mmc_fixup_device()
238 if (f->cis_device != (u16)SDIO_ANY_ID && in mmc_fixup_device()
239 f->cis_device != card->cis.device) in mmc_fixup_device()
241 if (f->ext_csd_rev != EXT_CSD_REV_ANY && in mmc_fixup_device()
242 f->ext_csd_rev != card->ext_csd.rev) in mmc_fixup_device()
244 if (rev < f->rev_start || rev > f->rev_end) in mmc_fixup_device()
246 if (f->of_compatible && in mmc_fixup_device()
247 !mmc_fixup_of_compatible_match(card, f->of_compatible)) in mmc_fixup_device()
249 if (f->year != CID_YEAR_ANY && f->year != card->cid.year) in mmc_fixup_device()
251 if (f->month != CID_MONTH_ANY && f->month != card->cid.month) in mmc_fixup_device()
254 dev_dbg(&card->dev, "calling %ps\n", f->vendor_fixup); in mmc_fixup_device()
255 f->vendor_fixup(card, f->data); in mmc_fixup_device()