Module Name:    src
Committed By:   jmcneill
Date:           Sat Feb 16 16:20:50 UTC 2019

Modified Files:
        src/sys/arch/arm/sunxi: sunxi_mixer.c

Log Message:
Fix HDMI output; only install cursor_set/cursor_move funcs if hardware cursor 
is available.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/sunxi/sunxi_mixer.c

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/sunxi/sunxi_mixer.c
diff -u src/sys/arch/arm/sunxi/sunxi_mixer.c:1.6 src/sys/arch/arm/sunxi/sunxi_mixer.c:1.7
--- src/sys/arch/arm/sunxi/sunxi_mixer.c:1.6	Wed Feb  6 03:07:08 2019
+++ src/sys/arch/arm/sunxi/sunxi_mixer.c	Sat Feb 16 16:20:50 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_mixer.c,v 1.6 2019/02/06 03:07:08 jmcneill Exp $ */
+/* $NetBSD: sunxi_mixer.c,v 1.7 2019/02/16 16:20:50 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2019 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_mixer.c,v 1.6 2019/02/06 03:07:08 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_mixer.c,v 1.7 2019/02/16 16:20:50 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -420,7 +420,7 @@ sunxi_mixer_cursor_move(struct drm_crtc 
 	return 0;
 }
 
-static const struct drm_crtc_funcs sunxi_mixer_crtc_funcs = {
+static const struct drm_crtc_funcs sunxi_mixer0_crtc_funcs = {
 	.set_config = drm_crtc_helper_set_config,
 	.destroy = sunxi_mixer_destroy,
 	.page_flip = sunxi_mixer_page_flip,
@@ -428,6 +428,12 @@ static const struct drm_crtc_funcs sunxi
 	.cursor_move = sunxi_mixer_cursor_move,
 };
 
+static const struct drm_crtc_funcs sunxi_mixer1_crtc_funcs = {
+	.set_config = drm_crtc_helper_set_config,
+	.destroy = sunxi_mixer_destroy,
+	.page_flip = sunxi_mixer_page_flip,
+};
+
 static void
 sunxi_mixer_dpms(struct drm_crtc *crtc, int mode)
 {
@@ -1184,7 +1190,10 @@ sunxi_mixer_ep_activate(device_t dev, st
 	BLD_WRITE(sc, BLD_CTL(2), 0x03010301);
 	BLD_WRITE(sc, BLD_CTL(3), 0x03010301);
 
-	drm_crtc_init(ddev, &sc->sc_crtc.base, &sunxi_mixer_crtc_funcs);
+	if (sc->sc_ovl_ui_count > 1)
+		drm_crtc_init(ddev, &sc->sc_crtc.base, &sunxi_mixer0_crtc_funcs);
+	else
+		drm_crtc_init(ddev, &sc->sc_crtc.base, &sunxi_mixer1_crtc_funcs);
 	drm_crtc_helper_add(&sc->sc_crtc.base, &sunxi_mixer_crtc_helper_funcs);
 
 	drm_universal_plane_init(ddev, &sc->sc_overlay.base,

Reply via email to