Lines Matching refs:win

44 #define VOP_WIN_SET(vop, win, name, v) \  argument
45 vop_reg_set(vop, &win->phy->name, win->base, ~0, v, #name)
46 #define VOP_SCL_SET(vop, win, name, v) \ argument
47 vop_reg_set(vop, &win->phy->scl->name, win->base, ~0, v, #name)
48 #define VOP_SCL_SET_EXT(vop, win, name, v) \ argument
49 vop_reg_set(vop, &win->phy->scl->ext->name, \
50 win->base, ~0, v, #name)
87 #define VOP_WIN_GET(vop, win, name) \ argument
88 vop_read_reg(vop, win->base, &win->phy->name)
90 #define VOP_WIN_HAS_REG(win, name) \ argument
91 (!!(win->phy->name.mask))
93 #define VOP_WIN_GET_YRGBADDR(vop, win) \ argument
94 vop_readl(vop, win->base + win->phy->yrgb_mst.offset)
97 ((vop_win) - (vop_win)->vop->win)
187 struct vop_win win[]; member
358 static void scl_vop_cal_scl_fac(struct vop *vop, const struct vop_win_data *win, in scl_vop_cal_scl_fac() argument
381 if (!win->phy->scl->ext) { in scl_vop_cal_scl_fac()
382 VOP_SCL_SET(vop, win, scale_yrgb_x, in scl_vop_cal_scl_fac()
384 VOP_SCL_SET(vop, win, scale_yrgb_y, in scl_vop_cal_scl_fac()
387 VOP_SCL_SET(vop, win, scale_cbcr_x, in scl_vop_cal_scl_fac()
389 VOP_SCL_SET(vop, win, scale_cbcr_y, in scl_vop_cal_scl_fac()
412 VOP_SCL_SET_EXT(vop, win, lb_mode, lb_mode); in scl_vop_cal_scl_fac()
431 VOP_SCL_SET(vop, win, scale_yrgb_x, val); in scl_vop_cal_scl_fac()
434 VOP_SCL_SET(vop, win, scale_yrgb_y, val); in scl_vop_cal_scl_fac()
436 VOP_SCL_SET_EXT(vop, win, vsd_yrgb_gt4, vskiplines == 4); in scl_vop_cal_scl_fac()
437 VOP_SCL_SET_EXT(vop, win, vsd_yrgb_gt2, vskiplines == 2); in scl_vop_cal_scl_fac()
439 VOP_SCL_SET_EXT(vop, win, yrgb_hor_scl_mode, yrgb_hor_scl_mode); in scl_vop_cal_scl_fac()
440 VOP_SCL_SET_EXT(vop, win, yrgb_ver_scl_mode, yrgb_ver_scl_mode); in scl_vop_cal_scl_fac()
441 VOP_SCL_SET_EXT(vop, win, yrgb_hsd_mode, SCALE_DOWN_BIL); in scl_vop_cal_scl_fac()
442 VOP_SCL_SET_EXT(vop, win, yrgb_vsd_mode, SCALE_DOWN_BIL); in scl_vop_cal_scl_fac()
443 VOP_SCL_SET_EXT(vop, win, yrgb_vsu_mode, vsu_mode); in scl_vop_cal_scl_fac()
447 VOP_SCL_SET(vop, win, scale_cbcr_x, val); in scl_vop_cal_scl_fac()
450 VOP_SCL_SET(vop, win, scale_cbcr_y, val); in scl_vop_cal_scl_fac()
452 VOP_SCL_SET_EXT(vop, win, vsd_cbcr_gt4, vskiplines == 4); in scl_vop_cal_scl_fac()
453 VOP_SCL_SET_EXT(vop, win, vsd_cbcr_gt2, vskiplines == 2); in scl_vop_cal_scl_fac()
454 VOP_SCL_SET_EXT(vop, win, cbcr_hor_scl_mode, cbcr_hor_scl_mode); in scl_vop_cal_scl_fac()
455 VOP_SCL_SET_EXT(vop, win, cbcr_ver_scl_mode, cbcr_ver_scl_mode); in scl_vop_cal_scl_fac()
456 VOP_SCL_SET_EXT(vop, win, cbcr_hsd_mode, SCALE_DOWN_BIL); in scl_vop_cal_scl_fac()
457 VOP_SCL_SET_EXT(vop, win, cbcr_vsd_mode, SCALE_DOWN_BIL); in scl_vop_cal_scl_fac()
458 VOP_SCL_SET_EXT(vop, win, cbcr_vsu_mode, vsu_mode); in scl_vop_cal_scl_fac()
583 const struct vop_win_data *win = vop_win->data; in vop_win_disable() local
585 if (win->phy->scl && win->phy->scl->ext) { in vop_win_disable()
586 VOP_SCL_SET_EXT(vop, win, yrgb_hor_scl_mode, SCALE_NONE); in vop_win_disable()
587 VOP_SCL_SET_EXT(vop, win, yrgb_ver_scl_mode, SCALE_NONE); in vop_win_disable()
588 VOP_SCL_SET_EXT(vop, win, cbcr_hor_scl_mode, SCALE_NONE); in vop_win_disable()
589 VOP_SCL_SET_EXT(vop, win, cbcr_ver_scl_mode, SCALE_NONE); in vop_win_disable()
592 VOP_WIN_SET(vop, win, enable, 0); in vop_win_disable()
643 struct vop_win *vop_win = &vop->win[i]; in vop_enable()
695 struct vop_win *vop_win = &vop->win[i]; in rockchip_drm_set_win_enabled()
696 const struct vop_win_data *win = vop_win->data; in rockchip_drm_set_win_enabled() local
698 VOP_WIN_SET(vop, win, enable, in rockchip_drm_set_win_enabled()
802 const struct vop_win_data *win = vop_win->data; in vop_plane_atomic_check() local
804 int min_scale = win->phy->scl ? FRAC_16_16(1, 8) : in vop_plane_atomic_check()
806 int max_scale = win->phy->scl ? FRAC_16_16(8, 1) : in vop_plane_atomic_check()
899 const struct vop_win_data *win = vop_win->data; in vop_plane_atomic_update() local
972 VOP_WIN_SET(vop, win, format, format); in vop_plane_atomic_update()
973 VOP_WIN_SET(vop, win, yrgb_vir, DIV_ROUND_UP(fb->pitches[0], 4)); in vop_plane_atomic_update()
974 VOP_WIN_SET(vop, win, yrgb_mst, dma_addr); in vop_plane_atomic_update()
976 VOP_WIN_SET(vop, win, y_mir_en, in vop_plane_atomic_update()
978 VOP_WIN_SET(vop, win, x_mir_en, in vop_plane_atomic_update()
993 VOP_WIN_SET(vop, win, uv_vir, DIV_ROUND_UP(fb->pitches[1], 4)); in vop_plane_atomic_update()
994 VOP_WIN_SET(vop, win, uv_mst, dma_addr); in vop_plane_atomic_update()
1004 VOP_WIN_SET(vop, win, uv_swap, uv_swap); in vop_plane_atomic_update()
1007 if (win->phy->scl) in vop_plane_atomic_update()
1008 scl_vop_cal_scl_fac(vop, win, actual_w, actual_h, in vop_plane_atomic_update()
1012 VOP_WIN_SET(vop, win, act_info, act_info); in vop_plane_atomic_update()
1013 VOP_WIN_SET(vop, win, dsp_info, dsp_info); in vop_plane_atomic_update()
1014 VOP_WIN_SET(vop, win, dsp_st, dsp_st); in vop_plane_atomic_update()
1017 VOP_WIN_SET(vop, win, rb_swap, rb_swap); in vop_plane_atomic_update()
1027 VOP_WIN_SET(vop, win, dst_alpha_ctl, in vop_plane_atomic_update()
1034 VOP_WIN_SET(vop, win, src_alpha_ctl, val); in vop_plane_atomic_update()
1036 VOP_WIN_SET(vop, win, alpha_pre_mul, ALPHA_SRC_PRE_MUL); in vop_plane_atomic_update()
1037 VOP_WIN_SET(vop, win, alpha_mode, ALPHA_PER_PIX); in vop_plane_atomic_update()
1038 VOP_WIN_SET(vop, win, alpha_en, 1); in vop_plane_atomic_update()
1040 VOP_WIN_SET(vop, win, src_alpha_ctl, SRC_ALPHA_EN(0)); in vop_plane_atomic_update()
1041 VOP_WIN_SET(vop, win, alpha_en, 0); in vop_plane_atomic_update()
1044 VOP_WIN_SET(vop, win, enable, 1); in vop_plane_atomic_update()
1055 const struct vop_win_data *win = vop_win->data; in vop_plane_atomic_async_check() local
1056 int min_scale = win->phy->scl ? FRAC_16_16(1, 8) : in vop_plane_atomic_async_check()
1058 int max_scale = win->phy->scl ? FRAC_16_16(8, 1) : in vop_plane_atomic_async_check()
1845 struct vop_win *vop_win = &vop->win[i]; in vop_create_crtc()
1889 struct vop_win *vop_win = &vop->win[i]; in vop_create_crtc()
2043 struct vop_win *vop_win = &vop->win[i]; in vop_initial()
2044 const struct vop_win_data *win = vop_win->data; in vop_initial() local
2047 VOP_WIN_SET(vop, win, channel, (channel + 1) << 4 | channel); in vop_initial()
2049 VOP_WIN_SET(vop, win, gate, 1); in vop_initial()
2096 struct vop_win *vop_win = &vop->win[i]; in vop_win_init()
2097 const struct vop_win_data *win_data = &vop_data->win[i]; in vop_win_init()
2170 vop = devm_kzalloc(dev, struct_size(vop, win, vop_data->win_size), in vop_bind()