Lines Matching refs:crtc

62 to_vc4_crtc(struct drm_crtc *crtc)  in to_vc4_crtc()  argument
64 return (struct vc4_crtc *)crtc; in to_vc4_crtc()
115 struct drm_crtc *crtc; in vc4_crtc_debugfs_regs() local
120 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in vc4_crtc_debugfs_regs()
125 if (!crtc) in vc4_crtc_debugfs_regs()
127 vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_debugfs_regs()
139 static void vc4_crtc_destroy(struct drm_crtc *crtc) in vc4_crtc_destroy() argument
141 drm_crtc_cleanup(crtc); in vc4_crtc_destroy()
166 static int vc4_get_clock_select(struct drm_crtc *crtc) in vc4_get_clock_select() argument
170 drm_for_each_connector(connector, crtc->dev) { in vc4_get_clock_select()
171 if (connector->state->crtc == crtc) { in vc4_get_clock_select()
183 static void vc4_crtc_mode_set_nofb(struct drm_crtc *crtc) in vc4_crtc_mode_set_nofb() argument
185 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_mode_set_nofb()
186 struct drm_crtc_state *state = crtc->state; in vc4_crtc_mode_set_nofb()
192 int clock_select = vc4_get_clock_select(crtc); in vc4_crtc_mode_set_nofb()
195 DRM_INFO("CRTC %d regs before:\n", drm_crtc_index(crtc)); in vc4_crtc_mode_set_nofb()
244 DRM_INFO("CRTC %d regs after:\n", drm_crtc_index(crtc)); in vc4_crtc_mode_set_nofb()
257 static void vc4_crtc_disable(struct drm_crtc *crtc) in vc4_crtc_disable() argument
259 struct drm_device *dev = crtc->dev; in vc4_crtc_disable()
261 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_disable()
295 static void vc4_crtc_enable(struct drm_crtc *crtc) in vc4_crtc_enable() argument
297 struct drm_device *dev = crtc->dev; in vc4_crtc_enable()
299 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_enable()
300 struct drm_crtc_state *state = crtc->state; in vc4_crtc_enable()
318 static int vc4_crtc_atomic_check(struct drm_crtc *crtc, in vc4_crtc_atomic_check() argument
321 struct drm_device *dev = crtc->dev; in vc4_crtc_atomic_check()
324 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_atomic_check()
330 if (drm_atomic_connectors_for_crtc(state->state, crtc) > 1) in vc4_crtc_atomic_check()
364 static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, in vc4_crtc_atomic_flush() argument
367 struct drm_device *dev = crtc->dev; in vc4_crtc_atomic_flush()
369 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_atomic_flush()
375 DRM_INFO("CRTC %d HVS before:\n", drm_crtc_index(crtc)); in vc4_crtc_atomic_flush()
387 drm_atomic_crtc_for_each_plane(plane, crtc) { in vc4_crtc_atomic_flush()
413 DRM_INFO("CRTC %d HVS after:\n", drm_crtc_index(crtc)); in vc4_crtc_atomic_flush()
417 if (crtc->state->event) { in vc4_crtc_atomic_flush()
420 crtc->state->event->pipe = drm_crtc_index(crtc); in vc4_crtc_atomic_flush()
422 WARN_ON(drm_crtc_vblank_get(crtc) != 0); in vc4_crtc_atomic_flush()
425 vc4_crtc->event = crtc->state->event; in vc4_crtc_atomic_flush()
427 crtc->state->event = NULL; in vc4_crtc_atomic_flush()
434 struct vc4_crtc *vc4_crtc = vc4->crtc[crtc_id]; in vc4_enable_vblank()
444 struct vc4_crtc *vc4_crtc = vc4->crtc[crtc_id]; in vc4_disable_vblank()
451 struct drm_crtc *crtc = &vc4_crtc->base; in vc4_crtc_handle_page_flip() local
452 struct drm_device *dev = crtc->dev; in vc4_crtc_handle_page_flip()
457 drm_crtc_send_vblank_event(crtc, vc4_crtc->event); in vc4_crtc_handle_page_flip()
502 void vc4_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file) in vc4_cancel_page_flip() argument
504 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_cancel_page_flip()
505 struct drm_device *dev = crtc->dev; in vc4_cancel_page_flip()
512 drm_crtc_vblank_put(crtc); in vc4_cancel_page_flip()
545 struct drm_crtc *crtc) in vc4_set_crtc_possible_masks() argument
547 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_set_crtc_possible_masks()
555 encoder->possible_crtcs |= drm_crtc_mask(crtc); in vc4_set_crtc_possible_masks()
558 encoder->possible_crtcs |= drm_crtc_mask(crtc); in vc4_set_crtc_possible_masks()
569 struct drm_crtc *crtc; in vc4_crtc_bind() local
577 crtc = &vc4_crtc->base; in vc4_crtc_bind()
608 drm_crtc_init_with_planes(drm, crtc, primary_plane, cursor_plane, in vc4_crtc_bind()
610 drm_crtc_helper_add(crtc, &vc4_crtc_helper_funcs); in vc4_crtc_bind()
611 primary_plane->crtc = crtc; in vc4_crtc_bind()
612 cursor_plane->crtc = crtc; in vc4_crtc_bind()
613 vc4->crtc[drm_crtc_index(crtc)] = vc4_crtc; in vc4_crtc_bind()
623 vc4_set_crtc_possible_masks(drm, crtc); in vc4_crtc_bind()