Lines Matching refs:pp
47 static void dpu_hw_pp_setup_dither(struct dpu_hw_pingpong *pp,
53 c = &pp->hw;
54 base = pp->caps->sblk->dither.base;
78 static int dpu_hw_pp_enable_te(struct dpu_hw_pingpong *pp,
84 if (!pp || !te)
86 c = &pp->hw;
110 static void dpu_hw_pp_setup_autorefresh_config(struct dpu_hw_pingpong *pp,
113 DPU_REG_WRITE(&pp->hw, PP_AUTOREFRESH_CONFIG,
119 * @pp: DPU pingpong structure
124 static bool dpu_hw_pp_get_autorefresh_config(struct dpu_hw_pingpong *pp,
127 u32 val = DPU_REG_READ(&pp->hw, PP_AUTOREFRESH_CONFIG);
133 static int dpu_hw_pp_disable_te(struct dpu_hw_pingpong *pp)
137 if (!pp)
139 c = &pp->hw;
145 static int dpu_hw_pp_connect_external_te(struct dpu_hw_pingpong *pp,
148 struct dpu_hw_blk_reg_map *c = &pp->hw;
152 if (!pp)
155 c = &pp->hw;
163 trace_dpu_pp_connect_ext_te(pp->idx - PINGPONG_0, cfg);
168 static int dpu_hw_pp_get_vsync_info(struct dpu_hw_pingpong *pp,
174 if (!pp || !info)
176 c = &pp->hw;
191 static u32 dpu_hw_pp_get_line_count(struct dpu_hw_pingpong *pp)
193 struct dpu_hw_blk_reg_map *c = &pp->hw;
197 if (!pp)
199 c = &pp->hw;
217 static void dpu_hw_pp_disable_autorefresh(struct dpu_hw_pingpong *pp,
224 if (!dpu_hw_pp_get_autorefresh_config(pp, NULL))
236 dpu_hw_pp_connect_external_te(pp, false);
237 dpu_hw_pp_setup_autorefresh_config(pp, 0, false);
243 DPU_ERROR("enc%d pp%d disable autorefresh failed\n",
244 encoder_id, pp->idx - PINGPONG_0);
250 dpu_hw_pp_get_vsync_info(pp, &info);
254 dpu_hw_pp_connect_external_te(pp, true);
256 DPU_DEBUG("enc%d pp%d disabled autorefresh\n",
257 encoder_id, pp->idx - PINGPONG_0);
260 static int dpu_hw_pp_dsc_enable(struct dpu_hw_pingpong *pp)
262 struct dpu_hw_blk_reg_map *c = &pp->hw;
268 static void dpu_hw_pp_dsc_disable(struct dpu_hw_pingpong *pp)
270 struct dpu_hw_blk_reg_map *c = &pp->hw;
275 static int dpu_hw_pp_setup_dsc(struct dpu_hw_pingpong *pp)
277 struct dpu_hw_blk_reg_map *pp_c = &pp->hw;