drm/msm/dsi: Use DIV_ROUND_UP instead of conditional increment on modulo
authorMarijn Suijten <marijn.suijten@somainline.org>
Wed, 26 Oct 2022 18:28:17 +0000 (20:28 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 4 Nov 2022 14:39:41 +0000 (17:39 +0300)
This exact same math is used to compute bytes_in_slice above in
dsi_update_dsc_timing(), also used to fill slice_chunk_size.

Fixes: b9080324d6ca ("drm/msm/dsi: add support for dsc data")
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Patchwork: https://patchwork.freedesktop.org/patch/508935/
Link: https://lore.kernel.org/r/20221026182824.876933-4-marijn.suijten@somainline.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/dsi/dsi_host.c

index d948325..88c8aa5 100644 (file)
@@ -1807,9 +1807,7 @@ static int dsi_populate_dsc_params(struct drm_dsc_config *dsc)
         * params are calculated
         */
        groups_per_line = DIV_ROUND_UP(dsc->slice_width, 3);
-       dsc->slice_chunk_size = dsc->slice_width * dsc->bits_per_pixel / 8;
-       if ((dsc->slice_width * dsc->bits_per_pixel) % 8)
-               dsc->slice_chunk_size++;
+       dsc->slice_chunk_size = DIV_ROUND_UP(dsc->slice_width * dsc->bits_per_pixel, 8);
 
        /* rbs-min */
        min_rate_buffer_size =  dsc->rc_model_size - dsc->initial_offset +