Re: [PATCH] mmc: sdhci-pci-core: Disable cqe for ASUS 1100FK family devices

From: Adrian Hunter
Date: Tue Sep 13 2022 - 02:34:37 EST


On 13/09/22 00:28, Patrick Thompson wrote:
> From: ptf <ptf@xxxxxxxxxx>
>
> The CQE implementation for the eMMC in the ASUS 1100FK family of devices
> is broken. This causes installations to fail and thus we are disabling
> CQE for this family of devices.
>
> Signed-off-by: Patrick Thompson <ptf@xxxxxxxxxx>

Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

> ---
>
> Hello,
>
> I was hoping to get some advice on adapting this patch to target the
> eMMC directly instead of a family of laptops. One idea is to use the
> PCI-id of the controller (in this case [8086:4dc4]). Would that make
> sense? Is there someone with more knowledge on the subject that could
> confirm that the [8086:4dc4] device doesn't have a working CQE?

In these cases the issue is suspected to be BIOS. Best solution is to
disable CQE.

>
> Thank you,
> Patrick
>
>
> drivers/mmc/host/sdhci-pci-core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
> index 622b7de96c7f..3ba0250559e7 100644
> --- a/drivers/mmc/host/sdhci-pci-core.c
> +++ b/drivers/mmc/host/sdhci-pci-core.c
> @@ -890,7 +890,8 @@ static bool glk_broken_cqhci(struct sdhci_pci_slot *slot)
> {
> return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC &&
> (dmi_match(DMI_BIOS_VENDOR, "LENOVO") ||
> - dmi_match(DMI_SYS_VENDOR, "IRBIS"));
> + dmi_match(DMI_SYS_VENDOR, "IRBIS") ||
> + dmi_match(DMI_PRODUCT_FAMILY, "ASUS BR1100FKA"));
> }
>
> static int glk_emmc_probe_slot(struct sdhci_pci_slot *slot)