• Home
  • Raw
  • Download

Lines Matching refs:crtc

78 uint32_t pipe2vbl(struct drm_crtc *crtc)  in pipe2vbl()  argument
80 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in pipe2vbl()
124 static void set_enabled(struct drm_crtc *crtc, bool enable);
191 static void omap_crtc_destroy(struct drm_crtc *crtc) in omap_crtc_destroy() argument
193 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_destroy()
198 omap_irq_unregister(crtc->dev, &omap_crtc->error_irq); in omap_crtc_destroy()
200 drm_crtc_cleanup(crtc); in omap_crtc_destroy()
205 static void omap_crtc_dpms(struct drm_crtc *crtc, int mode) in omap_crtc_dpms() argument
207 struct omap_drm_private *priv = crtc->dev->dev_private; in omap_crtc_dpms()
208 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_dpms()
217 omap_crtc_apply(crtc, &omap_crtc->apply); in omap_crtc_dpms()
225 if (plane->crtc == crtc) in omap_crtc_dpms()
231 static bool omap_crtc_mode_fixup(struct drm_crtc *crtc, in omap_crtc_mode_fixup() argument
238 static int omap_crtc_mode_set(struct drm_crtc *crtc, in omap_crtc_mode_set() argument
244 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_mode_set()
260 return omap_plane_mode_set(omap_crtc->plane, crtc, crtc->primary->fb, in omap_crtc_mode_set()
267 static void omap_crtc_prepare(struct drm_crtc *crtc) in omap_crtc_prepare() argument
269 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_prepare()
271 omap_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); in omap_crtc_prepare()
274 static void omap_crtc_commit(struct drm_crtc *crtc) in omap_crtc_commit() argument
276 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_commit()
278 omap_crtc_dpms(crtc, DRM_MODE_DPMS_ON); in omap_crtc_commit()
281 static int omap_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, in omap_crtc_mode_set_base() argument
284 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_mode_set_base()
286 struct drm_display_mode *mode = &crtc->mode; in omap_crtc_mode_set_base()
288 return omap_plane_mode_set(plane, crtc, crtc->primary->fb, in omap_crtc_mode_set_base()
297 struct drm_crtc *crtc = arg; in vblank_cb() local
298 struct drm_device *dev = crtc->dev; in vblank_cb()
299 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in vblank_cb()
318 struct drm_crtc *crtc = &omap_crtc->base; in page_flip_worker() local
319 struct drm_display_mode *mode = &crtc->mode; in page_flip_worker()
322 drm_modeset_lock(&crtc->mutex, NULL); in page_flip_worker()
323 omap_plane_mode_set(omap_crtc->plane, crtc, crtc->primary->fb, in page_flip_worker()
325 crtc->x << 16, crtc->y << 16, in page_flip_worker()
327 vblank_cb, crtc); in page_flip_worker()
328 drm_modeset_unlock(&crtc->mutex); in page_flip_worker()
330 bo = omap_framebuffer_bo(crtc->primary->fb, 0); in page_flip_worker()
336 struct drm_crtc *crtc = arg; in page_flip_cb() local
337 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in page_flip_cb()
338 struct omap_drm_private *priv = crtc->dev->dev_private; in page_flip_cb()
344 static int omap_crtc_page_flip_locked(struct drm_crtc *crtc, in omap_crtc_page_flip_locked() argument
349 struct drm_device *dev = crtc->dev; in omap_crtc_page_flip_locked()
350 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_page_flip_locked()
351 struct drm_plane *primary = crtc->primary; in omap_crtc_page_flip_locked()
379 omap_gem_op_async(bo, OMAP_GEM_READ, page_flip_cb, crtc); in omap_crtc_page_flip_locked()
384 static int omap_crtc_set_property(struct drm_crtc *crtc, in omap_crtc_set_property() argument
387 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_set_property()
388 struct omap_drm_private *priv = crtc->dev->dev_private; in omap_crtc_set_property()
391 crtc->invert_dimensions = in omap_crtc_set_property()
414 const struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc) in omap_crtc_timings() argument
416 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_timings()
420 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc) in omap_crtc_channel() argument
422 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_channel()
430 struct drm_crtc *crtc = &omap_crtc->base; in omap_crtc_error_irq() local
433 __omap_irq_unregister(crtc->dev, &omap_crtc->error_irq); in omap_crtc_error_irq()
440 struct drm_crtc *crtc = &omap_crtc->base; in omap_crtc_apply_irq() local
443 __omap_irq_register(crtc->dev, &omap_crtc->error_irq); in omap_crtc_apply_irq()
447 crtc->dev->dev_private; in omap_crtc_apply_irq()
449 __omap_irq_unregister(crtc->dev, &omap_crtc->apply_irq); in omap_crtc_apply_irq()
458 struct drm_crtc *crtc = &omap_crtc->base; in apply_worker() local
459 struct drm_device *dev = crtc->dev; in apply_worker()
468 drm_modeset_lock(&crtc->mutex, NULL); in apply_worker()
513 drm_modeset_unlock(&crtc->mutex); in apply_worker()
516 int omap_crtc_apply(struct drm_crtc *crtc, in omap_crtc_apply() argument
519 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_apply()
521 WARN_ON(!drm_modeset_is_locked(&crtc->mutex)); in omap_crtc_apply()
536 struct omap_drm_private *priv = crtc->dev->dev_private; in omap_crtc_apply()
544 static void set_enabled(struct drm_crtc *crtc, bool enable) in set_enabled() argument
546 struct drm_device *dev = crtc->dev; in set_enabled()
547 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in set_enabled()
560 omap_irq_unregister(crtc->dev, &omap_crtc->error_irq); in set_enabled()
591 omap_irq_register(crtc->dev, &omap_crtc->error_irq); in set_enabled()
598 struct drm_crtc *crtc = &omap_crtc->base; in omap_crtc_pre_apply() local
605 struct omap_drm_private *priv = crtc->dev->dev_private; in omap_crtc_pre_apply()
608 if (priv->encoders[i]->crtc == crtc) { in omap_crtc_pre_apply()
640 void omap_crtc_flush(struct drm_crtc *crtc) in omap_crtc_flush() argument
642 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_flush()
650 dev_err(crtc->dev->dev, in omap_crtc_flush()
680 struct drm_crtc *crtc = NULL; in omap_crtc_init() local
690 crtc = &omap_crtc->base; in omap_crtc_init()
703 omap_crtc->plane->crtc = crtc; in omap_crtc_init()
707 omap_crtc->apply_irq.irqmask = pipe2vbl(crtc); in omap_crtc_init()
725 drm_crtc_init(dev, crtc, &omap_crtc_funcs); in omap_crtc_init()
726 drm_crtc_helper_add(crtc, &omap_crtc_helper_funcs); in omap_crtc_init()
728 omap_plane_install_properties(omap_crtc->plane, &crtc->base); in omap_crtc_init()
732 return crtc; in omap_crtc_init()
735 if (crtc) in omap_crtc_init()
736 omap_crtc_destroy(crtc); in omap_crtc_init()