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/vc4: txp: Don't set TXP_VSTART_AT_EOF

The TXP_VSTART_AT_EOF will generate a second VSTART signal to the HVS.
However, the HVS waits for VSTART to enable the FIFO and will thus start
filling the FIFO before the start of the frame.

This leads to corruption at the beginning of the first frame, and
content from the previous frame at the beginning of the next frames.

Since one VSTART is enough, let's get rid of it.

Fixes: 008095e065a8 ("drm/vc4: Add support for the transposer block")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20220328153659.2382206-3-maxime@cerno.tech

+1 -1
+1 -1
drivers/gpu/drm/vc4/vc4_txp.c
··· 298 298 if (WARN_ON(i == ARRAY_SIZE(drm_fmts))) 299 299 return; 300 300 301 - ctrl = TXP_GO | TXP_VSTART_AT_EOF | TXP_EI | 301 + ctrl = TXP_GO | TXP_EI | 302 302 VC4_SET_FIELD(0xf, TXP_BYTE_ENABLE) | 303 303 VC4_SET_FIELD(txp_fmts[i], TXP_FORMAT); 304 304