Lines Matching full:viu
114 line_stride = ((priv->viu.osd1_width << 4) + 127) >> 7; in meson_g12a_afbcd_line_stride()
121 line_stride = ((priv->viu.osd1_width << 5) + 127) >> 7; in meson_g12a_afbcd_line_stride()
160 priv->viu.osd1_afbcd = true; in meson_plane_atomic_update()
162 priv->viu.osd1_afbcd = false; in meson_plane_atomic_update()
165 priv->viu.osd1_ctrl_stat = OSD_ENABLE | in meson_plane_atomic_update()
169 priv->viu.osd1_ctrl_stat2 = readl(priv->io_base + in meson_plane_atomic_update()
175 priv->viu.osd1_blk0_cfg[0] = canvas_id_osd1 << OSD_CANVAS_SEL; in meson_plane_atomic_update()
177 if (priv->viu.osd1_afbcd) { in meson_plane_atomic_update()
180 priv->viu.osd1_blk1_cfg4 = MESON_G12A_AFBCD_OUT_ADDR; in meson_plane_atomic_update()
181 priv->viu.osd1_blk0_cfg[0] |= OSD_ENDIANNESS_BE; in meson_plane_atomic_update()
182 priv->viu.osd1_ctrl_stat2 |= OSD_PENDING_STAT_CLEAN; in meson_plane_atomic_update()
183 priv->viu.osd1_ctrl_stat |= VIU_OSD1_CFG_SYN_EN; in meson_plane_atomic_update()
187 priv->viu.osd1_blk0_cfg[0] |= OSD_ENDIANNESS_LE; in meson_plane_atomic_update()
188 priv->viu.osd1_ctrl_stat2 |= OSD_DPATH_MALI_AFBCD; in meson_plane_atomic_update()
191 priv->viu.osd1_blk0_cfg[0] |= OSD_ENDIANNESS_LE; in meson_plane_atomic_update()
194 priv->viu.osd1_ctrl_stat2 &= ~OSD_DPATH_MALI_AFBCD; in meson_plane_atomic_update()
199 priv->viu.osd1_blk0_cfg[0] |= OSD_OUTPUT_COLOR_RGB; in meson_plane_atomic_update()
201 if (priv->viu.osd1_afbcd && in meson_plane_atomic_update()
203 priv->viu.osd1_blk0_cfg[0] |= OSD_MALI_SRC_EN | in meson_plane_atomic_update()
210 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_32 | in meson_plane_atomic_update()
215 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_32 | in meson_plane_atomic_update()
219 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_24 | in meson_plane_atomic_update()
223 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_16 | in meson_plane_atomic_update()
233 priv->viu.osd1_ctrl_stat2 |= OSD_REPLACE_EN; in meson_plane_atomic_update()
238 priv->viu.osd1_ctrl_stat2 &= ~OSD_REPLACE_EN; in meson_plane_atomic_update()
288 priv->viu.osd_sc_i_wh_m1 = SCI_WH_M1_W(src_w - 1) | in meson_plane_atomic_update()
290 priv->viu.osd_sc_o_h_start_end = SCO_HV_START(dest.x1) | in meson_plane_atomic_update()
292 priv->viu.osd_sc_o_v_start_end = SCO_HV_START(dest.y1) | in meson_plane_atomic_update()
295 priv->viu.osd_sc_ctrl0 = SC_CTRL0_PATH_EN | SC_CTRL0_SEL_OSD1; in meson_plane_atomic_update()
297 priv->viu.osd_sc_i_wh_m1 = 0; in meson_plane_atomic_update()
298 priv->viu.osd_sc_o_h_start_end = 0; in meson_plane_atomic_update()
299 priv->viu.osd_sc_o_v_start_end = 0; in meson_plane_atomic_update()
300 priv->viu.osd_sc_ctrl0 = 0; in meson_plane_atomic_update()
305 priv->viu.osd_sc_v_ctrl0 = in meson_plane_atomic_update()
312 priv->viu.osd_sc_v_ctrl0 |= in meson_plane_atomic_update()
317 priv->viu.osd_sc_v_phase_step = SC_PHASE_STEP(vf_phase_step); in meson_plane_atomic_update()
318 priv->viu.osd_sc_v_ini_phase = VSC_INI_PHASE_BOT(bot_ini_phase); in meson_plane_atomic_update()
320 priv->viu.osd_sc_v_ctrl0 = 0; in meson_plane_atomic_update()
321 priv->viu.osd_sc_v_phase_step = 0; in meson_plane_atomic_update()
322 priv->viu.osd_sc_v_ini_phase = 0; in meson_plane_atomic_update()
327 priv->viu.osd_sc_h_ctrl0 = in meson_plane_atomic_update()
332 priv->viu.osd_sc_h_phase_step = SC_PHASE_STEP(hf_phase_step); in meson_plane_atomic_update()
333 priv->viu.osd_sc_h_ini_phase = 0; in meson_plane_atomic_update()
335 priv->viu.osd_sc_h_ctrl0 = 0; in meson_plane_atomic_update()
336 priv->viu.osd_sc_h_phase_step = 0; in meson_plane_atomic_update()
337 priv->viu.osd_sc_h_ini_phase = 0; in meson_plane_atomic_update()
345 priv->viu.osd1_blk0_cfg[1] = in meson_plane_atomic_update()
348 priv->viu.osd1_blk0_cfg[2] = in meson_plane_atomic_update()
351 priv->viu.osd1_blk0_cfg[3] = ((dest.x2 - 1) << 16) | dest.x1; in meson_plane_atomic_update()
352 priv->viu.osd1_blk0_cfg[4] = ((dest.y2 - 1) << 16) | dest.y1; in meson_plane_atomic_update()
355 priv->viu.osd_blend_din0_scope_h = ((dest.x2 - 1) << 16) | dest.x1; in meson_plane_atomic_update()
356 priv->viu.osd_blend_din0_scope_v = ((dest.y2 - 1) << 16) | dest.y1; in meson_plane_atomic_update()
357 priv->viu.osb_blend0_size = dst_h << 16 | dst_w; in meson_plane_atomic_update()
358 priv->viu.osb_blend1_size = dst_h << 16 | dst_w; in meson_plane_atomic_update()
364 priv->viu.osd1_addr = gem->paddr; in meson_plane_atomic_update()
365 priv->viu.osd1_stride = fb->pitches[0]; in meson_plane_atomic_update()
366 priv->viu.osd1_height = fb->height; in meson_plane_atomic_update()
367 priv->viu.osd1_width = fb->width; in meson_plane_atomic_update()
369 if (priv->viu.osd1_afbcd) { in meson_plane_atomic_update()
375 priv->viu.osd1_blk2_cfg4 = in meson_plane_atomic_update()
388 priv->viu.osd1_enabled = true; in meson_plane_atomic_update()
413 priv->viu.osd1_enabled = false; in meson_plane_atomic_disable()