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,
52 * instead of CMD12-bounded multiblock transfers. For now we'll
54 * - Certain Toshiba cards.
58 MMC_FIXUP("SDMB-32", CID_MANFID_SANDISK, CID_OEMID_ANY, add_quirk_mmc,
117 * Micron MTFC4GACAJCN-1M supports TRIM but does not appear to support
125 * Kingston EMMC04G-M627 advertises TRIM but it does not seems to
142 * Certain Hynix eMMC 4.41 cards might get broken when HPI feature
143 * is used so disable the HPI feature for such buggy cards.
148 * Certain Micron (Numonyx) eMMC 4.5 cards might get broken when HPI
149 * feature is used so disable the HPI feature for such buggy cards.
199 for_each_child_of_node(mmc_dev(card->host)->of_node, np) { in mmc_fixup_of_compatible_match()
215 for (f = table; f->vendor_fixup; f++) { in mmc_fixup_device()
216 if (f->manfid != CID_MANFID_ANY && in mmc_fixup_device()
217 f->manfid != card->cid.manfid) in mmc_fixup_device()
219 if (f->oemid != CID_OEMID_ANY && in mmc_fixup_device()
220 f->oemid != card->cid.oemid) in mmc_fixup_device()
222 if (f->name != CID_NAME_ANY && in mmc_fixup_device()
223 strncmp(f->name, card->cid.prod_name, in mmc_fixup_device()
224 sizeof(card->cid.prod_name))) in mmc_fixup_device()
226 if (f->cis_vendor != (u16)SDIO_ANY_ID && in mmc_fixup_device()
227 f->cis_vendor != card->cis.vendor) in mmc_fixup_device()
229 if (f->cis_device != (u16)SDIO_ANY_ID && in mmc_fixup_device()
230 f->cis_device != card->cis.device) in mmc_fixup_device()
232 if (f->ext_csd_rev != EXT_CSD_REV_ANY && in mmc_fixup_device()
233 f->ext_csd_rev != card->ext_csd.rev) in mmc_fixup_device()
235 if (rev < f->rev_start || rev > f->rev_end) in mmc_fixup_device()
237 if (f->of_compatible && in mmc_fixup_device()
238 !mmc_fixup_of_compatible_match(card, f->of_compatible)) in mmc_fixup_device()
240 if (f->year != CID_YEAR_ANY && f->year != card->cid.year) in mmc_fixup_device()
242 if (f->month != CID_MONTH_ANY && f->month != card->cid.month) in mmc_fixup_device()
245 dev_dbg(&card->dev, "calling %ps\n", f->vendor_fixup); in mmc_fixup_device()
246 f->vendor_fixup(card, f->data); in mmc_fixup_device()