On Thu, Dec 02, 2021 at 06:35:21AM +0000, Yifeng Li wrote: > Like other SATA controller chips in the Marvell 88SE91xx series, the > Marvell 88SE9125 has the same DMA requester ID hardware bug that prevents > it from working under IOMMU. This patch adds its device ID 0x9125 to the > Function 1 DMA alias quirk list. > > This patch should not be confused with an earlier patch, commit 059983790a4c > ("PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller"), > which applies to a different chip with a similar model number, 88SE9215. > > Without this patch, device initialization fails with DMA errors. > > ata8: softreset failed (1st FIS failed) > DMAR: DRHD: handling fault status reg 2 > DMAR: [DMA Write NO_PASID] Request device [03:00.1] fault addr 0xfffc0000 [fault reason 0x02] Present bit in context entry is clear > DMAR: DRHD: handling fault status reg 2 > DMAR: [DMA Read NO_PASID] Request device [03:00.1] fault addr 0xfffc0000 [fault reason 0x02] Present bit in context entry is clear > > After applying the patch, the controller can be successfully initialized. > > ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 330) > ata8.00: ATAPI: PIONEER BD-RW BDR-207M, 1.21, max UDMA/100 > ata8.00: configured for UDMA/100 > scsi 7:0:0:0: CD-ROM PIONEER BD-RW BDR-207M 1.21 PQ: 0 ANSI: 5 > > Cc: stable@xxxxxxxxxxxxxxx > Reported-by: Sam Bingner <sam@xxxxxxxxxxx> > Tested-by: Sam Bingner <sam@xxxxxxxxxxx> > Tested-by: Yifeng Li <tomli@xxxxxxxx> > Signed-off-by: Yifeng Li <tomli@xxxxxxxx> > Reviewed-by: Krzysztof Wilczyński <kw@xxxxxxxxx> I tweaked the subject line to match similar previous commits and applied to pci/virtualization for v5.17, thanks! e44537588288 ("PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller") 059983790a4c ("PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller") 9cde402a5977 ("PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller") 7695e73f3db4 ("PCI: Add function 1 DMA alias quirk for Marvell 88SS9183") 1903be8222b7 ("PCI: Add function 1 DMA alias quirk for Highpoint RocketRAID 644L") 832e4e1f76b8 ("PCI: Add function 1 DMA alias quirk for Marvell 88SE9220") aa0082066343 ("PCI: Add function 1 DMA alias quirk for Marvell 9128") 00456b35a527 ("PCI: Add function 1 DMA alias quirk for Marvell 88SE9182") > --- > > Notes: > v3: Use full names in Reported-by and Tested-by tags. > > v2: I accidentally sent an earlier version of the commit without > CCing stable@xxxxxxxxxxxxxxx. The mail itself was also rejected by > many servers due to a DKIM issue. Thus [PATCH v2], sorry for the > noise. > > drivers/pci/quirks.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index 003950c73..20a932690 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -4103,6 +4103,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9120, > quirk_dma_func1_alias); > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9123, > quirk_dma_func1_alias); > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c136 */ > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9125, > + quirk_dma_func1_alias); > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9128, > quirk_dma_func1_alias); > /* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c14 */ > -- > 2.31.1