lkml.org 
[lkml]   [2023]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v14 04/10] drm/msm/dpu: Guard PINGPONG DSC ops behind DPU_PINGPONG_DSC bit
    Date
    DPU < 7.0.0 has DPU_PINGPONG_DSC feature bit set to indicate it requires
    both dpu_hw_pp_setup_dsc() and dpu_hw_pp_dsc_{enable,disable}() to be
    executed to complete DSC configuration if DSC hardware block is present.
    Hence test DPU_PINGPONG_DSC feature bit and assign DSC related functions
    to the ops of PINGPONG block accordingly if DPU_PINGPONG_DSC bit is set.

    Changes in v6:
    -- split patches, this patch has function handles DPU_PINGPONG_DSC bit

    Changes in v9:
    -- the original code of assigning dsc related functions to the ops of
    pingpong block without testing the DPU_PINGPONG_DSC feature bit was
    restored back due to rebase error which defeat the purpose of this
    patch. Remove those error code.

    Changes in v10:
    -- change commit title
    -- correct texts at changes in v9

    Changes in v12:
    -- fixed length too long at Changes in v9

    Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
    ---
    drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
    index 79e4576..437d9e6 100644
    --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
    +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
    @@ -291,9 +291,12 @@ static void _setup_pingpong_ops(struct dpu_hw_pingpong *c,
    c->ops.get_line_count = dpu_hw_pp_get_line_count;
    c->ops.disable_autorefresh = dpu_hw_pp_disable_autorefresh;
    }
    - c->ops.setup_dsc = dpu_hw_pp_setup_dsc;
    - c->ops.enable_dsc = dpu_hw_pp_dsc_enable;
    - c->ops.disable_dsc = dpu_hw_pp_dsc_disable;
    +
    + if (test_bit(DPU_PINGPONG_DSC, &features)) {
    + c->ops.setup_dsc = dpu_hw_pp_setup_dsc;
    + c->ops.enable_dsc = dpu_hw_pp_dsc_enable;
    + c->ops.disable_dsc = dpu_hw_pp_dsc_disable;
    + }

    if (test_bit(DPU_PINGPONG_DITHER, &features))
    c->ops.setup_dither = dpu_hw_pp_setup_dither;
    --
    2.7.4
    \
     
     \ /
      Last update: 2023-05-25 19:42    [W:2.915 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site