Lines Matching refs:viu
119 line_stride = ((priv->viu.osd1_width << 4) + 127) >> 7; in meson_g12a_afbcd_line_stride()
126 line_stride = ((priv->viu.osd1_width << 5) + 127) >> 7; in meson_g12a_afbcd_line_stride()
166 priv->viu.osd1_afbcd = true; in meson_plane_atomic_update()
168 priv->viu.osd1_afbcd = false; in meson_plane_atomic_update()
171 priv->viu.osd1_ctrl_stat = OSD_ENABLE | in meson_plane_atomic_update()
175 priv->viu.osd1_ctrl_stat2 = readl(priv->io_base + in meson_plane_atomic_update()
181 priv->viu.osd1_blk0_cfg[0] = canvas_id_osd1 << OSD_CANVAS_SEL; in meson_plane_atomic_update()
183 if (priv->viu.osd1_afbcd) { in meson_plane_atomic_update()
186 priv->viu.osd1_blk1_cfg4 = MESON_G12A_AFBCD_OUT_ADDR; in meson_plane_atomic_update()
187 priv->viu.osd1_blk0_cfg[0] |= OSD_ENDIANNESS_BE; in meson_plane_atomic_update()
188 priv->viu.osd1_ctrl_stat2 |= OSD_PENDING_STAT_CLEAN; in meson_plane_atomic_update()
189 priv->viu.osd1_ctrl_stat |= VIU_OSD1_CFG_SYN_EN; in meson_plane_atomic_update()
193 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()
197 priv->viu.osd1_blk0_cfg[0] |= OSD_ENDIANNESS_LE; in meson_plane_atomic_update()
200 priv->viu.osd1_ctrl_stat2 &= ~OSD_DPATH_MALI_AFBCD; in meson_plane_atomic_update()
205 priv->viu.osd1_blk0_cfg[0] |= OSD_OUTPUT_COLOR_RGB; in meson_plane_atomic_update()
207 if (priv->viu.osd1_afbcd && in meson_plane_atomic_update()
209 priv->viu.osd1_blk0_cfg[0] |= OSD_MALI_SRC_EN | in meson_plane_atomic_update()
216 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_32 | in meson_plane_atomic_update()
221 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_32 | in meson_plane_atomic_update()
225 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_24 | in meson_plane_atomic_update()
229 priv->viu.osd1_blk0_cfg[0] |= OSD_BLK_MODE_16 | in meson_plane_atomic_update()
239 priv->viu.osd1_ctrl_stat2 |= OSD_REPLACE_EN; in meson_plane_atomic_update()
244 priv->viu.osd1_ctrl_stat2 &= ~OSD_REPLACE_EN; in meson_plane_atomic_update()
294 priv->viu.osd_sc_i_wh_m1 = SCI_WH_M1_W(src_w - 1) | in meson_plane_atomic_update()
296 priv->viu.osd_sc_o_h_start_end = SCO_HV_START(dest.x1) | in meson_plane_atomic_update()
298 priv->viu.osd_sc_o_v_start_end = SCO_HV_START(dest.y1) | in meson_plane_atomic_update()
301 priv->viu.osd_sc_ctrl0 = SC_CTRL0_PATH_EN | SC_CTRL0_SEL_OSD1; in meson_plane_atomic_update()
303 priv->viu.osd_sc_i_wh_m1 = 0; in meson_plane_atomic_update()
304 priv->viu.osd_sc_o_h_start_end = 0; in meson_plane_atomic_update()
305 priv->viu.osd_sc_o_v_start_end = 0; in meson_plane_atomic_update()
306 priv->viu.osd_sc_ctrl0 = 0; in meson_plane_atomic_update()
311 priv->viu.osd_sc_v_ctrl0 = in meson_plane_atomic_update()
318 priv->viu.osd_sc_v_ctrl0 |= in meson_plane_atomic_update()
323 priv->viu.osd_sc_v_phase_step = SC_PHASE_STEP(vf_phase_step); in meson_plane_atomic_update()
324 priv->viu.osd_sc_v_ini_phase = VSC_INI_PHASE_BOT(bot_ini_phase); in meson_plane_atomic_update()
326 priv->viu.osd_sc_v_ctrl0 = 0; in meson_plane_atomic_update()
327 priv->viu.osd_sc_v_phase_step = 0; in meson_plane_atomic_update()
328 priv->viu.osd_sc_v_ini_phase = 0; in meson_plane_atomic_update()
333 priv->viu.osd_sc_h_ctrl0 = in meson_plane_atomic_update()
338 priv->viu.osd_sc_h_phase_step = SC_PHASE_STEP(hf_phase_step); in meson_plane_atomic_update()
339 priv->viu.osd_sc_h_ini_phase = 0; in meson_plane_atomic_update()
341 priv->viu.osd_sc_h_ctrl0 = 0; in meson_plane_atomic_update()
342 priv->viu.osd_sc_h_phase_step = 0; in meson_plane_atomic_update()
343 priv->viu.osd_sc_h_ini_phase = 0; in meson_plane_atomic_update()
351 priv->viu.osd1_blk0_cfg[1] = in meson_plane_atomic_update()
354 priv->viu.osd1_blk0_cfg[2] = in meson_plane_atomic_update()
357 priv->viu.osd1_blk0_cfg[3] = ((dest.x2 - 1) << 16) | dest.x1; in meson_plane_atomic_update()
358 priv->viu.osd1_blk0_cfg[4] = ((dest.y2 - 1) << 16) | dest.y1; in meson_plane_atomic_update()
361 priv->viu.osd_blend_din0_scope_h = ((dest.x2 - 1) << 16) | dest.x1; in meson_plane_atomic_update()
362 priv->viu.osd_blend_din0_scope_v = ((dest.y2 - 1) << 16) | dest.y1; in meson_plane_atomic_update()
363 priv->viu.osb_blend0_size = dst_h << 16 | dst_w; in meson_plane_atomic_update()
364 priv->viu.osb_blend1_size = dst_h << 16 | dst_w; in meson_plane_atomic_update()
370 priv->viu.osd1_addr = gem->dma_addr; in meson_plane_atomic_update()
371 priv->viu.osd1_stride = fb->pitches[0]; in meson_plane_atomic_update()
372 priv->viu.osd1_height = fb->height; in meson_plane_atomic_update()
373 priv->viu.osd1_width = fb->width; in meson_plane_atomic_update()
375 if (priv->viu.osd1_afbcd) { in meson_plane_atomic_update()
381 priv->viu.osd1_blk2_cfg4 = in meson_plane_atomic_update()
394 priv->viu.osd1_enabled = true; in meson_plane_atomic_update()
419 priv->viu.osd1_enabled = false; in meson_plane_atomic_disable()