Revert "ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585"

This reverts commit 105c42566a.

The 32-bit quirk was incorrectly applied to JMicron JMicron JMB582/JMB585,
but it turns out that the root cause was actually a problem with BIOS
configuration of PCIe root ports, enabling a features that causes problems
with 64-bit DMA.

This problem has now been fixed in commit 4fde448225 ("x86/PCI: Disable
enhanced atomics on AMD NBIO 7.7 and 7.11").

Since the real root cause has now been fixed, we can revert this incorrect
quirk.

Cc: Arthur Husband <artmoty@gmail.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20260908190600.226485-3-mario.limonciello@amd.com
Signed-off-by: Niklas Cassel <cassel@kernel.org>
This commit is contained in:
Mario Limonciello 2026-09-08 14:06:00 -05:00 committed by Niklas Cassel
parent 193f5b84a9
commit 6b28e0e7a0

View File

@ -69,7 +69,6 @@ enum board_ids {
/* board IDs for specific chipsets in alphabetical order */
board_ahci_al,
board_ahci_avn,
board_ahci_jmb585,
board_ahci_mcp65,
board_ahci_mcp77,
board_ahci_mcp89,
@ -214,15 +213,6 @@ static const struct ata_port_info ahci_port_info[] = {
.udma_mask = ATA_UDMA6,
.port_ops = &ahci_avn_ops,
},
/* JMicron JMB582/585: 64-bit DMA is broken, force 32-bit */
[board_ahci_jmb585] = {
AHCI_HFLAGS (AHCI_HFLAG_IGN_IRQ_IF_ERR |
AHCI_HFLAG_32BIT_ONLY),
.flags = AHCI_FLAG_COMMON,
.pio_mask = ATA_PIO4,
.udma_mask = ATA_UDMA6,
.port_ops = &ahci_ops,
},
[board_ahci_mcp65] = {
AHCI_HFLAGS (AHCI_HFLAG_NO_FPDMA_AA | AHCI_HFLAG_NO_PMP |
AHCI_HFLAG_YES_NCQ),
@ -955,14 +945,6 @@ static const struct pci_device_id ahci_pci_tbl[] = {
/* Elkhart Lake AHCI */
PCI_VDEVICE(INTEL, 0x4b63),
.driver_data = board_ahci_pcs_quirk,
}, {
/* JMicron JMB582/585: force 32-bit DMA (broken 64-bit implementation) */
PCI_VDEVICE(JMICRON, 0x0582),
.driver_data = board_ahci_jmb585,
}, {
PCI_VDEVICE(JMICRON, 0x0585),
.driver_data = board_ahci_jmb585,
}, {
/* JMicron 360/1/3/5/6, match class to avoid IDE function */
PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID),