Message ID | 20230329-rfc-msm-dsc-helper-v6-3-cb7f59f0f7fb@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Introduce MSM-specific DSC helpers | expand |
On 2023-04-12 16:25:17, Jessica Zhang wrote: > Use the DRM DSC helper for det_thresh_flatness to match downstream > implementation and the DSC spec. This should put more emphasis on the fact that the helper **has a different math implementation** to calculate the value differently, and that this hence is a **semantic change**. Otherwise the Fixes: won't make sense and the reader wouldn't notice it. > Changes in V2: > - Added a Fixes tag > > Fixes: c110cfd1753e ("drm/msm/disp/dpu1: Add support for DSC") > Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> I've made the same change locally, so for the change itself: Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c > index 619926da1441..b952f7d2b7f5 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c > @@ -3,6 +3,8 @@ > * Copyright (c) 2020-2022, Linaro Limited > */ > > +#include <drm/display/drm_dsc_helper.h> > + > #include "dpu_kms.h" > #include "dpu_hw_catalog.h" > #include "dpu_hwio.h" > @@ -102,7 +104,7 @@ static void dpu_hw_dsc_config(struct dpu_hw_dsc *hw_dsc, > data |= dsc->final_offset; > DPU_REG_WRITE(c, DSC_DSC_OFFSET, data); > > - det_thresh_flatness = 7 + 2 * (dsc->bits_per_component - 8); > + det_thresh_flatness = drm_dsc_calculate_flatness_det_thresh(dsc); > data = det_thresh_flatness << 10; > data |= dsc->flatness_max_qp << 5; > data |= dsc->flatness_min_qp; > > -- > 2.40.0 >
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c index 619926da1441..b952f7d2b7f5 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c @@ -3,6 +3,8 @@ * Copyright (c) 2020-2022, Linaro Limited */ +#include <drm/display/drm_dsc_helper.h> + #include "dpu_kms.h" #include "dpu_hw_catalog.h" #include "dpu_hwio.h" @@ -102,7 +104,7 @@ static void dpu_hw_dsc_config(struct dpu_hw_dsc *hw_dsc, data |= dsc->final_offset; DPU_REG_WRITE(c, DSC_DSC_OFFSET, data); - det_thresh_flatness = 7 + 2 * (dsc->bits_per_component - 8); + det_thresh_flatness = drm_dsc_calculate_flatness_det_thresh(dsc); data = det_thresh_flatness << 10; data |= dsc->flatness_max_qp << 5; data |= dsc->flatness_min_qp;