linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ahci: don't use MSI for devices with the braindead Intel NVMe remapping scheme
@ 2017-09-05 16:46 Christoph Hellwig
  2017-09-05 16:55 ` Dan Williams
  2017-09-06 14:40 ` Tejun Heo
  0 siblings, 2 replies; 3+ messages in thread
From: Christoph Hellwig @ 2017-09-05 16:46 UTC (permalink / raw)
  To: tj; +Cc: dan.j.williams, john.robert.loy, linux-ide, stable

Intel AHCI controllers that also hide NVMe devices in their bar
can't use MSI interrupts, so disable them.

Reported-by: John Loy <john.robert.loy@gmail.com>
Testd-by: John Loy <john.robert.loy@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: stable@vger.kernel.org
---
 drivers/ata/ahci.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 5a5fd0b404eb..cb9b0e9090e3 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -1469,7 +1469,14 @@ static void ahci_remap_check(struct pci_dev *pdev, int bar,
 		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)
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ahci: don't use MSI for devices with the braindead Intel NVMe remapping scheme
  2017-09-05 16:46 [PATCH] ahci: don't use MSI for devices with the braindead Intel NVMe remapping scheme Christoph Hellwig
@ 2017-09-05 16:55 ` Dan Williams
  2017-09-06 14:40 ` Tejun Heo
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Williams @ 2017-09-05 16:55 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Tejun Heo, john.robert.loy, IDE/ATA development list, stable

On Tue, Sep 5, 2017 at 9:46 AM, Christoph Hellwig <hch@lst.de> wrote:
> Intel AHCI controllers that also hide NVMe devices in their bar
> can't use MSI interrupts, so disable them.
>
> Reported-by: John Loy <john.robert.loy@gmail.com>
> Testd-by: John Loy <john.robert.loy@gmail.com>

s/Testd-by/Tested-by/

> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Cc: stable@vger.kernel.org

Acked-by: Dan Williams <dan.j.williams@intel.com>

Please also make the subject-line drier.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ahci: don't use MSI for devices with the braindead Intel NVMe remapping scheme
  2017-09-05 16:46 [PATCH] ahci: don't use MSI for devices with the braindead Intel NVMe remapping scheme Christoph Hellwig
  2017-09-05 16:55 ` Dan Williams
@ 2017-09-06 14:40 ` Tejun Heo
  1 sibling, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2017-09-06 14:40 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: dan.j.williams, john.robert.loy, linux-ide, stable

Hello,

On Tue, Sep 05, 2017 at 06:46:47PM +0200, Christoph Hellwig wrote:
> Intel AHCI controllers that also hide NVMe devices in their bar
> can't use MSI interrupts, so disable them.
> 
> Reported-by: John Loy <john.robert.loy@gmail.com>
> Testd-by: John Loy <john.robert.loy@gmail.com>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Cc: stable@vger.kernel.org

Applied to libata/for-4.14 w/ Fixes tag added and minor edits as
suggested by Dan - I changed braindead to silly, hope everyone is fine
with that.

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-09-06 14:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-05 16:46 [PATCH] ahci: don't use MSI for devices with the braindead Intel NVMe remapping scheme Christoph Hellwig
2017-09-05 16:55 ` Dan Williams
2017-09-06 14:40 ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).