Lines Matching refs:meson_crtc
34 struct meson_crtc { struct
46 #define to_meson_crtc(x) container_of(x, struct meson_crtc, base) argument
52 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_crtc_enable_vblank() local
53 struct meson_drm *priv = meson_crtc->priv; in meson_crtc_enable_vblank()
55 meson_crtc->vsync_disabled = false; in meson_crtc_enable_vblank()
63 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_crtc_disable_vblank() local
64 struct meson_drm *priv = meson_crtc->priv; in meson_crtc_disable_vblank()
66 if (!meson_crtc->vsync_forced) { in meson_crtc_disable_vblank()
67 meson_crtc->vsync_disabled = true; in meson_crtc_disable_vblank()
87 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_g12a_crtc_atomic_enable() local
89 struct meson_drm *priv = meson_crtc->priv; in meson_g12a_crtc_atomic_enable()
123 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_crtc_atomic_enable() local
125 struct meson_drm *priv = meson_crtc->priv; in meson_crtc_atomic_enable()
151 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_g12a_crtc_atomic_disable() local
152 struct meson_drm *priv = meson_crtc->priv; in meson_g12a_crtc_atomic_disable()
176 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_crtc_atomic_disable() local
177 struct meson_drm *priv = meson_crtc->priv; in meson_crtc_atomic_disable()
206 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_crtc_atomic_begin() local
213 meson_crtc->event = crtc->state->event; in meson_crtc_atomic_begin()
222 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); in meson_crtc_atomic_flush() local
223 struct meson_drm *priv = meson_crtc->priv; in meson_crtc_atomic_flush()
315 struct meson_crtc *meson_crtc = to_meson_crtc(priv->crtc); in meson_crtc_irq() local
336 if (meson_crtc->enable_osd1_afbc) in meson_crtc_irq()
337 meson_crtc->enable_osd1_afbc(priv); in meson_crtc_irq()
339 if (meson_crtc->disable_osd1_afbc) in meson_crtc_irq()
340 meson_crtc->disable_osd1_afbc(priv); in meson_crtc_irq()
345 meson_crtc->vsync_forced = false; in meson_crtc_irq()
378 if (meson_crtc->enable_osd1) in meson_crtc_irq()
379 meson_crtc->enable_osd1(priv); in meson_crtc_irq()
385 meson_crtc->vsync_forced = true; in meson_crtc_irq()
477 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
480 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
483 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
486 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
489 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
492 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
495 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
498 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
501 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
504 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
507 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
510 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
513 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
516 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
519 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
522 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
525 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
528 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
531 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
534 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
537 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
540 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
543 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
546 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
549 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
552 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
555 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
558 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
561 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
564 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
567 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
570 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
573 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
576 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
579 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
582 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
585 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
587 writel_relaxed(0, priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
589 writel_relaxed(0, priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
591 writel_relaxed(0, priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
593 writel_relaxed(0, priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
596 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
599 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
602 priv->io_base + meson_crtc->viu_offset + in meson_crtc_irq()
654 if (meson_crtc->enable_vd1) in meson_crtc_irq()
655 meson_crtc->enable_vd1(priv); in meson_crtc_irq()
660 if (meson_crtc->vsync_disabled) in meson_crtc_irq()
666 if (meson_crtc->event) { in meson_crtc_irq()
667 drm_crtc_send_vblank_event(priv->crtc, meson_crtc->event); in meson_crtc_irq()
669 meson_crtc->event = NULL; in meson_crtc_irq()
676 struct meson_crtc *meson_crtc; in meson_crtc_create() local
680 meson_crtc = devm_kzalloc(priv->drm->dev, sizeof(*meson_crtc), in meson_crtc_create()
682 if (!meson_crtc) in meson_crtc_create()
685 meson_crtc->priv = priv; in meson_crtc_create()
686 crtc = &meson_crtc->base; in meson_crtc_create()
696 meson_crtc->enable_osd1 = meson_g12a_crtc_enable_osd1; in meson_crtc_create()
697 meson_crtc->enable_vd1 = meson_g12a_crtc_enable_vd1; in meson_crtc_create()
698 meson_crtc->viu_offset = MESON_G12A_VIU_OFFSET; in meson_crtc_create()
699 meson_crtc->enable_osd1_afbc = in meson_crtc_create()
701 meson_crtc->disable_osd1_afbc = in meson_crtc_create()
705 meson_crtc->enable_osd1 = meson_crtc_enable_osd1; in meson_crtc_create()
706 meson_crtc->enable_vd1 = meson_crtc_enable_vd1; in meson_crtc_create()
708 meson_crtc->enable_osd1_afbc = in meson_crtc_create()
710 meson_crtc->disable_osd1_afbc = in meson_crtc_create()