This is a workaround because Loongson-3 has a hardware bug that it doesn't support DMA address above 4GB. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Signed-off-by: Hongliang Tao <taohl@xxxxxxxxxx> Signed-off-by: Hua Yan <yanh@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx --- drivers/ata/ahci.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index ebaf67e..3e3cfd8 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -183,7 +183,12 @@ static const struct ata_port_info ahci_port_info[] = { }, [board_ahci_sb700] = /* for SB700 and SB800 */ { +#ifndef CONFIG_CPU_LOONGSON3 AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL), +#else + AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL | + AHCI_HFLAG_32BIT_ONLY), +#endif .flags = AHCI_FLAG_COMMON, .pio_mask = ATA_PIO4, .udma_mask = ATA_UDMA6, -- 1.7.7.3