On 1/30/24 20:59, Lennert Buytenhek wrote: > On Tue, Jan 30, 2024 at 08:46:23PM +0900, Damien Le Moal wrote: > >>> ASMedia have confirmed that all ASM106x parts currently listed in >>> ahci_pci_tbl[] suffer from the 43-bit DMA address limitation that we ran >>> into on the ASM1061, and therefore, we need to apply the quirk added by >>> commit 20730e9b2778 to the other supported ASM106x parts as well. >>> >>> Signed-off-by: Lennert Buytenhek <kernel@xxxxxxxxxxxxxx> >> >> I think this needs a cc: stable tag. > > The commit that is likely responsible for surfacing this issue is > 791c2b17fb40 which went into v6.6 -- so would this then be appropriate, > or do you think this should be backported to older versions as well? Hmmm... given this is a hardware "bug", it seems safer to backport to all stable & lts. From what I understand, the device may be doing bad DMA, regardless of what the iommu is doing. Niklas ? you followed this more carefully than I did :) > > Cc: stable@xxxxxxxxxxxxxxx # 6.6.x > > >>> --- >>> drivers/ata/ahci.c | 10 +++++----- >>> 1 file changed, 5 insertions(+), 5 deletions(-) >>> >>> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c >>> index d2460fa985b7..da2e74fce2d9 100644 >>> --- a/drivers/ata/ahci.c >>> +++ b/drivers/ata/ahci.c >>> @@ -606,13 +606,13 @@ static const struct pci_device_id ahci_pci_tbl[] = { >>> { PCI_VDEVICE(PROMISE, 0x3781), board_ahci }, /* FastTrak TX8660 ahci-mode */ >>> >>> /* ASMedia */ >>> - { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci }, /* ASM1060 */ >>> - { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci }, /* ASM1060 */ >>> + { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci_43bit_dma }, /* ASM1060 */ >>> + { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci_43bit_dma }, /* ASM1060 */ >>> { PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci_43bit_dma }, /* ASM1061 */ >>> { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci_43bit_dma }, /* ASM1061/1062 */ >>> - { PCI_VDEVICE(ASMEDIA, 0x0621), board_ahci }, /* ASM1061R */ >>> - { PCI_VDEVICE(ASMEDIA, 0x0622), board_ahci }, /* ASM1062R */ >>> - { PCI_VDEVICE(ASMEDIA, 0x0624), board_ahci }, /* ASM1062+JMB575 */ >>> + { PCI_VDEVICE(ASMEDIA, 0x0621), board_ahci_43bit_dma }, /* ASM1061R */ >>> + { PCI_VDEVICE(ASMEDIA, 0x0622), board_ahci_43bit_dma }, /* ASM1062R */ >>> + { PCI_VDEVICE(ASMEDIA, 0x0624), board_ahci_43bit_dma }, /* ASM1062+JMB575 */ >>> { PCI_VDEVICE(ASMEDIA, 0x1062), board_ahci }, /* ASM1062A */ >>> { PCI_VDEVICE(ASMEDIA, 0x1064), board_ahci }, /* ASM1064 */ >>> { PCI_VDEVICE(ASMEDIA, 0x1164), board_ahci }, /* ASM1164 */ -- Damien Le Moal Western Digital Research