meson_crtc
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
struct meson_drm *priv = meson_crtc->priv;
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
struct meson_drm *priv = meson_crtc->priv;
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
struct meson_drm *priv = meson_crtc->priv;
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
meson_crtc->event = crtc->state->event;
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
struct meson_drm *priv = meson_crtc->priv;
struct meson_crtc *meson_crtc = to_meson_crtc(priv->crtc);
if (meson_crtc->enable_osd1_afbc)
meson_crtc->enable_osd1_afbc(priv);
if (meson_crtc->disable_osd1_afbc)
meson_crtc->disable_osd1_afbc(priv);
meson_crtc->vsync_forced = false;
if (meson_crtc->enable_osd1)
meson_crtc->enable_osd1(priv);
meson_crtc->vsync_forced = true;
#define to_meson_crtc(x) container_of(x, struct meson_crtc, base)
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
struct meson_drm *priv = meson_crtc->priv;
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
meson_crtc->vsync_disabled = false;
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
writel_relaxed(0, priv->io_base + meson_crtc->viu_offset +
writel_relaxed(0, priv->io_base + meson_crtc->viu_offset +
writel_relaxed(0, priv->io_base + meson_crtc->viu_offset +
writel_relaxed(0, priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
priv->io_base + meson_crtc->viu_offset +
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
struct meson_drm *priv = meson_crtc->priv;
if (meson_crtc->enable_vd1)
meson_crtc->enable_vd1(priv);
if (!meson_crtc->vsync_forced) {
if (meson_crtc->vsync_disabled)
if (meson_crtc->event) {
drm_crtc_send_vblank_event(priv->crtc, meson_crtc->event);
meson_crtc->event = NULL;
meson_crtc->vsync_disabled = true;
struct meson_crtc *meson_crtc;
meson_crtc = devm_kzalloc(priv->drm->dev, sizeof(*meson_crtc),
if (!meson_crtc)
meson_crtc->priv = priv;
crtc = &meson_crtc->base;
meson_crtc->enable_osd1 = meson_g12a_crtc_enable_osd1;
meson_crtc->enable_vd1 = meson_g12a_crtc_enable_vd1;
meson_crtc->viu_offset = MESON_G12A_VIU_OFFSET;
meson_crtc->enable_osd1_afbc =
meson_crtc->disable_osd1_afbc =
meson_crtc->enable_osd1 = meson_crtc_enable_osd1;
meson_crtc->enable_vd1 = meson_crtc_enable_vd1;
meson_crtc->enable_osd1_afbc =
meson_crtc->disable_osd1_afbc =
struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
struct meson_drm *priv = meson_crtc->priv;