diff options
author | Jiri Kosina <jkosina@suse.cz> | 2020-04-01 14:32:45 +0300 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2020-04-01 14:32:45 +0300 |
commit | 4c805fb704fc7890ec6615b286f09aeb5e2603d4 (patch) | |
tree | 24f79be444c9dd3df7116037fd3bd3e17b01ebd3 /drivers/mmc/host/sdhci-pci-gli.c | |
parent | f454d9a378a1ccb676adfa6e2449ef17e66696b5 (diff) | |
parent | 77a36a3ab4ff17fad23831192e3694a3c5a1750d (diff) | |
download | linux-4c805fb704fc7890ec6615b286f09aeb5e2603d4.tar.xz |
Merge branch 'for-5.7/glorious' into for-linus
- report descriptor fix for Glorious PC Gaming Race device from Samuel Čavoj
Diffstat (limited to 'drivers/mmc/host/sdhci-pci-gli.c')
-rw-r--r-- | drivers/mmc/host/sdhci-pci-gli.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-pci-gli.c b/drivers/mmc/host/sdhci-pci-gli.c index 5eea8d70a85d..ce15a05f23d4 100644 --- a/drivers/mmc/host/sdhci-pci-gli.c +++ b/drivers/mmc/host/sdhci-pci-gli.c @@ -262,10 +262,26 @@ static int gl9750_execute_tuning(struct sdhci_host *host, u32 opcode) return 0; } +static void gli_pcie_enable_msi(struct sdhci_pci_slot *slot) +{ + int ret; + + ret = pci_alloc_irq_vectors(slot->chip->pdev, 1, 1, + PCI_IRQ_MSI | PCI_IRQ_MSIX); + if (ret < 0) { + pr_warn("%s: enable PCI MSI failed, error=%d\n", + mmc_hostname(slot->host->mmc), ret); + return; + } + + slot->host->irq = pci_irq_vector(slot->chip->pdev, 0); +} + static int gli_probe_slot_gl9750(struct sdhci_pci_slot *slot) { struct sdhci_host *host = slot->host; + gli_pcie_enable_msi(slot); slot->host->mmc->caps2 |= MMC_CAP2_NO_SDIO; sdhci_enable_v4_mode(host); @@ -276,6 +292,7 @@ static int gli_probe_slot_gl9755(struct sdhci_pci_slot *slot) { struct sdhci_host *host = slot->host; + gli_pcie_enable_msi(slot); slot->host->mmc->caps2 |= MMC_CAP2_NO_SDIO; sdhci_enable_v4_mode(host); |