Commit a8ff2cd9 authored by Carsten Haitzler's avatar Carsten Haitzler Committed by Liviu Dudau

drm/komeda - At init write GCU control block to handle already on DPU

If something has already set up the DPU before the komeda driver comes
up, it will fail to init because it was just writing to the SRST bit in
the GCU control register and ignoring others. This resulted in TBU
bringup stalling and init failing. By writing completely we also  set the
mode back to 0 (inactive) too and thus TBU bringup works.
Signed-off-by: default avatarCarsten Haitzler <carsten.haitzler@arm.com>
Acked-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220606114714.175499-2-carsten.haitzler@foss.arm.com
parent 000a2f04
...@@ -310,8 +310,7 @@ static int d71_reset(struct d71_dev *d71) ...@@ -310,8 +310,7 @@ static int d71_reset(struct d71_dev *d71)
u32 __iomem *gcu = d71->gcu_addr; u32 __iomem *gcu = d71->gcu_addr;
int ret; int ret;
malidp_write32_mask(gcu, BLK_CONTROL, malidp_write32(gcu, BLK_CONTROL, GCU_CONTROL_SRST);
GCU_CONTROL_SRST, GCU_CONTROL_SRST);
ret = dp_wait_cond(!(malidp_read32(gcu, BLK_CONTROL) & GCU_CONTROL_SRST), ret = dp_wait_cond(!(malidp_read32(gcu, BLK_CONTROL) & GCU_CONTROL_SRST),
100, 1000, 10000); 100, 1000, 10000);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment