From ac6292752d08d2bb6b9c05730d13c091ea133048 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 7 Sep 2017 17:19:59 +0200 Subject: [PATCH] 4.12-stable patches added patches: ahci-don-t-use-msi-for-devices-with-the-silly-intel-nvme-remapping-scheme.patch cs5536-add-support-for-ide-controller-variant.patch --- ...he-silly-intel-nvme-remapping-scheme.patch | 41 ++++++++++++++ ...d-support-for-ide-controller-variant.patch | 55 +++++++++++++++++++ queue-4.12/series | 2 + 3 files changed, 98 insertions(+) create mode 100644 queue-4.12/ahci-don-t-use-msi-for-devices-with-the-silly-intel-nvme-remapping-scheme.patch create mode 100644 queue-4.12/cs5536-add-support-for-ide-controller-variant.patch diff --git a/queue-4.12/ahci-don-t-use-msi-for-devices-with-the-silly-intel-nvme-remapping-scheme.patch b/queue-4.12/ahci-don-t-use-msi-for-devices-with-the-silly-intel-nvme-remapping-scheme.patch new file mode 100644 index 00000000000..ce7ee4ed9fb --- /dev/null +++ b/queue-4.12/ahci-don-t-use-msi-for-devices-with-the-silly-intel-nvme-remapping-scheme.patch @@ -0,0 +1,41 @@ +From f723fa4e69920f6a5dd5fa0d10ce90e2f14d189c Mon Sep 17 00:00:00 2001 +From: Christoph Hellwig +Date: Tue, 5 Sep 2017 18:46:47 +0200 +Subject: ahci: don't use MSI for devices with the silly Intel NVMe remapping scheme + +From: Christoph Hellwig + +commit f723fa4e69920f6a5dd5fa0d10ce90e2f14d189c upstream. + +Intel AHCI controllers that also hide NVMe devices in their bar +can't use MSI interrupts, so disable them. + +Reported-by: John Loy +Tested-by: John Loy +Signed-off-by: Christoph Hellwig +Fixes: d684a90d38e2 ("ahci: per-port msix support") +Signed-off-by: Tejun Heo +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/ahci.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +--- a/drivers/ata/ahci.c ++++ b/drivers/ata/ahci.c +@@ -1467,7 +1467,14 @@ static void ahci_remap_check(struct pci_ + return; + + dev_warn(&pdev->dev, "Found %d remapped NVMe devices.\n", count); +- dev_warn(&pdev->dev, "Switch your BIOS from RAID to AHCI mode to use them.\n"); ++ dev_warn(&pdev->dev, ++ "Switch your BIOS from RAID to AHCI mode to use them.\n"); ++ ++ /* ++ * Don't rely on the msi-x capability in the remap case, ++ * share the legacy interrupt across ahci and remapped devices. ++ */ ++ hpriv->flags |= AHCI_HFLAG_NO_MSI; + } + + static int ahci_get_irq_vector(struct ata_host *host, int port) diff --git a/queue-4.12/cs5536-add-support-for-ide-controller-variant.patch b/queue-4.12/cs5536-add-support-for-ide-controller-variant.patch new file mode 100644 index 00000000000..0051dec5f2d --- /dev/null +++ b/queue-4.12/cs5536-add-support-for-ide-controller-variant.patch @@ -0,0 +1,55 @@ +From 591b6bb605785c12a21e8b07a08a277065b655a5 Mon Sep 17 00:00:00 2001 +From: Andrey Korolyov +Date: Thu, 10 Aug 2017 13:21:14 +0300 +Subject: cs5536: add support for IDE controller variant + +From: Andrey Korolyov + +commit 591b6bb605785c12a21e8b07a08a277065b655a5 upstream. + +Several legacy devices such as Geode-based Cisco ASA appliances +and DB800 development board do possess CS5536 IDE controller +with different PCI id than existing one. Using pata_generic is +not always feasible as at least DB800 requires MSR quirk from +pata_cs5536 to be used with vendor firmware. + +Signed-off-by: Andrey Korolyov +Signed-off-by: Tejun Heo +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/pata_amd.c | 1 + + drivers/ata/pata_cs5536.c | 1 + + include/linux/pci_ids.h | 1 + + 3 files changed, 3 insertions(+) + +--- a/drivers/ata/pata_amd.c ++++ b/drivers/ata/pata_amd.c +@@ -616,6 +616,7 @@ static const struct pci_device_id amd[] + { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_IDE), 8 }, + { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE), 8 }, + { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), 9 }, ++ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_DEV_IDE), 9 }, + + { }, + }; +--- a/drivers/ata/pata_cs5536.c ++++ b/drivers/ata/pata_cs5536.c +@@ -289,6 +289,7 @@ static int cs5536_init_one(struct pci_de + + static const struct pci_device_id cs5536[] = { + { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), }, ++ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_DEV_IDE), }, + { }, + }; + +--- a/include/linux/pci_ids.h ++++ b/include/linux/pci_ids.h +@@ -576,6 +576,7 @@ + #define PCI_DEVICE_ID_AMD_CS5536_EHC 0x2095 + #define PCI_DEVICE_ID_AMD_CS5536_UDC 0x2096 + #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 ++#define PCI_DEVICE_ID_AMD_CS5536_DEV_IDE 0x2092 + #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A + #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 + #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 diff --git a/queue-4.12/series b/queue-4.12/series index daad2cdc71f..c127a99b9e1 100644 --- a/queue-4.12/series +++ b/queue-4.12/series @@ -34,3 +34,5 @@ s390-mm-fix-bug_on-in-crst_table_upgrade.patch drm-nouveau-pci-msi-disable-msi-on-big-endian-platforms-by-default.patch drm-nouveau-fix-error-handling-in-nv50_disp_atomic_commit.patch workqueue-fix-flag-collision.patch +ahci-don-t-use-msi-for-devices-with-the-silly-intel-nvme-remapping-scheme.patch +cs5536-add-support-for-ide-controller-variant.patch -- 2.47.3