Lines Matching refs:vop_win

62 #define to_vop_win(x) container_of(x, struct vop_win, base)
71 struct vop_win { struct
121 struct vop_win win[];
532 static struct drm_framebuffer *vop_win_last_pending_fb(struct vop_win *vop_win) in vop_win_last_pending_fb() argument
535 struct vop_win_state *active = vop_win->active; in vop_win_last_pending_fb()
537 if (list_empty(&vop_win->pending)) in vop_win_last_pending_fb()
540 last = list_last_entry(&vop_win->pending, struct vop_win_state, head); in vop_win_last_pending_fb()
547 static int vop_win_queue_fb(struct vop_win *vop_win, in vop_win_queue_fb() argument
561 list_add_tail(&state->head, &vop_win->pending); in vop_win_queue_fb()
575 struct vop_win *vop_win = to_vop_win(plane); in vop_update_plane_event() local
576 const struct vop_win_data *win = vop_win->data; in vop_update_plane_event()
658 if (fb != vop_win_last_pending_fb(vop_win)) { in vop_update_plane_event()
668 ret = vop_win_queue_fb(vop_win, fb, yrgb_mst, event); in vop_update_plane_event()
740 struct vop_win *vop_win = to_vop_win(plane); in vop_disable_plane() local
741 const struct vop_win_data *win = vop_win->data; in vop_disable_plane()
758 ret = vop_win_queue_fb(vop_win, NULL, 0, NULL); in vop_disable_plane()
1007 static void vop_win_state_complete(struct vop_win *vop_win, in vop_win_state_complete() argument
1010 struct vop *vop = vop_win->vop; in vop_win_state_complete()
1036 static bool vop_win_state_is_active(struct vop_win *vop_win, in vop_win_state_is_active() argument
1045 yrgb_mst = VOP_WIN_GET_YRGBADDR(vop_win->vop, vop_win->data); in vop_win_state_is_active()
1052 enabled = VOP_WIN_GET(vop_win->vop, vop_win->data, enable); in vop_win_state_is_active()
1070 static void vop_win_update_state(struct vop_win *vop_win) in vop_win_update_state() argument
1075 list_for_each_entry(state, &vop_win->pending, head) in vop_win_update_state()
1076 if (vop_win_state_is_active(vop_win, state)) { in vop_win_update_state()
1088 list_for_each_entry_safe(state, n, &vop_win->pending, head) { in vop_win_update_state()
1091 vop_win_state_complete(vop_win, state); in vop_win_update_state()
1095 vop_win_state_complete(vop_win, new_active); in vop_win_update_state()
1097 if (vop_win->active) in vop_win_update_state()
1098 vop_win_state_destroy(vop_win->active); in vop_win_update_state()
1099 vop_win->active = new_active; in vop_win_update_state()
1102 static bool vop_win_has_pending_state(struct vop_win *vop_win) in vop_win_has_pending_state() argument
1104 return !list_empty(&vop_win->pending); in vop_win_has_pending_state()
1121 struct vop_win *vop_win = &vop->win[i]; in vop_isr_thread() local
1123 vop_win_update_state(vop_win); in vop_isr_thread()
1124 if (vop_win_has_pending_state(vop_win)) in vop_isr_thread()
1194 struct vop_win *vop_win = &vop->win[i]; in vop_create_crtc() local
1195 const struct vop_win_data *win_data = vop_win->data; in vop_create_crtc()
1201 ret = drm_universal_plane_init(vop->drm_dev, &vop_win->base, in vop_create_crtc()
1211 plane = &vop_win->base; in vop_create_crtc()
1230 struct vop_win *vop_win = &vop->win[i]; in vop_create_crtc() local
1231 const struct vop_win_data *win_data = vop_win->data; in vop_create_crtc()
1237 ret = drm_universal_plane_init(vop->drm_dev, &vop_win->base, in vop_create_crtc()
1394 struct vop_win *vop_win = &vop->win[i]; in vop_win_init() local
1397 vop_win->data = win_data; in vop_win_init()
1398 vop_win->vop = vop; in vop_win_init()
1399 INIT_LIST_HEAD(&vop_win->pending); in vop_win_init()