Re: [PATCH v2 5/7] drm/msm/dsi: Account for DSC's bits_per_pixel having 4 fractional bits

From: Dmitry Baryshkov
Date: Wed Oct 05 2022 - 17:11:15 EST

On 06/10/2022 00:08, Marijn Suijten wrote:
On 2022-10-05 22:58:48, Marijn Suijten wrote:
On 2022-10-05 22:31:43, Dmitry Baryshkov wrote:
In fact, could you please take a look if we can switch to using this
function and drop our code?


Do you want me to do this in a v3, before applying this fractional-bits
fix? [..]

One thing to note:

/* bpc 8 */
dsc->flatness_min_qp = 3;
dsc->flatness_max_qp = 12;
dsc->rc_quant_incr_limit0 = 11;
dsc->rc_quant_incr_limit1 = 11;
dsc->mux_word_size = DSC_MUX_WORD_SIZE_8_10_BPC;

Here a bunch of properties are hardcoded, seemingly for bpc = 8.
mux_word_size is only ever read in drm_dsc_compute_rc_parameters() so
only becomes relevant _after_ the migration, and is currently dealt with
correctly by:

mux_words_size = 48; /* bpc == 8/10 */
if (dsc->bits_per_component == 12)
mux_words_size = 64;

Aside fixing that to assign these values (through the proper constants)
to dsc->mux_word_size, is it worth looking for the right parameters for
other bpc or return -EINVAL if bpc isn't 8, to uphold this comment until
support for other bpc is validated?

I'd say, return -EINVAL or -EOPNOTSUPP for now, let's fix that later. It's definitely a separate change. Let's wait for a device with such panel to be able to test it.

With best wishes