Lines Matching refs:tilcdc_crtc

24 struct tilcdc_crtc {  struct
41 #define to_tilcdc_crtc(x) container_of(x, struct tilcdc_crtc, base) argument
45 struct tilcdc_crtc *tilcdc_crtc = in unref_worker() local
46 container_of(work, struct tilcdc_crtc, unref_work); in unref_worker()
47 struct drm_device *dev = tilcdc_crtc->base.dev; in unref_worker()
67 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in set_scanout() local
72 tilcdc_write(dev, base_reg[n], tilcdc_crtc->start); in set_scanout()
73 tilcdc_write(dev, ceil_reg[n], tilcdc_crtc->end); in set_scanout()
74 if (tilcdc_crtc->scanout[n]) { in set_scanout()
75 drm_flip_work_queue(&tilcdc_crtc->unref_work, tilcdc_crtc->scanout[n]); in set_scanout()
76 drm_flip_work_commit(&tilcdc_crtc->unref_work, priv->wq); in set_scanout()
78 tilcdc_crtc->scanout[n] = crtc->primary->fb; in set_scanout()
79 drm_framebuffer_reference(tilcdc_crtc->scanout[n]); in set_scanout()
80 tilcdc_crtc->dirty &= ~stat[n]; in set_scanout()
86 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in update_scanout() local
95 tilcdc_crtc->start = gem->paddr + fb->offsets[0] + in update_scanout()
98 tilcdc_crtc->end = tilcdc_crtc->start + in update_scanout()
101 if (tilcdc_crtc->dpms == DRM_MODE_DPMS_ON) { in update_scanout()
105 tilcdc_crtc->dirty |= LCDC_END_OF_FRAME0 | LCDC_END_OF_FRAME1; in update_scanout()
140 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_destroy() local
142 WARN_ON(tilcdc_crtc->dpms == DRM_MODE_DPMS_ON); in tilcdc_crtc_destroy()
145 drm_flip_work_cleanup(&tilcdc_crtc->unref_work); in tilcdc_crtc_destroy()
147 kfree(tilcdc_crtc); in tilcdc_crtc_destroy()
155 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_page_flip() local
158 if (tilcdc_crtc->event) { in tilcdc_crtc_page_flip()
164 tilcdc_crtc->event = event; in tilcdc_crtc_page_flip()
172 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_dpms() local
180 if (tilcdc_crtc->dpms == mode) in tilcdc_crtc_dpms()
183 tilcdc_crtc->dpms = mode; in tilcdc_crtc_dpms()
191 tilcdc_crtc->frame_done = false; in tilcdc_crtc_dpms()
200 tilcdc_crtc->frame_done_wq, in tilcdc_crtc_dpms()
201 tilcdc_crtc->frame_done, in tilcdc_crtc_dpms()
235 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_mode_set() local
238 const struct tilcdc_panel_info *info = tilcdc_crtc->info; in tilcdc_crtc_mode_set()
532 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_set_panel_info() local
533 tilcdc_crtc->info = info; in tilcdc_crtc_set_panel_info()
538 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_update_clk() local
541 int dpms = tilcdc_crtc->dpms; in tilcdc_crtc_update_clk()
582 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_irq() local
597 uint32_t dirty = tilcdc_crtc->dirty & stat; in tilcdc_crtc_irq()
610 event = tilcdc_crtc->event; in tilcdc_crtc_irq()
611 tilcdc_crtc->event = NULL; in tilcdc_crtc_irq()
616 if (dirty && !tilcdc_crtc->dirty) in tilcdc_crtc_irq()
622 tilcdc_crtc->frame_done = true; in tilcdc_crtc_irq()
623 wake_up(&tilcdc_crtc->frame_done_wq); in tilcdc_crtc_irq()
633 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_cancel_page_flip() local
642 event = tilcdc_crtc->event; in tilcdc_crtc_cancel_page_flip()
644 tilcdc_crtc->event = NULL; in tilcdc_crtc_cancel_page_flip()
653 struct tilcdc_crtc *tilcdc_crtc; in tilcdc_crtc_create() local
657 tilcdc_crtc = kzalloc(sizeof(*tilcdc_crtc), GFP_KERNEL); in tilcdc_crtc_create()
658 if (!tilcdc_crtc) { in tilcdc_crtc_create()
663 crtc = &tilcdc_crtc->base; in tilcdc_crtc_create()
665 tilcdc_crtc->dpms = DRM_MODE_DPMS_OFF; in tilcdc_crtc_create()
666 init_waitqueue_head(&tilcdc_crtc->frame_done_wq); in tilcdc_crtc_create()
668 drm_flip_work_init(&tilcdc_crtc->unref_work, in tilcdc_crtc_create()