[U-Boot] [PATCH 1/4] ahci: Don't start command DMA engine before buffers are set
Ian Campbell
ijc at hellion.org.uk
Sun Oct 5 10:37:29 CEST 2014
On Tue, 2014-09-23 at 18:07 +0300, Roger Quadros wrote:
> The DMA/FIS buffers are set in ahci_port_start() which is called
> after ahci_host_init(). So don't start the DMA engine here
> (i.e. don't set FIS_RX)
>
> This fixes the following error at kernel boot on OMAP platforms (e.g. DRA7x)
> WARNING: CPU: 0 PID: 0 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x260/0x358()
> 44000000.ocp:L3 Custom Error: MASTER SATA TARGET GPMC (Idle): Data Access in User mode during Functional access
>
> Signed-off-by: Roger Quadros <rogerq at ti.com>
FWIW this also appears to have solved an issue I've been having getting
sata working from u-boot on arndale (porting some patches from chromeos
tree). Not sure if that quite qualifies as an Ack or Tested - by...
> ---
> drivers/block/ahci.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c
> index dce99ad..a93a8e1 100644
> --- a/drivers/block/ahci.c
> +++ b/drivers/block/ahci.c
> @@ -229,7 +229,6 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent)
> * already be on in the command register.
> */
> cmd = readl(port_mmio + PORT_CMD);
> - cmd |= PORT_CMD_FIS_RX;
> cmd |= PORT_CMD_SPIN_UP;
> writel_with_flush(cmd, port_mmio + PORT_CMD);
>
More information about the U-Boot
mailing list