gpu: ipu-v3: only set non-zero AXI ID for IC when PRG is absent
authorLucas Stach <l.stach@pengutronix.de>
Wed, 8 Mar 2017 11:13:19 +0000 (12:13 +0100)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Thu, 16 Mar 2017 09:14:49 +0000 (10:14 +0100)
Using non-zero AXI IDs for anything other than the display channels
collides with the PRG AXI snooping, so only do this if there is no
PRG present.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/gpu/ipu-v3/ipu-image-convert.c

index 805b6fa7b5f4c2f7ca98582ff028e1268bc66540..524a717ab28e4937cf120a18f942e2a04f3c216d 100644 (file)
@@ -671,7 +671,12 @@ static void init_idmac_channel(struct ipu_image_convert_ctx *ctx,
        ipu_ic_task_idma_init(chan->ic, channel, width, height,
                              burst_size, rot_mode);
 
-       ipu_cpmem_set_axi_id(channel, 1);
+       /*
+        * Setting a non-zero AXI ID collides with the PRG AXI snooping, so
+        * only do this when there is no PRG present.
+        */
+       if (!channel->ipu->prg_priv)
+               ipu_cpmem_set_axi_id(channel, 1);
 
        ipu_idmac_set_double_buffer(channel, ctx->double_buffering);
 }