Hi Ard,
2016-05-04 21:28 GMT+02:00 Ard Biesheuvel ard.biesheuvel@linaro.org:
On 4 May 2016 at 19:21, Jan Dąbroś jsd@semihalf.com wrote:
Thanks for quick response.
I am using ArmDmaLib as DmaLib (also for XHCI), so it looks like problem other than cache coherency.
Indeed. Also, it seems the operation where the hang occurs does not involve a DMA transaction, does it?
Yes, it doesn't involve DMA transaction, above flag should be set automaticaly (in less than 500ms) after writing '1' to PxCMD.FRE. But after commenting out waiting for this flag (e.g. Linux driver doesn't check this), initialization continues until the point where transfer from device should be performed (and there is no response from SATA disk). Maybe it is improper address mapping (DmaMap function) - is there simple way to check this?
Can you confirm that the AHCI MMIO space is mapped correctly?
Yes, MMIO space is mapped correctly. For example link on port is seen up if device is connected.
Best regards, Marcin