| From 865cb0d129cb2d17fb6105e74f5b46b32c46d3d4 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 20 Jul 2020 18:17:33 -0700 |
| Subject: mmc: sdhci-pci-o2micro: Bug fix for O2 host controller Seabird1 |
| |
| From: shirley her <shirley.her@bayhubtech.com> |
| |
| [ Upstream commit cdd2b769789ae1a030e1a26f6c37c5833cabcb34 ] |
| |
| To fix support for the O2 host controller Seabird1, set the quirk |
| SDHCI_QUIRK2_PRESET_VALUE_BROKEN and the capability bit MMC_CAP2_NO_SDIO. |
| Moreover, assign the ->get_cd() callback. |
| |
| Signed-off-by: Shirley Her <shirley.her@bayhubtech.com> |
| Link: https://lore.kernel.org/r/20200721011733.8416-1-shirley.her@bayhubtech.com |
| [Ulf: Updated the commit message] |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/mmc/host/sdhci-pci-o2micro.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| diff --git a/drivers/mmc/host/sdhci-pci-o2micro.c b/drivers/mmc/host/sdhci-pci-o2micro.c |
| index fa8105087d684..41a2394313dd0 100644 |
| --- a/drivers/mmc/host/sdhci-pci-o2micro.c |
| +++ b/drivers/mmc/host/sdhci-pci-o2micro.c |
| @@ -561,6 +561,12 @@ int sdhci_pci_o2_probe_slot(struct sdhci_pci_slot *slot) |
| slot->host->mmc_host_ops.get_cd = sdhci_o2_get_cd; |
| } |
| |
| + if (chip->pdev->device == PCI_DEVICE_ID_O2_SEABIRD1) { |
| + slot->host->mmc_host_ops.get_cd = sdhci_o2_get_cd; |
| + host->mmc->caps2 |= MMC_CAP2_NO_SDIO; |
| + host->quirks2 |= SDHCI_QUIRK2_PRESET_VALUE_BROKEN; |
| + } |
| + |
| host->mmc_host_ops.execute_tuning = sdhci_o2_execute_tuning; |
| |
| if (chip->pdev->device != PCI_DEVICE_ID_O2_FUJIN2) |
| -- |
| 2.25.1 |
| |