ahci: DMA addressing fixes
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Fri, 17 May 2024 18:14:52 +0000 (19:14 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 22 Apr 2025 21:08:47 +0000 (15:08 -0600)
commit8daa1fadc2c45bc954537a70942674e0a4cf85a8
treeed36e0476006253fd113abf8aaeb1d7fb37ac0b0
parent1864dfb1c457e090d2e84d14ee56d9579a898e7f
ahci: DMA addressing fixes

Ensure that we are using correct physical/virtual address for
DMA buffer write and hardware register settings.

The convention is: in ahci_ioports all pointers are virtual,
that will be converted to physical address when writing to
hardware registers or into sg/cmd_tbl.

Also fixed 64bit physical address support for dwc_ahsata, ensure
higher bits are written into registers/sg properly.

Use memalign for allocating aligned buffer in dwc_ahsata so we
don't have to do our own alignment in driver.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
drivers/ata/ahci.c
drivers/ata/dwc_ahsata.c
drivers/ata/dwc_ahsata_priv.h
include/ahci.h