MLK-19906: drm/imx/dcss: lower CTXLD trigger threshold
authorLaurentiu Palcu <laurentiu.palcu@nxp.com>
Fri, 12 Oct 2018 07:24:16 +0000 (10:24 +0300)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
After PM_QoS was removed by this commit:

f889273 - MLK-19460-2: drm: imx: dcss: remove PM_QoS

interrupt latency increased. Hence, any video playback using tiled
compressed formats will be affected because DTRC uses CTXLD to switch
its register banks. If CTXLD is not armed, at the right time, the DB
trigger moment will be missed. This leads to DTRC not switch to the other
register bank and scaler will be starved, leading to a channel freeze.

This patch will lower the CTXLD trigger time to 90% of frame trace
allowing some more time between arming the context loader and DB trigger
time, in case the latency is too big.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
drivers/gpu/imx/dcss/dcss-dtg.c

index e6941fb..c83d66a 100644 (file)
@@ -340,7 +340,7 @@ void dcss_dtg_sync_set(struct dcss_soc *dcss, struct videomode *vm)
        dcss_dtg_write(dtg, 0, DCSS_DTG_LINE1_INT);
 
        /* CTXLD trigger */
-       dcss_dtg_write(dtg, ((95 * dis_lrc_y) / 100) << 16, DCSS_DTG_LINE0_INT);
+       dcss_dtg_write(dtg, ((90 * dis_lrc_y) / 100) << 16, DCSS_DTG_LINE0_INT);
 }
 EXPORT_SYMBOL(dcss_dtg_sync_set);