--- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -1870,6 +1870,15 @@ { int ret; + /* + * Some panels (e.g. Novatek DDICs with fixed rate control tables in + * the decoder) need the exact RC configuration the vendor encoder + * used, not the one derived here from the generic DSC tables. Keep a + * configuration the panel driver already filled in completely. + */ + if (dsc->rc_model_size && dsc->slice_chunk_size && dsc->initial_dec_delay) + return 0; + if (dsc->bits_per_pixel & 0xf) { DRM_DEV_ERROR(&msm_host->pdev->dev, "DSI does not support fractional bits_per_pixel\n"); return -EINVAL;