drm/msm/dpu: Use fixed DRM DSC helper for det_thresh_flatness
The current dpu_hw_dsc calculation for det_thresh_flatness does not
match the downstream calculation or the DSC spec.
Use the DRM DSC helper for det_thresh_flatness to match downstream
implementation and the DSC spec.
Fixes: c110cfd175
("drm/msm/disp/dpu1: Add support for DSC")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/539275/
Link: https://lore.kernel.org/r/20230329-rfc-msm-dsc-helper-v14-6-bafc7be95691@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
This commit is contained in:
parent
b50f06f83e
commit
44346191a2
|
@ -3,6 +3,8 @@
|
||||||
* Copyright (c) 2020-2022, Linaro Limited
|
* Copyright (c) 2020-2022, Linaro Limited
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <drm/display/drm_dsc_helper.h>
|
||||||
|
|
||||||
#include "dpu_kms.h"
|
#include "dpu_kms.h"
|
||||||
#include "dpu_hw_catalog.h"
|
#include "dpu_hw_catalog.h"
|
||||||
#include "dpu_hwio.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;
|
data |= dsc->final_offset;
|
||||||
DPU_REG_WRITE(c, DSC_DSC_OFFSET, data);
|
DPU_REG_WRITE(c, DSC_DSC_OFFSET, data);
|
||||||
|
|
||||||
det_thresh_flatness = 7 + 2 * (dsc->bits_per_component - 8);
|
det_thresh_flatness = drm_dsc_flatness_det_thresh(dsc);
|
||||||
data = det_thresh_flatness << 10;
|
data = det_thresh_flatness << 10;
|
||||||
data |= dsc->flatness_max_qp << 5;
|
data |= dsc->flatness_max_qp << 5;
|
||||||
data |= dsc->flatness_min_qp;
|
data |= dsc->flatness_min_qp;
|
||||||
|
|
Loading…
Reference in New Issue