]>
Commit | Line | Data |
---|---|---|
6aada80d GKH |
1 | From e445375882883f69018aa669b67cbb37ec873406 Mon Sep 17 00:00:00 2001 |
2 | From: Yifeng Li <tomli@tomli.me> | |
3 | Date: Thu, 2 Dec 2021 06:35:21 +0000 | |
4 | Subject: PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller | |
5 | MIME-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ||
9 | From: Yifeng Li <tomli@tomli.me> | |
10 | ||
11 | commit e445375882883f69018aa669b67cbb37ec873406 upstream. | |
12 | ||
13 | Like other SATA controller chips in the Marvell 88SE91xx series, the | |
14 | Marvell 88SE9125 has the same DMA requester ID hardware bug that prevents | |
15 | it from working under IOMMU. Add it to the list of devices that need the | |
16 | quirk. | |
17 | ||
18 | Without this patch, device initialization fails with DMA errors: | |
19 | ||
20 | ata8: softreset failed (1st FIS failed) | |
21 | DMAR: DRHD: handling fault status reg 2 | |
22 | DMAR: [DMA Write NO_PASID] Request device [03:00.1] fault addr 0xfffc0000 [fault reason 0x02] Present bit in context entry is clear | |
23 | DMAR: DRHD: handling fault status reg 2 | |
24 | DMAR: [DMA Read NO_PASID] Request device [03:00.1] fault addr 0xfffc0000 [fault reason 0x02] Present bit in context entry is clear | |
25 | ||
26 | After applying the patch, the controller can be successfully initialized: | |
27 | ||
28 | ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 330) | |
29 | ata8.00: ATAPI: PIONEER BD-RW BDR-207M, 1.21, max UDMA/100 | |
30 | ata8.00: configured for UDMA/100 | |
31 | scsi 7:0:0:0: CD-ROM PIONEER BD-RW BDR-207M 1.21 PQ: 0 ANSI: 5 | |
32 | ||
33 | Link: https://lore.kernel.org/r/YahpKVR+McJVDdkD@work | |
34 | Reported-by: Sam Bingner <sam@bingner.com> | |
35 | Tested-by: Sam Bingner <sam@bingner.com> | |
36 | Tested-by: Yifeng Li <tomli@tomli.me> | |
37 | Signed-off-by: Yifeng Li <tomli@tomli.me> | |
38 | Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> | |
39 | Reviewed-by: Krzysztof WilczyĆski <kw@linux.com> | |
40 | Cc: stable@vger.kernel.org | |
41 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
42 | --- | |
43 | drivers/pci/quirks.c | 3 +++ | |
44 | 1 file changed, 3 insertions(+) | |
45 | ||
46 | --- a/drivers/pci/quirks.c | |
47 | +++ b/drivers/pci/quirks.c | |
48 | @@ -4077,6 +4077,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_M | |
49 | quirk_dma_func1_alias); | |
50 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9123, | |
51 | quirk_dma_func1_alias); | |
52 | +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c136 */ | |
53 | +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9125, | |
54 | + quirk_dma_func1_alias); | |
55 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9128, | |
56 | quirk_dma_func1_alias); | |
57 | /* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c14 */ |