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>
diff --git a/include/ahci.h b/include/ahci.h
index d4f0f3c..eb05cc6 100644
--- a/include/ahci.h
+++ b/include/ahci.h
@@ -137,8 +137,8 @@
void __iomem *port_mmio;
struct ahci_cmd_hdr *cmd_slot;
struct ahci_sg *cmd_tbl_sg;
- ulong cmd_tbl;
- u32 rx_fis;
+ void *cmd_tbl;
+ void *rx_fis;
};
/**