Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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: Carsten Haitzler <carsten.haitzler@arm.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220606114714.175499-2-carsten.haitzler@foss.arm.com

authored by

Carsten Haitzler and committed by
Liviu Dudau
a8ff2cd9 000a2f04

+1 -2
+1 -2
drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c
··· 310 310 u32 __iomem *gcu = d71->gcu_addr; 311 311 int ret; 312 312 313 - malidp_write32_mask(gcu, BLK_CONTROL, 314 - GCU_CONTROL_SRST, GCU_CONTROL_SRST); 313 + malidp_write32(gcu, BLK_CONTROL, GCU_CONTROL_SRST); 315 314 316 315 ret = dp_wait_cond(!(malidp_read32(gcu, BLK_CONTROL) & GCU_CONTROL_SRST), 317 316 100, 1000, 10000);