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 */

Reply via email to