Index: arch/arm/rockchip/rk_vop.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/rockchip/rk_vop.c,v retrieving revision 1.5 diff -p -u -r1.5 rk_vop.c --- arch/arm/rockchip/rk_vop.c 17 Dec 2019 18:30:51 -0000 1.5 +++ arch/arm/rockchip/rk_vop.c 5 Jan 2020 12:11:41 -0000 @@ -265,6 +265,27 @@ static const struct drm_crtc_funcs rk_vo static void rk_vop_dpms(struct drm_crtc *crtc, int mode) { + struct rk_vop_crtc *mixer_crtc = to_rk_vop_crtc(crtc); + struct rk_vop_softc * const sc = mixer_crtc->sc; + uint32_t val; + + val = RD4(sc, VOP_SYS_CTRL); + + switch (mode) { + case DRM_MODE_DPMS_ON: + val &= ~VOP_STANDBY_EN; + break; + case DRM_MODE_DPMS_STANDBY: + case DRM_MODE_DPMS_SUSPEND: + case DRM_MODE_DPMS_OFF: + val |= VOP_STANDBY_EN; + break; + } + + WR4(sc, VOP_SYS_CTRL, val); + + /* Commit settings */ + WR4(sc, VOP_REG_CFG_DONE, REG_LOAD_EN); } static bool