Commit 8277a620 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

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: default avatarMarijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/555545/
Link: https://lore.kernel.org/r/20230904020454.2945667-2-dmitry.baryshkov@linaro.org
parent a251c9d8
Loading
Loading
Loading
Loading
+17 −22
Original line number Diff line number Diff line
@@ -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;
}