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
39 * instead of CMD12-bounded multiblock transfers. For now we'll
41 * - Certain Toshiba cards.
45 MMC_FIXUP("SDMB-32", CID_MANFID_SANDISK, CID_OEMID_ANY, add_quirk_mmc,
62 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
113 * Micron MTFC4GACAJCN-1M supports TRIM but does not appear to support
121 * Kingston EMMC04G-M627 advertises TRIM but it does not seems to
138 * Certain Hynix eMMC 4.41 cards might get broken when HPI feature
139 * is used so disable the HPI feature for such buggy cards.
144 * Certain Micron (Numonyx) eMMC 4.5 cards might get broken when HPI
145 * feature is used so disable the HPI feature for such buggy cards.
195 for_each_child_of_node(mmc_dev(card->host)->of_node, np) { in mmc_fixup_of_compatible_match()
211 for (f = table; f->vendor_fixup; f++) { in mmc_fixup_device()
212 if (f->manfid != CID_MANFID_ANY && in mmc_fixup_device()
213 f->manfid != card->cid.manfid) in mmc_fixup_device()
215 if (f->oemid != CID_OEMID_ANY && in mmc_fixup_device()
216 f->oemid != card->cid.oemid) in mmc_fixup_device()
218 if (f->name != CID_NAME_ANY && in mmc_fixup_device()
219 strncmp(f->name, card->cid.prod_name, in mmc_fixup_device()
220 sizeof(card->cid.prod_name))) in mmc_fixup_device()
222 if (f->cis_vendor != (u16)SDIO_ANY_ID && in mmc_fixup_device()
223 f->cis_vendor != card->cis.vendor) in mmc_fixup_device()
225 if (f->cis_device != (u16)SDIO_ANY_ID && in mmc_fixup_device()
226 f->cis_device != card->cis.device) in mmc_fixup_device()
228 if (f->ext_csd_rev != EXT_CSD_REV_ANY && in mmc_fixup_device()
229 f->ext_csd_rev != card->ext_csd.rev) in mmc_fixup_device()
231 if (rev < f->rev_start || rev > f->rev_end) in mmc_fixup_device()
233 if (f->of_compatible && in mmc_fixup_device()
234 !mmc_fixup_of_compatible_match(card, f->of_compatible)) in mmc_fixup_device()
236 if (f->year != CID_YEAR_ANY && f->year != card->cid.year) in mmc_fixup_device()
238 if (f->month != CID_MONTH_ANY && f->month != card->cid.month) in mmc_fixup_device()
241 dev_dbg(&card->dev, "calling %ps\n", f->vendor_fixup); in mmc_fixup_device()
242 f->vendor_fixup(card, f->data); in mmc_fixup_device()