summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>2023-09-04 05:04:47 +0300
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2023-10-09 12:17:46 +0300
commit8277a6208229b4acacfd12816e8c67a8dbb653fa (patch)
tree006b04e726f0dbf80c08af16f1416cf07e0d6410
parenta251c9d8e30833b260101edb9383b176ee2b7cb1 (diff)
downloadlinux-8277a6208229b4acacfd12816e8c67a8dbb653fa.tar.xz
drm/msm/dpu: inline _setup_pingpong_ops()
Inline the _setup_pingpong_ops() function, it makes it easier to handle different conditions involving PINGPONG configuration. Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Patchwork: https://patchwork.freedesktop.org/patch/555545/ Link: https://lore.kernel.org/r/20230904020454.2945667-2-dmitry.baryshkov@linaro.org
-rw-r--r--drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c39
1 files changed, 17 insertions, 22 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 437d9e62a841..9298c166b213 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
@@ -281,27 +281,6 @@ static int dpu_hw_pp_setup_dsc(struct dpu_hw_pingpong *pp)
return 0;
}
-static void _setup_pingpong_ops(struct dpu_hw_pingpong *c,
- unsigned long features)
-{
- if (test_bit(DPU_PINGPONG_TE, &features)) {
- c->ops.enable_tearcheck = dpu_hw_pp_enable_te;
- c->ops.disable_tearcheck = dpu_hw_pp_disable_te;
- c->ops.connect_external_te = dpu_hw_pp_connect_external_te;
- c->ops.get_line_count = dpu_hw_pp_get_line_count;
- c->ops.disable_autorefresh = dpu_hw_pp_disable_autorefresh;
- }
-
- 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;
-};
-
struct dpu_hw_pingpong *dpu_hw_pingpong_init(const struct dpu_pingpong_cfg *cfg,
void __iomem *addr)
{
@@ -316,7 +295,23 @@ struct dpu_hw_pingpong *dpu_hw_pingpong_init(const struct dpu_pingpong_cfg *cfg,
c->idx = cfg->id;
c->caps = cfg;
- _setup_pingpong_ops(c, c->caps->features);
+
+ if (test_bit(DPU_PINGPONG_TE, &cfg->features)) {
+ c->ops.enable_tearcheck = dpu_hw_pp_enable_te;
+ c->ops.disable_tearcheck = dpu_hw_pp_disable_te;
+ c->ops.connect_external_te = dpu_hw_pp_connect_external_te;
+ c->ops.get_line_count = dpu_hw_pp_get_line_count;
+ c->ops.disable_autorefresh = dpu_hw_pp_disable_autorefresh;
+ }
+
+ if (test_bit(DPU_PINGPONG_DSC, &cfg->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, &cfg->features))
+ c->ops.setup_dither = dpu_hw_pp_setup_dither;
return c;
}