lkml.org 
[lkml]   [2023]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v8 3/8] drm/msm/dpu: test DPU_PINGPONG_DSC bit before assign DSC ops to PINGPONG
    Fix the title: "Require DPU_PINGPONG_DSC bit for DSC ops on PINGPONG block"
    Or: "Only enable PINGPONG DSC ops with DPU_PINGPONG_DSC bit"
    Or (my preference): "Guard PINGPONG DSC ops behind DPU_PINGPONG_DSC bit"

    On 2023-05-12 11:00:18, Kuogee Hsieh wrote:
    >
    > 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
    >
    > Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
    > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    > ---
    > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c | 6 ++++++
    > 1 file changed, 6 insertions(+)
    >
    > 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..e7f47a4 100644
    > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
    > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
    > @@ -295,6 +295,12 @@ static void _setup_pingpong_ops(struct dpu_hw_pingpong *c,
    > c->ops.enable_dsc = dpu_hw_pp_dsc_enable;
    > c->ops.disable_dsc = dpu_hw_pp_dsc_disable;

    Nak: the functions are unconditionally assigned right above, while this
    bit of code should have been wrapped/replaced by the addition below.
    Bad rebase?

    - Marijn

    > + 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-14 23:43    [W:4.192 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site