Module Name: src Committed By: jmcneill Date: Sat Jan 4 12:08:32 UTC 2020
Modified Files: src/sys/arch/arm/rockchip: rk_anxdp.c src/sys/dev/ic: anx_dp.c anx_dp.h Log Message: Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/rockchip/rk_anxdp.c cvs rdiff -u -r1.1 -r1.2 src/sys/dev/ic/anx_dp.c src/sys/dev/ic/anx_dp.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/rockchip/rk_anxdp.c diff -u src/sys/arch/arm/rockchip/rk_anxdp.c:1.1 src/sys/arch/arm/rockchip/rk_anxdp.c:1.2 --- src/sys/arch/arm/rockchip/rk_anxdp.c:1.1 Thu Dec 19 00:25:59 2019 +++ src/sys/arch/arm/rockchip/rk_anxdp.c Sat Jan 4 12:08:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: rk_anxdp.c,v 1.1 2019/12/19 00:25:59 jakllsch Exp $ */ +/* $NetBSD: rk_anxdp.c,v 1.2 2020/01/04 12:08:32 jmcneill Exp $ */ /*- * Copyright (c) 2019 Jonathan A. Kollasch <jakll...@kollasch.net> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rk_anxdp.c,v 1.1 2019/12/19 00:25:59 jakllsch Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rk_anxdp.c,v 1.2 2020/01/04 12:08:32 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -122,6 +122,14 @@ rk_anxdp_encoder_commit(struct drm_encod { } +static void +rk_anxdp_encoder_dpms(struct drm_encoder *encoder, int mode) +{ + struct rk_anxdp_softc * const sc = to_rk_anxdp_encoder(encoder); + + anxdp_dpms(&sc->sc_base, mode); +} + static const struct drm_encoder_funcs rk_anxdp_encoder_funcs = { .destroy = drm_encoder_cleanup, }; @@ -133,6 +141,7 @@ static const struct drm_encoder_helper_f .enable = rk_anxdp_encoder_enable, .disable = rk_anxdp_encoder_disable, .commit = rk_anxdp_encoder_commit, + .dpms = rk_anxdp_encoder_dpms, }; static int Index: src/sys/dev/ic/anx_dp.c diff -u src/sys/dev/ic/anx_dp.c:1.1 src/sys/dev/ic/anx_dp.c:1.2 --- src/sys/dev/ic/anx_dp.c:1.1 Thu Dec 19 00:23:57 2019 +++ src/sys/dev/ic/anx_dp.c Sat Jan 4 12:08:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: anx_dp.c,v 1.1 2019/12/19 00:23:57 jakllsch Exp $ */ +/* $NetBSD: anx_dp.c,v 1.2 2020/01/04 12:08:32 jmcneill Exp $ */ /*- * Copyright (c) 2019 Jonathan A. Kollasch <jakll...@kollasch.net> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: anx_dp.c,v 1.1 2019/12/19 00:23:57 jakllsch Exp $"); +__KERNEL_RCSID(0, "$NetBSD: anx_dp.c,v 1.2 2020/01/04 12:08:32 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -991,6 +991,21 @@ out: return ret; } +void +anxdp_dpms(struct anxdp_softc *sc, int mode) +{ + switch (mode) { + case DRM_MODE_DPMS_ON: + pmf_event_inject(NULL, PMFE_DISPLAY_ON); + break; + case DRM_MODE_DPMS_STANDBY: + case DRM_MODE_DPMS_SUSPEND: + case DRM_MODE_DPMS_OFF: + pmf_event_inject(NULL, PMFE_DISPLAY_OFF); + break; + } +} + int anxdp_attach(struct anxdp_softc *sc) { Index: src/sys/dev/ic/anx_dp.h diff -u src/sys/dev/ic/anx_dp.h:1.1 src/sys/dev/ic/anx_dp.h:1.2 --- src/sys/dev/ic/anx_dp.h:1.1 Thu Dec 19 00:23:57 2019 +++ src/sys/dev/ic/anx_dp.h Sat Jan 4 12:08:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: anx_dp.h,v 1.1 2019/12/19 00:23:57 jakllsch Exp $ */ +/* $NetBSD: anx_dp.h,v 1.2 2020/01/04 12:08:32 jmcneill Exp $ */ /*- * Copyright (c) 2019 Jonathan A. Kollasch <jakll...@kollasch.net> @@ -74,4 +74,6 @@ struct anxdp_softc { int anxdp_attach(struct anxdp_softc *); int anxdp_bind(struct anxdp_softc *, struct drm_encoder *); +void anxdp_dpms(struct anxdp_softc *, int); + #endif /* !_DEV_IC_ANXDP_H */