CVS commit: src/sys/external/bsd/drm2/i915drm

2019-01-26 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Sun Jan 27 05:00:48 UTC 2019

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Fix merge botch.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.35 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.36
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.35	Sun Jan 27 02:08:42 2019
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Sun Jan 27 05:00:48 2019
@@ -1,6 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.35 2019/01/27 02:08:42 pgoyette Exp $
-
-version	20180827
+#	$NetBSD: files.i915drmkms,v 1.36 2019/01/27 05:00:48 kre Exp $
 
 version	20180827
 



CVS commit: src/sys/external/bsd/drm2/i915drm

2019-01-19 Thread David A. Holland
Module Name:src
Committed By:   dholland
Date:   Sat Jan 19 16:58:29 UTC 2019

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
i915drmkms requires firmload. PR 53892


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.33 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.34
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.33	Fri Sep 21 11:27:13 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Sat Jan 19 16:58:29 2019
@@ -1,9 +1,9 @@
-#	$NetBSD: files.i915drmkms,v 1.33 2018/09/21 11:27:13 kamil Exp $
+#	$NetBSD: files.i915drmkms,v 1.34 2019/01/19 16:58:29 dholland Exp $
 
 version	20180827
 
 define	intelfbbus	{ }
-device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
+device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810, firmload
 attach	i915drmkms at pci
 
 device	intelfb: intelfbbus, drmfb, drmfb_pci, wsemuldisplaydev



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-09-21 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Fri Sep 21 11:27:13 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Appease GCC with a kernel sanitizer

Add -Wno-maybe-uninitialized for intel_sprite.c that is a false positive.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.32 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.33
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.32	Mon Aug 27 16:06:01 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Fri Sep 21 11:27:13 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.32 2018/08/27 16:06:01 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.33 2018/09/21 11:27:13 kamil Exp $
 
 version	20180827
 
@@ -22,6 +22,8 @@ makeoptions	i915drmkms	"CWARNFLAGS.i915d
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == gcc:? -Wno-override-init :}"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
 
+makeoptions 	i915drmkms 	"CWARNFLAGS.intel_sprite.c"+="${${ACTIVE_CC} == gcc:? -Wno-maybe-uninitialized :}"
+
 file	external/bsd/drm2/i915drm/i915_module.c		i915drmkms
 file	external/bsd/drm2/i915drm/i915_pci.c		i915drmkms
 file	external/bsd/drm2/i915drm/intel_gtt.c		i915drmkms



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 16:15:23 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: intel_gtt.c

Log Message:
Convert to uintmax_t if we're going to use %jx.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/external/bsd/drm2/i915drm/intel_gtt.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/external/bsd/drm2/i915drm/intel_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.10 src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.11
--- src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.10	Mon Aug 27 16:15:09 2018
+++ src/sys/external/bsd/drm2/i915drm/intel_gtt.c	Mon Aug 27 16:15:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: intel_gtt.c,v 1.10 2018/08/27 16:15:09 riastradh Exp $	*/
+/*	$NetBSD: intel_gtt.c,v 1.11 2018/08/27 16:15:23 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 /* Intel GTT stubs */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.10 2018/08/27 16:15:09 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.11 2018/08/27 16:15:23 riastradh Exp $");
 
 #include 
 #include 
@@ -187,7 +187,7 @@ intel_gtt_insert_sg_entries(bus_dmamap_t
 		}
 		KASSERTMSG(len == 0,
 		"segment length not divisible by PAGE_SIZE: %jx",
-		dmamap->dm_segs[seg].ds_len);
+		(uintmax_t)dmamap->dm_segs[seg].ds_len);
 	}
 	agp_i810_post_gtt_entry(isc, (va - PAGE_SIZE));
 	intel_gtt_chipset_flush();



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 14:48:35 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: intel_gtt.c

Log Message:
Cope with multi-page segments.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/i915drm/intel_gtt.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/external/bsd/drm2/i915drm/intel_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.8 src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.9
--- src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.8	Mon Aug 27 07:17:01 2018
+++ src/sys/external/bsd/drm2/i915drm/intel_gtt.c	Mon Aug 27 14:48:35 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: intel_gtt.c,v 1.8 2018/08/27 07:17:01 riastradh Exp $	*/
+/*	$NetBSD: intel_gtt.c,v 1.9 2018/08/27 14:48:35 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 /* Intel GTT stubs */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.8 2018/08/27 07:17:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.9 2018/08/27 14:48:35 riastradh Exp $");
 
 #include 
 #include 
@@ -170,17 +170,24 @@ intel_gtt_insert_sg_entries(bus_dmamap_t
 
 	for (seg = 0; seg < dmamap->dm_nsegs; seg++) {
 		const bus_addr_t addr = dmamap->dm_segs[seg].ds_addr;
+		bus_size_t len;
 
-		KASSERT(dmamap->dm_segs[seg].ds_len == PAGE_SIZE);
-
-		/* XXX Respect flags.  */
-		error = agp_i810_write_gtt_entry(isc, va, addr, gtt_flags);
-		if (error)
-			device_printf(agp_i810_sc->as_dev,
-			"write gtt entry"
-			" %"PRIxMAX" -> %"PRIxMAX" failed: %d\n",
-			(uintmax_t)va, (uintmax_t)(addr | 1), error);
-		va += PAGE_SIZE;
+		for (len = dmamap->dm_segs[seg].ds_len;
+		 len >= PAGE_SIZE;
+		 len -= PAGE_SIZE, va += PAGE_SIZE) {
+			/* XXX Respect flags.  */
+			error = agp_i810_write_gtt_entry(isc, va, addr,
+			gtt_flags);
+			if (error)
+device_printf(agp_i810_sc->as_dev,
+"write gtt entry"
+" %"PRIxMAX" -> %"PRIxMAX" failed: %d\n",
+(uintmax_t)va, (uintmax_t)(addr | 1),
+error);
+		}
+		KASSERTMSG(len == 0,
+		"segment length not divisible by PAGE_SIZE: %jx",
+		dmamap->dm_segs[seg].ds_len);
 	}
 	agp_i810_post_gtt_entry(isc, (va - PAGE_SIZE));
 	intel_gtt_chipset_flush();



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 13:54:15 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Put override directory first in CPPFLAGS.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.29 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.30
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.29	Mon Aug 27 13:54:04 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 13:54:15 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.29 2018/08/27 13:54:04 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.30 2018/08/27 13:54:15 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -7,9 +7,10 @@ attach	i915drmkms at pci
 device	intelfb: intelfbbus, drmfb, drmfb_pci, wsemuldisplaydev
 attach	intelfb at intelfbbus
 
-makeoptions	i915drmkms	CPPFLAGS+="-I$S/external/bsd/drm2/dist/drm/i915"
 makeoptions	i915drmkms	CPPFLAGS+="-I$S/external/bsd/drm2/i915drm"
 
+makeoptions	i915drmkms	CPPFLAGS+="-I$S/external/bsd/drm2/dist/drm/i915"
+
 makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_FBDEV=1"
 makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=0"
 makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_FBDEV_EMULATION=1"



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 13:54:05 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Move CPPFLAGS to top, CWARNFLAGS below.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.28 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.29
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.28	Mon Aug 27 13:53:52 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 13:54:04 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.28 2018/08/27 13:53:52 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.29 2018/08/27 13:54:04 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -10,16 +10,15 @@ attach	intelfb at intelfbbus
 makeoptions	i915drmkms	CPPFLAGS+="-I$S/external/bsd/drm2/dist/drm/i915"
 makeoptions	i915drmkms	CPPFLAGS+="-I$S/external/bsd/drm2/i915drm"
 
+makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_FBDEV=1"
+makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=0"
+makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_FBDEV_EMULATION=1"
+
 makeoptions	i915drmkms	"CWARNFLAGS.i915drmkms"+="-Wno-shadow"
 
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == gcc:? -Wno-override-init :}"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
 
-# XXX x86 kludge.
-makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_FBDEV=1"
-makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=0"
-makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_FBDEV_EMULATION=1"
-
 file	external/bsd/drm2/i915drm/i915_module.c		i915drmkms
 file	external/bsd/drm2/i915drm/i915_pci.c		i915drmkms
 file	external/bsd/drm2/i915drm/intel_gtt.c		i915drmkms



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 13:53:52 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Omit commented warn flag, evidently needless.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.27 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.28
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.27	Mon Aug 27 13:35:15 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 13:53:52 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.27 2018/08/27 13:35:15 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.28 2018/08/27 13:53:52 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -14,7 +14,6 @@ makeoptions	i915drmkms	"CWARNFLAGS.i915d
 
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == gcc:? -Wno-override-init :}"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
-#makeoptions 	i915drmkms 	"CWARNFLAGS.intel_display.c"+="-Wno-conversion"
 
 # XXX x86 kludge.
 makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_FBDEV=1"



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 13:40:03 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
i915 needs firmware now too, so defer to mountroot.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.16 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.17
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.16	Mon Aug 27 07:57:12 2018
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Mon Aug 27 13:40:03 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.16 2018/08/27 07:57:12 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.17 2018/08/27 13:40:03 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: i915_pci.c,v 1.16 2018/08/27 07:57:12 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_pci.c,v 1.17 2018/08/27 13:40:03 riastradh Exp $");
 
 #include 
 #include 
@@ -47,6 +47,7 @@ SIMPLEQ_HEAD(i915drmkms_task_head, i915d
 
 struct i915drmkms_softc {
 	device_t			sc_dev;
+	struct pci_attach_args		sc_pa;
 	enum {
 		I915DRMKMS_TASK_ATTACH,
 		I915DRMKMS_TASK_WORKQUEUE,
@@ -64,6 +65,7 @@ static const struct intel_device_info *
 
 static int	i915drmkms_match(device_t, cfdata_t, void *);
 static void	i915drmkms_attach(device_t, device_t, void *);
+static void	i915drmkms_attach_real(device_t);
 static int	i915drmkms_detach(device_t, int);
 
 static bool	i915drmkms_suspend(device_t, const pmf_qual_t *);
@@ -139,14 +141,6 @@ i915drmkms_attach(device_t parent, devic
 {
 	struct i915drmkms_softc *const sc = device_private(self);
 	const struct pci_attach_args *const pa = aux;
-	const struct intel_device_info *const info = i915drmkms_pci_lookup(pa);
-	const unsigned long cookie =
-	(unsigned long)(uintptr_t)(const void *)info;
-	int error;
-
-	KASSERT(info != NULL);
-
-	sc->sc_dev = self;
 
 	pci_aprint_devinfo(pa, NULL);
 
@@ -154,6 +148,29 @@ i915drmkms_attach(device_t parent, devic
 		_resume))
 		aprint_error_dev(self, "unable to establish power handler\n");
 
+	/*
+	 * Trivial initialization first; the rest will come after we
+	 * have mounted the root file system and can load firmware
+	 * images.
+	 */
+	sc->sc_dev = self;
+	sc->sc_pa = *pa;
+
+	config_mountroot(self, _attach_real);
+}
+
+static void
+i915drmkms_attach_real(device_t self)
+{
+	struct i915drmkms_softc *const sc = device_private(self);
+	struct pci_attach_args *const pa = >sc_pa;
+	const struct intel_device_info *const info = i915drmkms_pci_lookup(pa);
+	const unsigned long cookie =
+	(unsigned long)(uintptr_t)(const void *)info;
+	int error;
+
+	KASSERT(info != NULL);
+
 	sc->sc_task_state = I915DRMKMS_TASK_ATTACH;
 	SIMPLEQ_INIT(>sc_task_u.attach);
 



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 13:35:15 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms
Added Files:
src/sys/external/bsd/drm2/i915drm: intel_dsi.c

Log Message:
Stub out intel_dsi_init.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/external/bsd/drm2/i915drm/files.i915drmkms
cvs rdiff -u -r0 -r1.1 src/sys/external/bsd/drm2/i915drm/intel_dsi.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/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.26 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.27
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.26	Mon Aug 27 07:56:59 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 13:35:15 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.26 2018/08/27 07:56:59 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.27 2018/08/27 13:35:15 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -69,7 +69,7 @@ file	external/bsd/drm2/dist/drm/i915/int
 file	external/bsd/drm2/dist/drm/i915/intel_display.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dp.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dp_mst.c	i915drmkms
-#file	external/bsd/drm2/dist/drm/i915/intel_dsi.c	i915drmkms
+file	external/bsd/drm2/i915drm/intel_dsi.c	i915drmkms
 #file	external/bsd/drm2/dist/drm/i915/intel_dsi_panel_vbt.c	i915drmkms
 #file	external/bsd/drm2/dist/drm/i915/intel_dsi_pll.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dvo.c	i915drmkms

Added files:

Index: src/sys/external/bsd/drm2/i915drm/intel_dsi.c
diff -u /dev/null src/sys/external/bsd/drm2/i915drm/intel_dsi.c:1.1
--- /dev/null	Mon Aug 27 13:35:15 2018
+++ src/sys/external/bsd/drm2/i915drm/intel_dsi.c	Mon Aug 27 13:35:15 2018
@@ -0,0 +1,40 @@
+/*	$NetBSD: intel_dsi.c,v 1.1 2018/08/27 13:35:15 riastradh Exp $	*/
+
+/*-
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Taylor R. Campbell.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include 
+__KERNEL_RCSID(0, "$NetBSD: intel_dsi.c,v 1.1 2018/08/27 13:35:15 riastradh Exp $");
+
+#include "i915_drv.h"
+
+void
+intel_dsi_init(struct drm_device *dev)
+{
+}



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:56:14 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms
Added Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_userptr.c

Log Message:
Override i915_gem_userptr.c with stubs for now.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/external/bsd/drm2/i915drm/files.i915drmkms
cvs rdiff -u -r0 -r1.1 src/sys/external/bsd/drm2/i915drm/i915_gem_userptr.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/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.24 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.25
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.24	Mon Aug 27 07:55:17 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:56:13 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.24 2018/08/27 07:55:17 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.25 2018/08/27 07:56:13 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -49,7 +49,7 @@ file	external/bsd/drm2/dist/drm/i915/i91
 file	external/bsd/drm2/dist/drm/i915/i915_gem_shrinker.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_tiling.c	i915drmkms
-#file	external/bsd/drm2/dist/drm/i915/i915_gem_userptr.c	i915drmkms
+file	external/bsd/drm2/i915drm/i915_gem_userptr.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gpu_error.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_guc_submission.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_irq.c	i915drmkms

Added files:

Index: src/sys/external/bsd/drm2/i915drm/i915_gem_userptr.c
diff -u /dev/null src/sys/external/bsd/drm2/i915drm/i915_gem_userptr.c:1.1
--- /dev/null	Mon Aug 27 07:56:14 2018
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_userptr.c	Mon Aug 27 07:56:13 2018
@@ -0,0 +1,48 @@
+/*	$NetBSD: i915_gem_userptr.c,v 1.1 2018/08/27 07:56:13 riastradh Exp $	*/
+
+/*-
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Taylor R. Campbell.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include 
+__KERNEL_RCSID(0, "$NetBSD: i915_gem_userptr.c,v 1.1 2018/08/27 07:56:13 riastradh Exp $");
+
+#include "i915_drv.h"
+
+int
+i915_gem_init_userptr(struct drm_device *dev)
+{
+	return 0;
+}
+
+int
+i915_gem_userptr_ioctl(struct drm_device *dev, void *data,
+struct drm_file *file)
+{
+	return -ENODEV;
+}



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:55:17 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms i915drmkms2netbsd

Log Message:
Restore intel_fbdev.c.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/external/bsd/drm2/i915drm/files.i915drmkms
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/i915drm/i915drmkms2netbsd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.23 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.24
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.23	Mon Aug 27 07:26:18 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:55:17 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.23 2018/08/27 07:26:18 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.24 2018/08/27 07:55:17 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -74,6 +74,7 @@ file	external/bsd/drm2/dist/drm/i915/int
 #file	external/bsd/drm2/dist/drm/i915/intel_dsi_pll.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dvo.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_fbc.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_fbdev.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_fifo_underrun.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_frontbuffer.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_guc_loader.c	i915drmkms

Index: src/sys/external/bsd/drm2/i915drm/i915drmkms2netbsd
diff -u src/sys/external/bsd/drm2/i915drm/i915drmkms2netbsd:1.1 src/sys/external/bsd/drm2/i915drm/i915drmkms2netbsd:1.2
--- src/sys/external/bsd/drm2/i915drm/i915drmkms2netbsd:1.1	Mon Aug 27 05:36:15 2018
+++ src/sys/external/bsd/drm2/i915drm/i915drmkms2netbsd	Mon Aug 27 07:55:17 2018
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#	$NetBSD: i915drmkms2netbsd,v 1.1 2018/08/27 05:36:15 riastradh Exp $
+#	$NetBSD: i915drmkms2netbsd,v 1.2 2018/08/27 07:55:17 riastradh Exp $
 #
 # $ /path/to/i915drmkms2netbsd > /path/to/files.i915drmkms.new
 #
@@ -15,6 +15,7 @@ i915drmkms_top=external/bsd/drm2/dist/dr
 i915drmkms_flag=i915drmkms
 
 env CONFIG_ACPI=y \
+env CONFIG_DRM_FBDEV_EMULATION=y \
 env src=. \
 make -f Makefile -V '$(i915-y)' \
 | tr ' ' '\n' \



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:26:18 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Disable mipi dsi stuff until I can figure it out.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.22 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.23
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.22	Mon Aug 27 07:21:01 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:26:18 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.22 2018/08/27 07:21:01 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.23 2018/08/27 07:26:18 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -69,9 +69,9 @@ file	external/bsd/drm2/dist/drm/i915/int
 file	external/bsd/drm2/dist/drm/i915/intel_display.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dp.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dp_mst.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/intel_dsi.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/intel_dsi_panel_vbt.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/intel_dsi_pll.c	i915drmkms
+#file	external/bsd/drm2/dist/drm/i915/intel_dsi.c	i915drmkms
+#file	external/bsd/drm2/dist/drm/i915/intel_dsi_panel_vbt.c	i915drmkms
+#file	external/bsd/drm2/dist/drm/i915/intel_dsi_pll.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dvo.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_fbc.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_fifo_underrun.c	i915drmkms



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:21:01 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Just do all of i915drmkms with -Wno-shadow.


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.21 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.22
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.21	Mon Aug 27 07:19:34 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:21:01 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.21 2018/08/27 07:19:34 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.22 2018/08/27 07:21:01 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -10,15 +10,11 @@ attach	intelfb at intelfbbus
 makeoptions	i915drmkms	CPPFLAGS+="-I$S/external/bsd/drm2/dist/drm/i915"
 makeoptions	i915drmkms	CPPFLAGS+="-I$S/external/bsd/drm2/i915drm"
 
+makeoptions	i915drmkms	"CWARNFLAGS.i915drmkms"+="-Wno-shadow"
+
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == gcc:? -Wno-override-init :}"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
-makeoptions	i915drmkms	"CWARNFLAGS.i915_gem.c"+="-Wno-shadow"
-makeoptions	i915drmkms	"CWARNFLAGS.i915_gem_gtt.c"+="-Wno-shadow"
-makeoptions	i915drmkms	"CWARNFLAGS.i915_gpu_error.c"+="-Wno-shadow"
-makeoptions 	i915drmkms 	"CWARNFLAGS.i915_vgpu.c"+="-Wno-shadow"
-makeoptions 	i915drmkms 	"CWARNFLAGS.intel_display.c"+="-Wno-shadow -Wno-conversion"
-makeoptions 	i915drmkms 	"CWARNFLAGS.intel_panel.c"+="-Wno-shadow"
-makeoptions 	i915drmkms 	"CWARNFLAGS.intel_pm.c"+="-Wno-shadow"
+#makeoptions 	i915drmkms 	"CWARNFLAGS.intel_display.c"+="-Wno-conversion"
 
 # XXX x86 kludge.
 makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_FBDEV=1"



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:19:34 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Disable intel_audio.c until we figure out how to make it talk to hdaudio.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.20 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.21
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.20	Mon Aug 27 07:17:21 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:19:34 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.20 2018/08/27 07:17:21 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.21 2018/08/27 07:19:34 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -65,7 +65,7 @@ file	external/bsd/drm2/dist/drm/i915/i91
 file	external/bsd/drm2/dist/drm/i915/intel_acpi.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_atomic.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_atomic_plane.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/intel_audio.c	i915drmkms
+#file	external/bsd/drm2/dist/drm/i915/intel_audio.c	i915drmkms	# XXX hdaudio
 file	external/bsd/drm2/dist/drm/i915/intel_bios.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_crt.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_csr.c	i915drmkms



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:17:21 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
i915_gem_gtt.c shadows.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.19 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.20
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.19	Mon Aug 27 07:15:39 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:17:21 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.19 2018/08/27 07:15:39 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.20 2018/08/27 07:17:21 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -13,6 +13,7 @@ makeoptions	i915drmkms	CPPFLAGS+="-I$S/e
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == gcc:? -Wno-override-init :}"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
 makeoptions	i915drmkms	"CWARNFLAGS.i915_gem.c"+="-Wno-shadow"
+makeoptions	i915drmkms	"CWARNFLAGS.i915_gem_gtt.c"+="-Wno-shadow"
 makeoptions	i915drmkms	"CWARNFLAGS.i915_gpu_error.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_vgpu.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_display.c"+="-Wno-shadow -Wno-conversion"



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:15:39 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Override i915_sysfs.c.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.18 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.19
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.18	Mon Aug 27 07:15:29 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:15:39 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.18 2018/08/27 07:15:29 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.19 2018/08/27 07:15:39 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -58,7 +58,7 @@ file	external/bsd/drm2/dist/drm/i915/i91
 file	external/bsd/drm2/dist/drm/i915/i915_irq.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_params.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_suspend.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/i915_sysfs.c	i915drmkms
+file	external/bsd/drm2/i915drm/i915_sysfs.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_trace_points.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_vgpu.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_acpi.c	i915drmkms



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:15:29 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Allow shadowing in i915_vgpu.c.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.17 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.18
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.17	Mon Aug 27 07:09:17 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:15:29 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.17 2018/08/27 07:09:17 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.18 2018/08/27 07:15:29 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -14,6 +14,7 @@ makeoptions 	i915drmkms 	"CWARNFLAGS.i91
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
 makeoptions	i915drmkms	"CWARNFLAGS.i915_gem.c"+="-Wno-shadow"
 makeoptions	i915drmkms	"CWARNFLAGS.i915_gpu_error.c"+="-Wno-shadow"
+makeoptions 	i915drmkms 	"CWARNFLAGS.i915_vgpu.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_display.c"+="-Wno-shadow -Wno-conversion"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_panel.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_pm.c"+="-Wno-shadow"



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:09:17 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
i915_gpu_error.c shadows, don't worry about it.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.16 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.17
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.16	Mon Aug 27 07:06:50 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:09:17 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.16 2018/08/27 07:06:50 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.17 2018/08/27 07:09:17 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -13,6 +13,7 @@ makeoptions	i915drmkms	CPPFLAGS+="-I$S/e
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == gcc:? -Wno-override-init :}"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
 makeoptions	i915drmkms	"CWARNFLAGS.i915_gem.c"+="-Wno-shadow"
+makeoptions	i915drmkms	"CWARNFLAGS.i915_gpu_error.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_display.c"+="-Wno-shadow -Wno-conversion"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_panel.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_pm.c"+="-Wno-shadow"



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:06:50 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Don't worry about shadowing here.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.15 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.16
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.15	Mon Aug 27 06:34:56 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 07:06:50 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.15 2018/08/27 06:34:56 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.16 2018/08/27 07:06:50 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -12,6 +12,7 @@ makeoptions	i915drmkms	CPPFLAGS+="-I$S/e
 
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == gcc:? -Wno-override-init :}"
 makeoptions 	i915drmkms 	"CWARNFLAGS.i915_drv.c"+="${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}"
+makeoptions	i915drmkms	"CWARNFLAGS.i915_gem.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_display.c"+="-Wno-shadow -Wno-conversion"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_panel.c"+="-Wno-shadow"
 makeoptions 	i915drmkms 	"CWARNFLAGS.intel_pm.c"+="-Wno-shadow"



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 06:34:56 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Think we're gonna need to override i915_gem_userptr.c.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.14 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.15
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.14	Mon Aug 27 06:16:37 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 06:34:56 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.14 2018/08/27 06:16:37 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.15 2018/08/27 06:34:56 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -49,7 +49,7 @@ file	external/bsd/drm2/dist/drm/i915/i91
 file	external/bsd/drm2/dist/drm/i915/i915_gem_shrinker.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_tiling.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/i915_gem_userptr.c	i915drmkms
+#file	external/bsd/drm2/dist/drm/i915/i915_gem_userptr.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gpu_error.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_guc_submission.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_irq.c	i915drmkms



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-26 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 05:44:57 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
regen files.i915drmkms


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.12 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.13
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.12	Mon Aug 27 05:36:26 2018
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 05:44:57 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.12 2018/08/27 05:36:26 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.13 2018/08/27 05:44:57 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -33,45 +33,67 @@ file	external/bsd/drm2/dist/drm/i915/dvo
 file	external/bsd/drm2/dist/drm/i915/dvo_sil164.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/dvo_tfp410.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c	i915drmkms
-#file	external/bsd/drm2/dist/drm/i915/i915_debugfs.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_dma.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_drv.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/i915_gem.c		i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_gem.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_gem_batch_pool.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_context.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_debug.c	i915drmkms
-#file	external/bsd/drm2/dist/drm/i915/i915_gem_dmabuf.c	i915drmkms
+#file	external/bsd/drm2/dist/drm/i915/i915_gem_dmabuf.c	i915drmkms	# XXX i915 prime
 file	external/bsd/drm2/dist/drm/i915/i915_gem_evict.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c		i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_gem_fence.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_gem_render_state.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_gem_shrinker.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gem_tiling.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_gem_userptr.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_gpu_error.c	i915drmkms
-#file	external/bsd/drm2/dist/drm/i915/i915_ioc32.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_guc_submission.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_irq.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_params.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_suspend.c	i915drmkms
-file	external/bsd/drm2/i915drm/i915_sysfs.c		i915drmkms
-file	external/bsd/drm2/dist/drm/i915/i915_ums.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_sysfs.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_trace_points.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/i915_vgpu.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_acpi.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_atomic.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_atomic_plane.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_audio.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_bios.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_crt.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_csr.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_ddi.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_display.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dp.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_dp_mst.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dsi.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/intel_dsi_cmd.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_dsi_panel_vbt.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dsi_pll.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_dvo.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/intel_fbdev.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_fbc.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_fifo_underrun.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_frontbuffer.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_guc_loader.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_hdmi.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_hotplug.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_i2c.c	i915drmkms
+file	external/bsd/drm2/dist/drm/i915/intel_lrc.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_lvds.c	i915drmkms
+file	

CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-26 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 05:36:26 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Move local i915 files earlier to make them more obvious.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.11 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.12
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.11	Thu Aug 20 21:41:12 2015
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Mon Aug 27 05:36:26 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.11 2015/08/20 21:41:12 skrll Exp $
+#	$NetBSD: files.i915drmkms,v 1.12 2018/08/27 05:36:26 riastradh Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -20,6 +20,12 @@ makeoptions 	i915drmkms 	"CWARNFLAGS.int
 makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_FBDEV=1"
 makeoptions	i915drmkms	CPPFLAGS+="-DCONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=0"
 
+file	external/bsd/drm2/i915drm/i915_module.c		i915drmkms
+file	external/bsd/drm2/i915drm/i915_pci.c		i915drmkms
+file	external/bsd/drm2/i915drm/intel_gtt.c		i915drmkms
+
+file	external/bsd/drm2/i915drm/intelfb.c		intelfb
+
 file	external/bsd/drm2/dist/drm/i915/dvo_ch7017.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/dvo_ch7xxx.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/dvo_ivch.c	i915drmkms
@@ -71,9 +77,3 @@ file	external/bsd/drm2/dist/drm/i915/int
 file	external/bsd/drm2/dist/drm/i915/intel_sprite.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_tv.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/intel_uncore.c	i915drmkms
-
-file	external/bsd/drm2/i915drm/i915_module.c		i915drmkms
-file	external/bsd/drm2/i915drm/i915_pci.c		i915drmkms
-file	external/bsd/drm2/i915drm/intel_gtt.c		i915drmkms
-
-file	external/bsd/drm2/i915drm/intelfb.c		intelfb



CVS commit: src/sys/external/bsd/drm2/i915drm

2018-08-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug  6 00:30:15 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/i915drm: intel_gtt.c

Log Message:
Flush chipset writes after GGTT update.

Echoes Linux commit:

commit 8516673a996870ea0ceb337ee4f83c33c5ec3111
Author: Chris Wilson 
Date:   Fri Dec 8 21:46:16 2017 +

agp/intel: Flush all chipset writes after updating the GGTT

Before accessing the GGTT we must flush the PTE writes and make them
visible to the chipset, or else the indirect access may end up in the
wrong page. In commit 3497971a71d8 ("agp/intel: Flush chipset writes
after updating a single PTE"), we noticed corruption of the uploads for
pwrite and for capturing GPU error states, but it was presumed that the
explicit calls to intel_gtt_chipset_flush() were sufficient for the
execbuffer path. However, we have not been flushing the chipset between
the PTE writes and access via the GTT itself.

For simplicity, do the flush after any PTE update rather than try and
batch the flushes on a just-in-time basis.

References: 3497971a71d8 ("agp/intel: Flush chipset writes after updating a 
single PTE")
Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
Cc: Mika Kuoppala 
Cc: drm-intel-fi...@lists.freedesktop.org
Reviewed-by: Joonas Lahtinen 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20171208214616.30147-1-ch...@chris-wilson.co.uk

XXX pullup


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/i915drm/intel_gtt.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/external/bsd/drm2/i915drm/intel_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.5 src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.6
--- src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.5	Fri Mar  6 22:03:06 2015
+++ src/sys/external/bsd/drm2/i915drm/intel_gtt.c	Mon Aug  6 00:30:15 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: intel_gtt.c,v 1.5 2015/03/06 22:03:06 riastradh Exp $	*/
+/*	$NetBSD: intel_gtt.c,v 1.6 2018/08/06 00:30:15 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 /* Intel GTT stubs */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.5 2015/03/06 22:03:06 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.6 2018/08/06 00:30:15 riastradh Exp $");
 
 #include 
 #include 
@@ -176,6 +176,7 @@ intel_gtt_insert_entries(bus_dmamap_t dm
 		va += PAGE_SIZE;
 	}
 	agp_i810_post_gtt_entry(isc, (va - PAGE_SIZE));
+	intel_gtt_chipset_flush();
 }
 
 void



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-11-14 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Nov 14 14:32:49 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
Fix build with clang.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.8 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.9
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.8	Wed Nov  5 23:46:09 2014
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Fri Nov 14 14:32:49 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.8 2014/11/05 23:46:09 nonaka Exp $
+#	$NetBSD: files.i915drmkms,v 1.9 2014/11/14 14:32:49 joerg Exp $
 
 define	intelfbbus	{ }
 device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
@@ -10,8 +10,9 @@ attach	intelfb at intelfbbus
 makeoptions	i915drmkms	CPPFLAGS+=-I$S/external/bsd/drm2/dist/drm/i915
 makeoptions	i915drmkms	CPPFLAGS+=-I$S/external/bsd/drm2/i915drm
 
-makeoptions 	i915drmkms 	CWARNFLAGS.i915_drv.c+=-Wno-override-init
-makeoptions 	i915drmkms 	CWARNFLAGS.intel_display.c+=-Wno-shadow
+makeoptions 	i915drmkms 	CWARNFLAGS.i915_drv.c+=${${ACTIVE_CC} == gcc:? -Wno-override-init :}
+makeoptions 	i915drmkms 	CWARNFLAGS.i915_drv.c+=${${ACTIVE_CC} == clang:? -Wno-initializer-overrides :}
+makeoptions 	i915drmkms 	CWARNFLAGS.intel_display.c+=-Wno-shadow -Wno-conversion
 makeoptions 	i915drmkms 	CWARNFLAGS.intel_panel.c+=-Wno-shadow
 makeoptions 	i915drmkms 	CWARNFLAGS.intel_pm.c+=-Wno-shadow
 



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-11-01 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Nov  2 02:03:31 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: files.i915drmkms

Log Message:
We need the i810 agp here, intel_gtt has it hard-coded.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/i915drm/files.i915drmkms

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.6 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.7
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.6	Mon Aug 18 12:55:34 2014
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Sat Nov  1 22:03:31 2014
@@ -1,7 +1,7 @@
-#	$NetBSD: files.i915drmkms,v 1.6 2014/08/18 16:55:34 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.7 2014/11/02 02:03:31 christos Exp $
 
 define	intelfbbus	{ }
-device	i915drmkms: drmkms, drmkms_pci, intelfbbus
+device	i915drmkms: drmkms, drmkms_pci, intelfbbus, agp_i810
 attach	i915drmkms at pci
 
 device	intelfb: intelfbbus, genfb, wsemuldisplaydev



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-09-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Sep 14 16:02:15 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
Disable VGA plane after vga_cndetach.

Disabling the VGA plane requires access to the VGA registers, which
don't become available until vga_cndetach.  Oops!


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.9 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.10
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.9	Sat Aug  9 12:46:07 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Sun Sep 14 16:02:15 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.9 2014/08/09 12:46:07 jmcneill Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.10 2014/09/14 16:02:15 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.9 2014/08/09 12:46:07 jmcneill Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.10 2014/09/14 16:02:15 riastradh Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -218,8 +218,8 @@ intelfb_setconfig_task(struct i915drmkms
 	if (vga_is_console(dev-pdev-pd_pa.pa_iot, -1)) {
 		what_was_cons = CONS_VGA;
 		prop_dictionary_set_bool(dict, is_console, true);
-		i915_disable_vga(dev);
 		vga_cndetach();
+		i915_disable_vga(dev);
 	} else
 #endif
 	if (genfb_is_console()  genfb_is_enabled()) {



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-08-09 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Aug  9 12:46:07 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
no need to call drm_fb_helper_set_config after genfb attaches, as the setmode 
callback is called by genfb_attach


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.8 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.9
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.8	Fri Aug  8 02:27:40 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Sat Aug  9 12:46:07 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.8 2014/08/08 02:27:40 jmcneill Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.9 2014/08/09 12:46:07 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.8 2014/08/08 02:27:40 jmcneill Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.9 2014/08/09 12:46:07 jmcneill Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -248,8 +248,6 @@ intelfb_setconfig_task(struct i915drmkms
 	pmf_device_register1(sc-sc_dev, NULL, NULL,
 	intelfb_genfb_shutdown);
 
-	drm_fb_helper_set_config(sc-sc_ifa.ifa_fb_helper);
-
 	/* Success!  */
 	sc-sc_scheduled = false;
 	return;



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-08-07 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Fri Aug  8 02:27:40 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
add a pmf shutdown handler to switch genfb into polling mode


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.7 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.8
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.7	Wed Aug  6 22:16:38 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Fri Aug  8 02:27:40 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.7 2014/08/06 22:16:38 jmcneill Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.8 2014/08/08 02:27:40 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.7 2014/08/06 22:16:38 jmcneill Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.8 2014/08/08 02:27:40 jmcneill Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -90,6 +90,7 @@ static int	intelfb_genfb_ioctl(void *, v
 static paddr_t	intelfb_genfb_mmap(void *, void *, off_t, int);
 static int	intelfb_genfb_enable_polling(void *);
 static int	intelfb_genfb_disable_polling(void *);
+static bool	intelfb_genfb_shutdown(device_t, int);
 static bool	intelfb_genfb_setmode(struct genfb_softc *, int);
 
 static const struct genfb_mode_callback intelfb_genfb_mode_callback = {
@@ -244,6 +245,9 @@ intelfb_setconfig_task(struct i915drmkms
 	}
 	sc-sc_attached = true;
 
+	pmf_device_register1(sc-sc_dev, NULL, NULL,
+	intelfb_genfb_shutdown);
+
 	drm_fb_helper_set_config(sc-sc_ifa.ifa_fb_helper);
 
 	/* Success!  */
@@ -421,6 +425,13 @@ intelfb_genfb_disable_polling(void *cook
 }
 
 static bool
+intelfb_genfb_shutdown(device_t self, int flags)
+{
+	genfb_enable_polling(self);
+	return true;
+}
+
+static bool
 intelfb_genfb_setmode(struct genfb_softc *genfb, int mode)
 {
 	struct intelfb_softc *sc = (struct intelfb_softc *)genfb;



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-08-06 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Aug  6 22:16:38 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
provide a setmode callback for genfb; with this change, vt switching in and out 
of X works


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.6 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.7
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.6	Tue Aug  5 20:28:56 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Wed Aug  6 22:16:38 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.6 2014/08/05 20:28:56 riastradh Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.7 2014/08/06 22:16:38 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.6 2014/08/05 20:28:56 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.7 2014/08/06 22:16:38 jmcneill Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -90,6 +90,11 @@ static int	intelfb_genfb_ioctl(void *, v
 static paddr_t	intelfb_genfb_mmap(void *, void *, off_t, int);
 static int	intelfb_genfb_enable_polling(void *);
 static int	intelfb_genfb_disable_polling(void *);
+static bool	intelfb_genfb_setmode(struct genfb_softc *, int);
+
+static const struct genfb_mode_callback intelfb_genfb_mode_callback = {
+	.gmc_setmode = intelfb_genfb_setmode,
+};
 
 CFATTACH_DECL_NEW(intelfb, sizeof(struct intelfb_softc),
 intelfb_match, intelfb_attach, intelfb_detach, NULL);
@@ -204,6 +209,9 @@ intelfb_setconfig_task(struct i915drmkms
 	(uint64_t)(uintptr_t)bus_space_vaddr(sc-sc_ifa.ifa_fb_bst,
 		sc-sc_fb_bsh));
 
+	prop_dictionary_set_uint64(dict, mode_callback,
+	(uint64_t)(uintptr_t)intelfb_genfb_mode_callback);
+
 	/* XXX Whattakludge!  */
 #if NVGA  0
 	if (vga_is_console(dev-pdev-pd_pa.pa_iot, -1)) {
@@ -411,3 +419,15 @@ intelfb_genfb_disable_polling(void *cook
 
 	return drm_fb_helper_debug_leave_fb(sc-sc_ifa.ifa_fb_helper);
 }
+
+static bool
+intelfb_genfb_setmode(struct genfb_softc *genfb, int mode)
+{
+	struct intelfb_softc *sc = (struct intelfb_softc *)genfb;
+
+	if (mode == WSDISPLAYIO_MODE_EMUL) {
+		drm_fb_helper_set_config(sc-sc_ifa.ifa_fb_helper);
+	}
+
+	return true;
+}



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-08-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue Aug  5 20:28:56 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
Use surface_width/height, not fb_width/height.

This matches the sizes the upstream code uses.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.5 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.6
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.5	Fri Jul 25 16:35:43 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Tue Aug  5 20:28:56 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.5 2014/07/25 16:35:43 riastradh Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.6 2014/08/05 20:28:56 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.5 2014/07/25 16:35:43 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.6 2014/08/05 20:28:56 riastradh Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -192,11 +192,12 @@ intelfb_setconfig_task(struct i915drmkms
 		0, sc-sc_ifa.ifa_fb_size);
 
 	/* XXX Ugh...  Pass these parameters some other way!  */
-	prop_dictionary_set_uint32(dict, width, sizes-fb_width);
-	prop_dictionary_set_uint32(dict, height, sizes-fb_height);
+	prop_dictionary_set_uint32(dict, width, sizes-surface_width);
+	prop_dictionary_set_uint32(dict, height, sizes-surface_height);
 	prop_dictionary_set_uint8(dict, depth, sizes-surface_bpp);
 	prop_dictionary_set_uint16(dict, linebytes,
-	roundup2((sizes-fb_width * howmany(sizes-surface_bpp, 8)), 64));
+	roundup2((sizes-surface_width * howmany(sizes-surface_bpp, 8)),
+		64));
 	prop_dictionary_set_uint32(dict, address, 0); /* XXX 32-bit */
 	CTASSERT(sizeof(uintptr_t) = sizeof(uint64_t));
 	prop_dictionary_set_uint64(dict, virtual_address,



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-07-24 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jul 24 21:28:44 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
Fix WSDISPLAYIO_GET_BUSID on new intelfb(4).

Need to pass the PCI device, not one of its children (which intelfb
is), to wsdisplayio_busid_pci.

Fixes starting X.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.1 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.2
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.1	Thu Jul 24 21:18:40 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Thu Jul 24 21:28:44 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.1 2014/07/24 21:18:40 riastradh Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.2 2014/07/24 21:28:44 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.1 2014/07/24 21:18:40 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.2 2014/07/24 21:28:44 riastradh Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -316,8 +316,8 @@ intelfb_genfb_ioctl(void *v, void *vs, u
 		return pci_devioctl(pa-pa_pc, pa-pa_tag, cmd, data, flag, l);
 
 	case WSDISPLAYIO_GET_BUSID:
-		return wsdisplayio_busid_pci(genfb-sc_dev,
-		pa-pa_pc, pa-pa_tag, data);
+		return wsdisplayio_busid_pci(dev-dev, pa-pa_pc, pa-pa_tag,
+		data);
 
 	/*
 	 * Screen blanking ioctls.  Not to be confused with backlight



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-07-24 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jul 24 21:37:35 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
Make ddb enter/exit work while X is running with i915drmkms.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.2 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.3
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.2	Thu Jul 24 21:28:44 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Thu Jul 24 21:37:35 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.2 2014/07/24 21:28:44 riastradh Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.3 2014/07/24 21:37:35 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.2 2014/07/24 21:28:44 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.3 2014/07/24 21:37:35 riastradh Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -107,10 +107,8 @@ static int	intelfb_genfb_dpms(struct drm
 static int	intelfb_genfb_ioctl(void *, void *, unsigned long, void *,
 		int, struct lwp *);
 static paddr_t	intelfb_genfb_mmap(void *, void *, off_t, int);
-#if notyet			/* XXX */
 static int	intelfb_genfb_enable_polling(void *);
 static int	intelfb_genfb_disable_polling(void *);
-#endif
 
 CFATTACH_DECL_NEW(intelfb, sizeof(struct intelfb_softc),
 intelfb_match, intelfb_attach, intelfb_detach, NULL);
@@ -242,10 +240,8 @@ intelfb_setconfig_task(struct i915drmkms
 	genfb_init(sc-sc_genfb);
 	genfb_ops.genfb_ioctl = intelfb_genfb_ioctl;
 	genfb_ops.genfb_mmap = intelfb_genfb_mmap;
-#if notyet			/* XXX */
 	genfb_ops.genfb_enable_polling = intelfb_genfb_enable_polling;
 	genfb_ops.genfb_disable_polling = intelfb_genfb_disable_polling;
-#endif
 
 	error = genfb_attach(sc-sc_genfb, genfb_ops);
 	if (error) {
@@ -411,7 +407,6 @@ intelfb_genfb_mmap(void *v, void *vs, of
 	return -1;
 }
 
-#if notyet			/* XXX */
 static int
 intelfb_genfb_enable_polling(void *cookie)
 {
@@ -431,4 +426,3 @@ intelfb_genfb_disable_polling(void *cook
 
 	return drm_fb_helper_debug_leave_fb(sc-sc_ifa.ifa_fb_helper);
 }
-#endif



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-07-24 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jul 24 21:45:03 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intelfb.c

Log Message:
Remove leftover debugging kludge.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/i915drm/intelfb.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/external/bsd/drm2/i915drm/intelfb.c
diff -u src/sys/external/bsd/drm2/i915drm/intelfb.c:1.3 src/sys/external/bsd/drm2/i915drm/intelfb.c:1.4
--- src/sys/external/bsd/drm2/i915drm/intelfb.c:1.3	Thu Jul 24 21:37:35 2014
+++ src/sys/external/bsd/drm2/i915drm/intelfb.c	Thu Jul 24 21:45:03 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intelfb.c,v 1.3 2014/07/24 21:37:35 riastradh Exp $	*/
+/*	$NetBSD: intelfb.c,v 1.4 2014/07/24 21:45:03 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.3 2014/07/24 21:37:35 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: intelfb.c,v 1.4 2014/07/24 21:45:03 riastradh Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -66,25 +66,6 @@ __KERNEL_RCSID(0, $NetBSD: intelfb.c,v 
 #include i915_pci.h
 #include intelfb.h
 
-extern void	comcnputc(dev_t, int);
-static void __printflike(1,2) __unused
-comprintf(const char *fmt, ...)
-{
-	char buf[1024], *p;
-	va_list va;
-
-	va_start(va, fmt);
-	vsnprintf(buf, sizeof buf, fmt, va);
-	va_end(va);
-
-	buf[sizeof buf - 1] = '\0';
-	for (p = buf; *p != '\0'; p++) {
-		comcnputc(NODEV, *p);
-		if (*p == '\n')
-			comcnputc(NODEV, '\r');
-	}
-}
-
 struct intelfb_softc {
 	/* XXX genfb requires the genfb_softc to be first.  */
 	struct genfb_softc		sc_genfb;



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-07-24 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jul 24 22:13:23 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Tweak i915drmkms_detach to be more robust.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.14 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.15
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.14	Thu Jul 24 21:18:40 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Thu Jul 24 22:13:23 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.14 2014/07/24 21:18:40 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.15 2014/07/24 22:13:23 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.14 2014/07/24 21:18:40 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.15 2014/07/24 22:13:23 riastradh Exp $);
 
 #include sys/types.h
 #include sys/queue.h
@@ -195,16 +195,19 @@ i915drmkms_detach(device_t self, int fla
 	if (error)
 		return error;
 
-	KASSERT(sc-sc_task_state == I915DRMKMS_TASK_WORKQUEUE);
-	if (sc-sc_task_u.workqueue == NULL)
+	if (sc-sc_task_state == I915DRMKMS_TASK_ATTACH)
 		goto out;
-	workqueue_destroy(sc-sc_task_u.workqueue);
+	if (sc-sc_task_u.workqueue != NULL) {
+		workqueue_destroy(sc-sc_task_u.workqueue);
+		sc-sc_task_u.workqueue = NULL;
+	}
 
 	if (sc-sc_drm_dev == NULL)
 		goto out;
 	/* XXX errno Linux-NetBSD */
 	error = -drm_pci_detach(sc-sc_drm_dev, flags);
 	if (error)
+		/* XXX Kinda too late to fail now...  */
 		return error;
 	sc-sc_drm_dev = NULL;
 



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-07-23 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Jul 23 18:05:44 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Omit redundant vga_is_console test.

This was a copypasta error -- before it tested iot then memt -- but I
see no evidence that passing memt to vga_is_console is ever sensible.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.12 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.13
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.12	Wed Jul 16 23:25:18 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Wed Jul 23 18:05:44 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.12 2014/07/16 23:25:18 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.13 2014/07/23 18:05:44 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.12 2014/07/16 23:25:18 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.13 2014/07/23 18:05:44 riastradh Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -301,8 +301,7 @@ intel_genfb_attach(struct drm_device *de
 	int ret;
 
 #if NVGA  0
-	if (vga_is_console(dev-pdev-pd_pa.pa_iot, -1) ||
-	vga_is_console(dev-pdev-pd_pa.pa_iot, -1)) {
+	if (vga_is_console(dev-pdev-pd_pa.pa_iot, -1)) {
 		what_was_cons = CONS_VGA;
 		prop_dictionary_set_bool(dict, is_console, true);
 		/*



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-07-12 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Sun Jul 13 01:17:15 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
The vga driver now detaches wscons.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.9 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.10
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.9	Tue Jul  1 20:03:21 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Sun Jul 13 01:17:15 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.9 2014/07/01 20:03:21 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.10 2014/07/13 01:17:15 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.9 2014/07/01 20:03:21 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.10 2014/07/13 01:17:15 mlelstv Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -211,11 +211,9 @@ i915drm_attach(device_t parent, device_t
 		 * which kernel messages will go into a black hole,
 		 * until genfb replays the console.  Whattakludge.
 		 *
-		 * wsdisplay_cndetach must come first, to clear cn_tab,
-		 * so that nothing will use it; then vga_cndetach
-		 * unmaps the bus space that it would have used.
+		 * vga_cndetach detaches wscons and unmaps the bus space
+		 * that it would have used.
 		 */
-		wsdisplay_cndetach();
 		vga_cndetach();
 	} else
 #endif



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-07-01 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue Jul  1 20:03:21 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Implement i915drmkms wsdisplay blank/backlight/brightness controls.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.8 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.9
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.8	Fri Apr 25 19:02:51 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Tue Jul  1 20:03:21 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.8 2014/04/25 19:02:51 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.9 2014/07/01 20:03:21 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.8 2014/04/25 19:02:51 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.9 2014/07/01 20:03:21 riastradh Exp $);
 
 #ifdef _KERNEL_OPT
 #include vga.h
@@ -73,6 +73,8 @@ struct i915drm_softc {
 	struct drm_i915_gem_object	*sc_fb_obj;
 	bus_space_handle_t		sc_fb_bsh;
 	struct genfb_softc		sc_genfb;
+	struct genfb_parameter_callback	sc_genfb_backlight_callback;
+	struct genfb_parameter_callback	sc_genfb_brightness_callback;
 	struct list_head		sc_fb_list; /* XXX Kludge!  */
 	boolsc_console;
 };
@@ -97,10 +99,19 @@ static int	i915drm_fb_create_handle(stru
 		struct drm_file *, unsigned int *);
 static void	i915drm_fb_destroy(struct drm_framebuffer *);
 
+static int	i915drm_fb_dpms(struct i915drm_softc *, int);
+
 static int	i915drm_genfb_ioctl(void *, void *, unsigned long, void *,
 		int, struct lwp *);
 static paddr_t	i915drm_genfb_mmap(void *, void *, off_t, int);
 
+static int	i915drm_genfb_get_backlight(void *, int *);
+static int	i915drm_genfb_set_backlight(void *, int);
+static int	i915drm_genfb_upd_backlight(void *, int);
+static int	i915drm_genfb_get_brightness(void *, int *);
+static int	i915drm_genfb_set_brightness(void *, int);
+static int	i915drm_genfb_upd_brightness(void *, int);
+
 CFATTACH_DECL_NEW(i915drmkms, sizeof(struct i915drm_softc),
 i915drm_match, i915drm_attach, i915drm_detach, NULL);
 
@@ -467,6 +478,25 @@ i915drm_fb_probe(struct drm_fb_helper *f
 	CTASSERT(sizeof(uintptr_t) = sizeof(uint64_t));
 	prop_dictionary_set_uint64(dict, virtual_address,
 	(uint64_t)(uintptr_t)bus_space_vaddr(dev-bst, sc-sc_fb_bsh));
+
+	sc-sc_genfb_backlight_callback = (struct genfb_parameter_callback) {
+		.gpc_cookie = sc,
+		.gpc_get_parameter = i915drm_genfb_get_backlight,
+		.gpc_set_parameter = i915drm_genfb_set_backlight,
+		.gpc_upd_parameter = i915drm_genfb_upd_backlight,
+	};
+	prop_dictionary_set_uint64(dict, backlight_callback,
+	(uint64_t)(uintptr_t)sc-sc_genfb_backlight_callback);
+
+	sc-sc_genfb_brightness_callback = (struct genfb_parameter_callback) {
+		.gpc_cookie = sc,
+		.gpc_get_parameter = i915drm_genfb_get_brightness,
+		.gpc_set_parameter = i915drm_genfb_set_brightness,
+		.gpc_upd_parameter = i915drm_genfb_upd_brightness,
+	};
+	prop_dictionary_set_uint64(dict, brightness_callback,
+	(uint64_t)(uintptr_t)sc-sc_genfb_brightness_callback);
+
 	sc-sc_genfb.sc_dev = sc-sc_dev;
 	genfb_init(sc-sc_genfb);
 
@@ -494,6 +524,28 @@ fail0:	KASSERT(ret  0);
 	return ret;
 }
 
+static int
+i915drm_fb_dpms(struct i915drm_softc *sc, int dpms_mode)
+{
+	struct drm_device *const dev = sc-sc_drm_dev;
+	struct drm_i915_private *const dev_priv = dev-dev_private;
+	/* XXX What guarantees dev_priv-fbdev stays around?  */
+	struct drm_fb_helper *const fb_helper = dev_priv-fbdev-helper;
+	unsigned i;
+
+	mutex_lock(dev-mode_config.mutex);
+	for (i = 0; i  fb_helper-connector_count; i++) {
+		struct drm_connector *const connector =
+		fb_helper-connector_info[i]-connector;
+		(*connector-funcs-dpms)(connector, dpms_mode);
+		drm_object_property_set_value(connector-base,
+		dev-mode_config.dpms_property, dpms_mode);
+	}
+	mutex_unlock(dev-mode_config.mutex);
+
+	return 0;
+}
+
 static void
 i915drm_fb_detach(struct drm_fb_helper *fb_helper)
 {
@@ -549,6 +601,29 @@ i915drm_genfb_ioctl(void *v, void *vs, u
 		return wsdisplayio_busid_pci(genfb-sc_dev,
 		pa-pa_pc, pa-pa_tag, data);
 
+	/*
+	 * Screen blanking ioctls.  Not to be confused with backlight
+	 * (can be disabled while stuff is still drawn on the screen),
+	 * brightness, or contrast (which we don't support).  Backlight
+	 * and brightness are done through WSDISPLAYIO_{GET,SET}PARAM.
+	 * This toggles between DPMS ON and DPMS OFF; backlight toggles
+	 * between DPMS ON and DPMS SUSPEND.
+	 */
+	case WSDISPLAYIO_GVIDEO: {
+		int *onp = (int *)data;
+
+		/* XXX Can't really determine a single answer here.  */
+		*onp = 1;
+		

CVS commit: src/sys/external/bsd/drm2/i915drm

2014-06-03 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue Jun  3 19:49:37 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Rework gen6 aperture/gtt size detection.  Mark variables __diagused.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.14 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.15
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.14	Thu May 29 22:05:24 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Tue Jun  3 19:49:37 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.14 2014/05/29 22:05:24 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.15 2014/06/03 19:49:37 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.14 2014/05/29 22:05:24 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.15 2014/06/03 19:49:37 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -447,8 +447,8 @@ static void
 agp_ggtt_bind_object(struct drm_i915_gem_object *obj,
 enum i915_cache_level cache_level)
 {
-	struct drm_device *const dev = obj-base.dev;
-	struct drm_i915_private *const dev_priv = dev-dev_private;
+	struct drm_device *const dev __diagused = obj-base.dev;
+	struct drm_i915_private *const dev_priv __diagused = dev-dev_private;
 	struct agp_i810_softc *const isc = agp_i810_sc-as_chipc;
 	const off_t start = obj-gtt_space-start;
 	bus_addr_t addr;
@@ -505,10 +505,6 @@ agp_ggtt_clear_range(struct drm_device *
  * Gen6+ GTT
  */
 
-#define	SNB_GMCH_GGMS	(SNB_GMCH_GGMS_MASK  SNB_GMCH_GGMS_SHIFT)
-#define	SNB_GMCH_GMS	(SNB_GMCH_GMS_MASK  SNB_GMCH_GMS_SHIFT)
-#define	IVB_GMCH_GMS	(IVB_GMCH_GMS_MASK  IVB_GMCH_GMS_SHIFT)
-
 typedef uint32_t gtt_pte_t;
 
 #define	GEN6_PTE_VALID		0x01
@@ -570,6 +566,15 @@ gen6_pte_decode(gtt_pte_t pte)
 	return ((bus_addr_t)(addr  0xff0)  28) | (addr  ~(uint32_t)0xff0);
 }
 
+#define	GEN6_PCI_MGGC	0x50
+#define		GEN6_PCI_MGGC_GGMS	__BITS(9,8)
+#define			GEN6_PCI_MGGC_GGMS_NONE	0x0
+#define			GEN6_PCI_MGGC_GGMS_1MB	0x1
+#define			GEN6_PCI_MGGC_GGMS_2MB	0x2
+#define		GEN6_PCI_MGGC_GMS	__BITS(7,3)
+#define			GEN6_PCI_MGGC_GMS_MAX	0xa
+#define			GEN6_PCI_MGGC_GMS_IVB_1GB	0xb /* IVB-specific */
+
 static int
 gen6_gtt_init(struct drm_device *dev)
 {
@@ -578,29 +583,44 @@ gen6_gtt_init(struct drm_device *dev)
 	struct intel_gtt *gtt = dev_priv-mm.gtt;
 	bus_addr_t gtt_addr;
 	bus_size_t gtt_size;
-	uint16_t snb_gmch_ctl, ggms, gms;
+	pcireg_t mggc;
+	unsigned ggms, gms;
 	int ret;
 
 	gtt-do_idle_maps = false;
 
-	snb_gmch_ctl = pci_conf_read(pa-pa_pc, pa-pa_tag, SNB_GMCH_CTRL);
+	/* MGGC: Mirror of GMCH Graphics Control */
+	mggc = pci_conf_read(pa-pa_pc, pa-pa_tag, GEN6_PCI_MGGC);
 
-	/* GMS: Graphics Mode Select.  */
-	if (INTEL_INFO(dev)-gen  7) {
-		gms = __SHIFTOUT(snb_gmch_ctl, SNB_GMCH_GMS);
-		gtt-stolen_size = (gms  25);
-	} else {
-		gms = __SHIFTOUT(snb_gmch_ctl, IVB_GMCH_GMS);
-		static const unsigned sizes[] = {
-			0, 0, 0, 0, 0, 32, 48, 64, 128, 256, 96, 160, 224, 352
-		};
-		gtt-stolen_size = sizes[gms]  20;
+	/* GGMS: GTT Graphics Memory Size */
+	ggms = __SHIFTOUT(mggc, GEN6_PCI_MGGC_GGMS);
+	switch (ggms) {
+	case GEN6_PCI_MGGC_GGMS_NONE:
+		gtt-gtt_total_entries = 0;
+		break;
+	case GEN6_PCI_MGGC_GGMS_1MB:
+		gtt-gtt_total_entries = (1*1024*1024) / 4;
+		break;
+	case GEN6_PCI_MGGC_GGMS_2MB:
+		gtt-gtt_total_entries = (2*1024*1024) / 4;
+		break;
+	default:
+		DRM_ERROR(unknown GTT Graphics Memory Size: %u\n, ggms);
+		gtt-gtt_total_entries = 0;
+		break;
 	}
 
-	/* GGMS: GTT Graphics Memory Size, in megabytes.  */
-	ggms = __SHIFTOUT(snb_gmch_ctl, SNB_GMCH_GGMS);
-	CTASSERT(SNB_GMCH_GGMS_MASK = (INT_MAX  20));
-	gtt-gtt_total_entries = (ggms  20) / sizeof(gtt_pte_t);
+	/* GMS: Graphics Mode Select */
+	gms = __SHIFTOUT(mggc, GEN6_PCI_MGGC_GMS);
+	if (gms = GEN6_PCI_MGGC_GMS_MAX) {
+		gtt-stolen_size = gms * 32*1024*1024;
+	} else if ((INTEL_INFO(dev)-gen == 7) 
+	(gms == GEN6_PCI_MGGC_GMS_IVB_1GB)) {
+		gtt-stolen_size = 1*1024*1024*1024;
+	} else {
+		DRM_ERROR(unknown Graphics Mode Select: %u\n, gms);
+		gtt-stolen_size = 0;
+	}
 
 	/* Linux sez:  For GEN6+ the PTEs for the ggtt live at 2MB + BAR0 */
 	gtt_addr = (220);



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-29 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu May 29 22:05:24 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Work around broken GTT size detection in agp_i810 code.

This will do until I work out the twisty maze of registers, all
different, to reliably determine the size of the GTT (and hence the
GPU's virtual address space) separately from the size of the AGP
aperture.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.13 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.14
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.13	Wed May 28 15:44:02 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Thu May 29 22:05:24 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.13 2014/05/28 15:44:02 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.14 2014/05/29 22:05:24 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.13 2014/05/28 15:44:02 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.14 2014/05/29 22:05:24 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -405,7 +405,14 @@ agp_gtt_init(struct drm_device *dev)
 	gtt-gma_bus_addr = agp_i810_sc-as_apaddr;
 	gtt-gtt_mappable_entries = (agp_i810_sc-as_apsize  AGP_PAGE_SHIFT);
 	gtt-stolen_size = (isc-stolen  AGP_PAGE_SHIFT);
-	gtt-gtt_total_entries = isc-gtt_size/4;
+
+	/*
+	 * XXX Not quite right -- on some devices (i965), there are
+	 * more entries in the GTT than fit in the aperture.  However,
+	 * this is a safe approximation until we work out the fake AGP
+	 * code to detect the correct number of GTT entries.
+	 */
+	gtt-gtt_total_entries = gtt-gtt_mappable_entries;
 
 	product = PCI_PRODUCT(dev-pdev-pd_pa.pa_id);
 	if (((product == PCI_PRODUCT_INTEL_IRONLAKE_M_HB) ||



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-28 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed May 28 15:44:02 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Fix bogus GTT total size calculation.  Omit gtt_bsh for `agp' gtt.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.12 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.13
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.12	Fri May 23 23:02:47 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Wed May 28 15:44:02 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.12 2014/05/23 23:02:47 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.13 2014/05/28 15:44:02 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.12 2014/05/23 23:02:47 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.13 2014/05/28 15:44:02 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -405,9 +405,7 @@ agp_gtt_init(struct drm_device *dev)
 	gtt-gma_bus_addr = agp_i810_sc-as_apaddr;
 	gtt-gtt_mappable_entries = (agp_i810_sc-as_apsize  AGP_PAGE_SHIFT);
 	gtt-stolen_size = (isc-stolen  AGP_PAGE_SHIFT);
-	gtt-gtt_total_entries =
-	(gtt-gtt_mappable_entries + (gtt-stolen_size  AGP_PAGE_SHIFT));
-	gtt-gtt_bsh = isc-gtt_bsh;
+	gtt-gtt_total_entries = isc-gtt_size/4;
 
 	product = PCI_PRODUCT(dev-pdev-pd_pa.pa_id);
 	if (((product == PCI_PRODUCT_INTEL_IRONLAKE_M_HB) ||



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-23 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri May 23 22:59:23 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: intel_gtt.c

Log Message:
Implement intel_gtt_chipset_flush correctly.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/i915drm/intel_gtt.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/external/bsd/drm2/i915drm/intel_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.2 src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.3
--- src/sys/external/bsd/drm2/i915drm/intel_gtt.c:1.2	Tue Mar 18 18:20:42 2014
+++ src/sys/external/bsd/drm2/i915drm/intel_gtt.c	Fri May 23 22:59:23 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intel_gtt.c,v 1.2 2014/03/18 18:20:42 riastradh Exp $	*/
+/*	$NetBSD: intel_gtt.c,v 1.3 2014/05/23 22:59:23 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 /* Intel GTT stubs */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: intel_gtt.c,v 1.2 2014/03/18 18:20:42 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: intel_gtt.c,v 1.3 2014/05/23 22:59:23 riastradh Exp $);
 
 #include sys/types.h			/* XXX pcivar.h needs...@!#^  */
 
@@ -59,9 +59,6 @@ void
 intel_gtt_chipset_flush(void)
 {
 
-	/*
-	 * XXX If the Linux code is any indication, this is not
-	 * sufficient...but it'll probably do for now.
-	 */
-	agp_flush_cache();
+	KASSERT(agp_i810_sc != NULL);
+	agp_i810_chipset_flush(agp_i810_sc-as_chipc);
 }



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-23 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri May 23 23:02:47 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Fix GTT PTE flag bits.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.11 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.12
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.11	Tue May 20 15:50:11 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Fri May 23 23:02:47 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.11 2014/05/20 15:50:11 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.12 2014/05/23 23:02:47 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.11 2014/05/20 15:50:11 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.12 2014/05/23 23:02:47 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -89,6 +89,8 @@ i915_gem_gtt_init(struct drm_device *dev
 	 * physical addresses.
 	 *
 	 * XXX pci_set_dma_mask?  pci_set_consistent_dma_mask?
+	 *
+	 * XXX DMA limits
 	 */
 	if (INTEL_INFO(dev)-gen  4)
 		drm_limit_dma_space(dev, 0,
@@ -504,11 +506,11 @@ agp_ggtt_clear_range(struct drm_device *
 
 typedef uint32_t gtt_pte_t;
 
-#define	GEN6_PTE_VALID		__BIT(0)
-#define	GEN6_PTE_UNCACHED	__BIT(1)
-#define	HSW_PTE_UNCACHED	(0)
-#define	GEN6_PTE_CACHE_LLC	__BIT(2)
-#define	GEN6_PTE_CACHE_LLC_MLC	__BIT(3)
+#define	GEN6_PTE_VALID		0x01
+#define	GEN6_PTE_UNCACHED	0x02
+#define	HSW_PTE_UNCACHED	0x00
+#define	GEN6_PTE_CACHE_LLC	0x04
+#define	GEN6_PTE_CACHE_LLC_MLC	0x06
 
 static uint32_t
 gen6_pte_addr_encode(bus_addr_t addr)



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-20 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue May 20 15:50:11 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Miscellaneous little fixes for harmless issues:

- Fix sense of subtraction in i915_gem_restore_gtt_mappings (not
  currently used, so this was harmless).

- Program gtt-gtt_scratch_map-dm_segs[0].ds_addr rather than
  gtt-gtt_scratch_seg.ds_addr into the GTT for consistency with the
  bus_dma API.  These are currently the same, but if we ever start
  using x86 iommu perhaps that may change.

- Kassert that the scratch PTE decodes into the scratch address.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.10 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.11
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.10	Mon May 19 14:57:37 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Tue May 20 15:50:11 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.10 2014/05/19 14:57:37 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.11 2014/05/20 15:50:11 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.10 2014/05/19 14:57:37 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.11 2014/05/20 15:50:11 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -345,7 +345,7 @@ i915_gem_restore_gtt_mappings(struct drm
 	struct drm_i915_gem_object *obj;
 
 	i915_ggtt_clear_range(dev, (dev_priv-mm.gtt_start  PAGE_SHIFT),
-	((dev_priv-mm.gtt_start - dev_priv-mm.gtt_end)  PAGE_SHIFT));
+	((dev_priv-mm.gtt_end - dev_priv-mm.gtt_start)  PAGE_SHIFT));
 
 	list_for_each_entry(obj, dev_priv-mm.bound_list, gtt_list) {
 		i915_gem_clflush_object(obj);
@@ -483,7 +483,7 @@ agp_ggtt_clear_range(struct drm_device *
 {
 	struct drm_i915_private *const dev_priv = dev-dev_private;
 	struct intel_gtt *const gtt = dev_priv-mm.gtt;
-	const bus_addr_t addr = gtt-gtt_scratch_seg.ds_addr;
+	const bus_addr_t addr = gtt-gtt_scratch_map-dm_segs[0].ds_addr;
 	struct agp_i810_softc *const isc = agp_i810_sc-as_chipc;
 	unsigned page;
 
@@ -716,15 +716,15 @@ gen6_ggtt_clear_range(struct drm_device 
 	struct drm_i915_private *const dev_priv = dev-dev_private;
 	const bus_space_tag_t bst = dev-bst;
 	const bus_space_handle_t bsh = dev_priv-mm.gtt-gtt_bsh;
-	const gtt_pte_t scratch_pte = gen6_pte_encode(dev,
-	dev_priv-mm.gtt-gtt_scratch_map-dm_segs[0].ds_addr,
+	const bus_addr_t scratch_addr =
+	dev_priv-mm.gtt-gtt_scratch_map-dm_segs[0].ds_addr;
+	const gtt_pte_t scratch_pte = gen6_pte_encode(dev, scratch_addr,
 	I915_CACHE_LLC);
 	unsigned int i;
 
 	KASSERT(start_page  dev_priv-mm.gtt-gtt_total_entries);
 	KASSERT(npages = (dev_priv-mm.gtt-gtt_total_entries - start_page));
-	KASSERT(dev_priv-mm.gtt-gtt_scratch_map-dm_segs[0].ds_addr ==
-	gen6_pte_decode(scratch_pte));
+	KASSERT(scratch_addr == gen6_pte_decode(scratch_pte));
 
 	for (i = 0; i  npages; i++)
 		bus_space_write_4(bst, bsh, 4*(start_page + i), scratch_pte);



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon May 19 14:39:33 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Use the scratch page, not zero, to clear ggtt entries for gen6.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.6 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.7
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.6	Wed May 14 15:58:24 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Mon May 19 14:39:33 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.6 2014/05/14 15:58:24 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.7 2014/05/19 14:39:33 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.6 2014/05/14 15:58:24 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.7 2014/05/19 14:39:33 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -481,13 +481,17 @@ static void
 agp_ggtt_clear_range(struct drm_device *dev, unsigned start_page,
 unsigned npages)
 {
+	struct drm_i915_private *const dev_priv = dev-dev_private;
+	struct intel_gtt *const gtt = dev_priv-mm.gtt;
+	const bus_addr_t addr = gtt-gtt_scratch_seg.ds_addr;
 	struct agp_i810_softc *const isc = agp_i810_sc-as_chipc;
 	unsigned page;
 
 	for (page = start_page; npages--; page++)
-		agp_i810_write_gtt_entry(isc, (off_t)page  PAGE_SHIFT, 0);
+		agp_i810_write_gtt_entry(isc, (off_t)page  PAGE_SHIFT,
+		(addr | 1));
 
-	agp_i810_post_gtt_entry(isc, ((page - 1)  PAGE_SHIFT));
+	agp_i810_post_gtt_entry(isc, ((off_t)(page - 1)  PAGE_SHIFT));
 }
 
 /*



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon May 19 14:44:36 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Use correct value for gtt-gtt_bsh in agp case (unused, so harmless).


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.7 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.8
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.7	Mon May 19 14:39:33 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Mon May 19 14:44:36 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.7 2014/05/19 14:39:33 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.8 2014/05/19 14:44:36 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.7 2014/05/19 14:39:33 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.8 2014/05/19 14:44:36 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -405,7 +405,7 @@ agp_gtt_init(struct drm_device *dev)
 	gtt-stolen_size = (isc-stolen  AGP_PAGE_SHIFT);
 	gtt-gtt_total_entries =
 	(gtt-gtt_mappable_entries + gtt-stolen_size);
-	gtt-gtt_bsh = isc-bsh;
+	gtt-gtt_bsh = isc-gtt_bsh;
 
 	product = PCI_PRODUCT(dev-pdev-pd_pa.pa_id);
 	if (((product == PCI_PRODUCT_INTEL_IRONLAKE_M_HB) ||



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon May 19 14:55:46 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Fix page/byte sense of AGP GTT parameter calculations.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.8 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.9
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.8	Mon May 19 14:44:36 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Mon May 19 14:55:46 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.8 2014/05/19 14:44:36 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.9 2014/05/19 14:55:46 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.8 2014/05/19 14:44:36 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.9 2014/05/19 14:55:46 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -83,6 +83,16 @@ i915_gem_gtt_init(struct drm_device *dev
 	if (ret)
 		goto fail0;
 
+	aprint_error_dev(dev-dev, GTT:\n
+	- gma_bus_addr %PRIxMAX\n
+	- gtt_mappable_entries %PRIxMAX\n
+	- stolen_size %PRIxMAX\n
+	- gtt_total_entries %PRIxMAX\n,
+	(uintmax_t)gtt-gma_bus_addr,
+	(uintmax_t)gtt-gtt_mappable_entries,
+	(uintmax_t)gtt-stolen_size,
+	(uintmax_t)gtt-gtt_total_entries);
+
 	/*
 	 * The GTT entries are limited to 32-bit physical addresses up
 	 * until gen4, at and after which they are limited to 36-bit
@@ -402,9 +412,9 @@ agp_gtt_init(struct drm_device *dev)
 
 	gtt-gma_bus_addr = agp_i810_sc-as_apaddr;
 	gtt-gtt_mappable_entries = (agp_i810_sc-as_apsize  AGP_PAGE_SHIFT);
-	gtt-stolen_size = (isc-stolen  AGP_PAGE_SHIFT);
+	gtt-stolen_size = (isc-stolen  AGP_PAGE_SHIFT);
 	gtt-gtt_total_entries =
-	(gtt-gtt_mappable_entries + gtt-stolen_size);
+	(gtt-gtt_mappable_entries + (gtt-stolen_size  AGP_PAGE_SHIFT));
 	gtt-gtt_bsh = isc-gtt_bsh;
 
 	product = PCI_PRODUCT(dev-pdev-pd_pa.pa_id);



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon May 19 14:57:37 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Remove (bad) debugging message that crept into i915_gem_gtt_init.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.9 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.10
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.9	Mon May 19 14:55:46 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Mon May 19 14:57:37 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.9 2014/05/19 14:55:46 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.10 2014/05/19 14:57:37 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.9 2014/05/19 14:55:46 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.10 2014/05/19 14:57:37 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -83,16 +83,6 @@ i915_gem_gtt_init(struct drm_device *dev
 	if (ret)
 		goto fail0;
 
-	aprint_error_dev(dev-dev, GTT:\n
-	- gma_bus_addr %PRIxMAX\n
-	- gtt_mappable_entries %PRIxMAX\n
-	- stolen_size %PRIxMAX\n
-	- gtt_total_entries %PRIxMAX\n,
-	(uintmax_t)gtt-gma_bus_addr,
-	(uintmax_t)gtt-gtt_mappable_entries,
-	(uintmax_t)gtt-stolen_size,
-	(uintmax_t)gtt-gtt_total_entries);
-
 	/*
 	 * The GTT entries are limited to 32-bit physical addresses up
 	 * until gen4, at and after which they are limited to 36-bit



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed May 14 15:58:24 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Tweak i915 gen6_gtt_init calculations for clarity.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.5 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.6
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.5	Fri May  2 14:36:10 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Wed May 14 15:58:24 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.5 2014/05/02 14:36:10 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.6 2014/05/14 15:58:24 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.5 2014/05/02 14:36:10 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.6 2014/05/14 15:58:24 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -565,13 +565,13 @@ gen6_gtt_init(struct drm_device *dev)
 	struct drm_i915_private *const dev_priv = dev-dev_private;
 	struct pci_attach_args *const pa = dev-pdev-pd_pa;
 	struct intel_gtt *gtt = dev_priv-mm.gtt;
+	bus_addr_t gtt_addr;
+	bus_size_t gtt_size;
 	uint16_t snb_gmch_ctl, ggms, gms;
 	int ret;
 
 	gtt-do_idle_maps = false;
 
-	gtt-gma_bus_addr = dev-bus_maps[2].bm_base;
-
 	snb_gmch_ctl = pci_conf_read(pa-pa_pc, pa-pa_tag, SNB_GMCH_CTRL);
 
 	/* GMS: Graphics Mode Select.  */
@@ -586,38 +586,47 @@ gen6_gtt_init(struct drm_device *dev)
 		gtt-stolen_size = sizes[gms]  20;
 	}
 
-	/* GGMS: GTT Graphics Memory Size.  */
+	/* GGMS: GTT Graphics Memory Size, in megabytes.  */
 	ggms = __SHIFTOUT(snb_gmch_ctl, SNB_GMCH_GGMS);
+	CTASSERT(SNB_GMCH_GGMS_MASK = (INT_MAX  20));
 	gtt-gtt_total_entries = (ggms  20) / sizeof(gtt_pte_t);
 
-	gtt-gtt_mappable_entries = (dev-bus_maps[2].bm_size  PAGE_SHIFT);
-	if (((gtt-gtt_mappable_entries  8)  64) ||
-	(gtt-gtt_total_entries  gtt-gtt_mappable_entries)) {
-		DRM_ERROR(unknown GMADR entries: %d\n,
-		gtt-gtt_mappable_entries);
-		ret = -ENXIO;
-		goto fail0;
-	}
-
 	/* Linux sez:  For GEN6+ the PTEs for the ggtt live at 2MB + BAR0 */
-	if (dev-bus_maps[0].bm_size  (gtt-gtt_total_entries *
-		sizeof(gtt_pte_t))) {
-		DRM_ERROR(BAR0 too small for GTT: 0x%PRIxMAX  0x%PRIxMAX
-		\n,
+	gtt_addr = (220);
+	gtt_size = (gtt-gtt_total_entries * sizeof(gtt_pte_t));
+	if ((gtt_addr  (__type_max(bus_addr_t) - dev-bus_maps[0].bm_base)) ||
+	(gtt_size  (__type_max(bus_addr_t) -
+		(dev-bus_maps[0].bm_base + gtt_addr {
+		DRM_ERROR(GTT doesn't fit in BAR0:
+		 base 0x%PRIxMAX
+		 size 0x%PRIxMAX,
+		 gtt_addr 0x%PRIxMAX
+		 gtt_total_entries 0x%PRIxMAX\n,
+		(uintmax_t)dev-bus_maps[0].bm_base,
 		(uintmax_t)dev-bus_maps[0].bm_size,
-		(uintmax_t)(gtt-gtt_total_entries * sizeof(gtt_pte_t)));
+		(uintmax_t)gtt_addr,
+		(uintmax_t)gtt-gtt_total_entries);
 		ret = -ENODEV;
 		goto fail0;
 	}
-	if (bus_space_map(dev-bst, (dev-bus_maps[0].bm_base + (220)),
-		(gtt-gtt_total_entries * sizeof(gtt_pte_t)),
-		0,
-		gtt-gtt_bsh)) {
+
+	if (bus_space_map(dev-bst, (dev-bus_maps[0].bm_base + gtt_addr),
+		gtt_size, 0, gtt-gtt_bsh)) {
 		DRM_ERROR(unable to map GTT\n);
 		ret = -ENODEV;
 		goto fail0;
 	}
 
+	gtt-gma_bus_addr = dev-bus_maps[2].bm_base;
+	gtt-gtt_mappable_entries = (dev-bus_maps[2].bm_size  PAGE_SHIFT);
+	if (((gtt-gtt_mappable_entries  8)  64) ||
+	(gtt-gtt_total_entries  gtt-gtt_mappable_entries)) {
+		DRM_ERROR(unknown GMADR entries: %d\n,
+		gtt-gtt_mappable_entries);
+		ret = -ENXIO;
+		goto fail1;
+	}
+
 	ret = i915_gem_gtt_init_scratch_page(gtt, dev-dmat);
 	if (ret)
 		goto fail1;
@@ -627,8 +636,7 @@ gen6_gtt_init(struct drm_device *dev)
 
 fail2: __unused
 	i915_gem_gtt_fini_scratch_page(gtt, dev-dmat);
-fail1:	bus_space_unmap(dev-bst, gtt-gtt_bsh,
-	(gtt-gtt_total_entries * sizeof(gtt_pte_t)));
+fail1:	bus_space_unmap(dev-bst, gtt-gtt_bsh, gtt_size);
 fail0:	return ret;
 }
 



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-02 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri May  2 14:36:10 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Cast from uint32_t to bus_addr_t earlier, since it may exceed 32 bits.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.4 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.5
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.4	Thu May  1 14:37:36 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Fri May  2 14:36:10 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.4 2014/05/01 14:37:36 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.5 2014/05/02 14:36:10 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.4 2014/05/01 14:37:36 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.5 2014/05/02 14:36:10 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -556,7 +556,7 @@ gen6_pte_decode(gtt_pte_t pte)
 {
 	const uint32_t addr = (pte  ~(uint32_t)0xf);
 
-	return ((addr  0xff0)  28) | (addr  ~(uint32_t)0xff0);
+	return ((bus_addr_t)(addr  0xff0)  28) | (addr  ~(uint32_t)0xff0);
 }
 
 static int



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-05-01 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu May  1 14:37:36 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_gem_gtt.c

Log Message:
Clear only the requested range in gen6_ggtt_clear_range.

Sprinkle kasserts throughout i915_gem_gtt.c.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.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/external/bsd/drm2/i915drm/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.3 src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.4
--- src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c:1.3	Thu Apr  3 19:18:29 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_gem_gtt.c	Thu May  1 14:37:36 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.3 2014/04/03 19:18:29 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.4 2014/05/01 14:37:36 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.3 2014/04/03 19:18:29 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_gem_gtt.c,v 1.4 2014/05/01 14:37:36 riastradh Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -518,6 +518,7 @@ gen6_pte_addr_encode(bus_addr_t addr)
 #if __x86_64__
 	KASSERT(addr = __BITS(39, 0));
 #endif
+	KASSERT((addr  0xfff) == 0);
 	return (addr | ((addr  28)  0xff0));
 }
 
@@ -550,6 +551,14 @@ gen6_pte_encode(struct drm_device *dev, 
 	return (gen6_pte_addr_encode(addr) | flags);
 }
 
+static bus_addr_t __diagused
+gen6_pte_decode(gtt_pte_t pte)
+{
+	const uint32_t addr = (pte  ~(uint32_t)0xf);
+
+	return ((addr  0xff0)  28) | (addr  ~(uint32_t)0xff0);
+}
+
 static int
 gen6_gtt_init(struct drm_device *dev)
 {
@@ -653,6 +662,9 @@ gen6_ggtt_bind_object(struct drm_i915_ge
 		do {
 			KASSERT(PAGE_SIZE = len);
 			KASSERT(0 == (len % PAGE_SIZE));
+			KASSERT(addr ==
+			gen6_pte_decode(gen6_pte_encode(dev, addr,
+cache_level)));
 			bus_space_write_4(bst, bsh, 4*(first_entry + i),
 			gen6_pte_encode(dev, addr, cache_level));
 			addr += PAGE_SIZE;
@@ -677,6 +689,8 @@ gen6_ggtt_bind_object(struct drm_i915_ge
 			aprint_error_dev(dev-dev, mismatched PTE
 			: 0x%PRIxMAX != 0x%PRIxMAX\n,
 			(uintmax_t)actual, (uintmax_t)expected);
+		KASSERTMSG((seg == obj-igo_dmamap-dm_nsegs),
+		seg = %u, nsegs = %u, seg, obj-igo_dmamap-dm_nsegs);
 	}
 
 	I915_WRITE(GFX_FLSH_CNTL_GEN6, GFX_FLSH_CNTL_EN);
@@ -690,13 +704,17 @@ gen6_ggtt_clear_range(struct drm_device 
 	struct drm_i915_private *const dev_priv = dev-dev_private;
 	const bus_space_tag_t bst = dev-bst;
 	const bus_space_handle_t bsh = dev_priv-mm.gtt-gtt_bsh;
-	const unsigned n = (dev_priv-mm.gtt-gtt_total_entries - start_page);
 	const gtt_pte_t scratch_pte = gen6_pte_encode(dev,
 	dev_priv-mm.gtt-gtt_scratch_map-dm_segs[0].ds_addr,
 	I915_CACHE_LLC);
 	unsigned int i;
 
-	for (i = 0; i  n; i++)
+	KASSERT(start_page  dev_priv-mm.gtt-gtt_total_entries);
+	KASSERT(npages = (dev_priv-mm.gtt-gtt_total_entries - start_page));
+	KASSERT(dev_priv-mm.gtt-gtt_scratch_map-dm_segs[0].ds_addr ==
+	gen6_pte_decode(scratch_pte));
+
+	for (i = 0; i  npages; i++)
 		bus_space_write_4(bst, bsh, 4*(start_page + i), scratch_pte);
 	bus_space_read_4(bst, bsh, 4*start_page);
 }



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-04-25 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Apr 25 19:02:51 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Take the console only from vga or generic genfb.

Adapted from a patch by nonaka@ in PR 48705.

While here, attach i915 genfb earlier as in PR 48706.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.7 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.8
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.7	Sun Apr  6 16:42:00 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Fri Apr 25 19:02:51 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.7 2014/04/06 16:42:00 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.8 2014/04/25 19:02:51 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,11 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.7 2014/04/06 16:42:00 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.8 2014/04/25 19:02:51 riastradh Exp $);
+
+#ifdef _KERNEL_OPT
+#include vga.h
+#endif
 
 #include sys/types.h
 #ifndef _MODULE
@@ -46,6 +50,18 @@ __KERNEL_RCSID(0, $NetBSD: i915_pci.c,v
 #include dev/pci/wsdisplay_pci.h
 #include dev/wsfb/genfbvar.h
 
+#if NVGA  0
+/*
+ * XXX All we really need is vga_is_console from vgavar.h, but the
+ * header files are missing their own dependencies, so we need to
+ * explicitly drag in the other crap.
+ */
+#include dev/ic/mc6845reg.h
+#include dev/ic/pcdisplayvar.h
+#include dev/ic/vgareg.h
+#include dev/ic/vgavar.h
+#endif
+
 #include drm/drmP.h
 
 #include i915_drv.h
@@ -58,6 +74,7 @@ struct i915drm_softc {
 	bus_space_handle_t		sc_fb_bsh;
 	struct genfb_softc		sc_genfb;
 	struct list_head		sc_fb_list; /* XXX Kludge!  */
+	boolsc_console;
 };
 
 static int	i915drm_match(device_t, cfdata_t, void *);
@@ -168,6 +185,35 @@ i915drm_attach(device_t parent, device_t
 		i915_drm_driver-driver_features =~ DRIVER_USE_AGP;
 	}
 
+	/*
+	 * Figure out whether to grab the console.
+	 *
+	 * XXX This is much too hairy!  Can we simplify it and
+	 * x86/consinit.c?
+	 */
+#if NVGA  0
+	if (vga_is_console(pa-pa_iot, -1) ||
+	vga_is_console(pa-pa_memt, -1)) {
+		sc-sc_console = true;
+		/*
+		 * There is a window from here until genfb attaches in
+		 * which kernel messages will go into a black hole,
+		 * until genfb replays the console.  Whattakludge.
+		 *
+		 * wsdisplay_cndetach must come first, to clear cn_tab,
+		 * so that nothing will use it; then vga_cndetach
+		 * unmaps the bus space that it would have used.
+		 */
+		wsdisplay_cndetach();
+		vga_cndetach();
+	} else
+#endif
+	if (genfb_is_console()  genfb_is_enabled()) {
+		sc-sc_console = true;
+	} else {
+		sc-sc_console = false;
+	}
+
 	/* Initialize the drm pci driver state.  */
 	sc-sc_drm_dev.driver = i915_drm_driver;
 	drm_pci_attach(self, pa, sc-sc_pci_dev, sc-sc_drm_dev);
@@ -180,8 +226,8 @@ i915drm_attach(device_t parent, device_t
 		return;
 	}
 
-	/* Attach a framebuffer, but not until interrupts work.  */
-	config_interrupts(self, i915drm_attach_framebuffer);
+	/* Attach a framebuffer.  */
+	i915drm_attach_framebuffer(self);
 }
 
 static int
@@ -412,7 +458,7 @@ i915drm_fb_probe(struct drm_fb_helper *f
 		goto fail3;
 	}
 
-	prop_dictionary_set_bool(dict, is_console, 1); /* XXX */
+	prop_dictionary_set_bool(dict, is_console, sc-sc_console);
 	prop_dictionary_set_uint32(dict, width, mode_cmd.width);
 	prop_dictionary_set_uint32(dict, height, mode_cmd.height);
 	prop_dictionary_set_uint8(dict, depth, sizes-surface_bpp);



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-04-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Apr  6 16:38:34 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Add missing declaration from last commit.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.5 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.6
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.5	Fri Apr  4 16:02:34 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Sun Apr  6 16:38:34 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.5 2014/04/04 16:02:34 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.6 2014/04/06 16:38:34 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.5 2014/04/04 16:02:34 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.6 2014/04/06 16:38:34 riastradh Exp $);
 
 #include sys/types.h
 #ifndef _MODULE
@@ -75,6 +75,7 @@ static int	i915drm_detach_framebuffer(de
 
 static int	i915drm_fb_probe(struct drm_fb_helper *,
 		struct drm_fb_helper_surface_size *);
+static void	i915drm_fb_detach(struct drm_fb_helper *);
 static int	i915drm_fb_create_handle(struct drm_framebuffer *,
 		struct drm_file *, unsigned int *);
 static void	i915drm_fb_destroy(struct drm_framebuffer *);
@@ -411,7 +412,7 @@ i915drm_fb_probe(struct drm_fb_helper *f
 		goto fail3;
 	}
 
-	prop_dictionary_set_bool(dict, is_console, 1); /* XXX */
+	prop_dictionary_set_bool(dict, is_console, 0); /* XXX */
 	prop_dictionary_set_uint32(dict, width, mode_cmd.width);
 	prop_dictionary_set_uint32(dict, height, mode_cmd.height);
 	prop_dictionary_set_uint8(dict, depth, sizes-surface_bpp);



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-04-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Apr  6 16:42:00 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Restore is_console=1 for i915, even if I keep it off for debugging.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.6 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.7
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.6	Sun Apr  6 16:38:34 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Sun Apr  6 16:42:00 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.6 2014/04/06 16:38:34 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.7 2014/04/06 16:42:00 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.6 2014/04/06 16:38:34 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.7 2014/04/06 16:42:00 riastradh Exp $);
 
 #include sys/types.h
 #ifndef _MODULE
@@ -412,7 +412,7 @@ i915drm_fb_probe(struct drm_fb_helper *f
 		goto fail3;
 	}
 
-	prop_dictionary_set_bool(dict, is_console, 0); /* XXX */
+	prop_dictionary_set_bool(dict, is_console, 1); /* XXX */
 	prop_dictionary_set_uint32(dict, width, mode_cmd.width);
 	prop_dictionary_set_uint32(dict, height, mode_cmd.height);
 	prop_dictionary_set_uint8(dict, depth, sizes-surface_bpp);



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-04-04 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Apr  4 16:02:34 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Tweak i915 framebuffer attachment in preparation for detach/reconfig.

Can't do this yet because genfb can't detach or reconfigure...


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.4 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.5
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.4	Thu Apr  3 19:18:29 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Fri Apr  4 16:02:34 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.4 2014/04/03 19:18:29 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.5 2014/04/04 16:02:34 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.4 2014/04/03 19:18:29 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.5 2014/04/04 16:02:34 riastradh Exp $);
 
 #include sys/types.h
 #ifndef _MODULE
@@ -248,6 +248,7 @@ i915drm_attach_framebuffer(device_t self
 
 	INIT_LIST_HEAD(sc-sc_fb_list);
 
+	KASSERT(dev_priv-fbdev == NULL);
 	dev_priv-fbdev = kmem_zalloc(sizeof(*dev_priv-fbdev), KM_SLEEP);
 
 	struct drm_fb_helper *const fb_helper = dev_priv-fbdev-helper;
@@ -267,6 +268,8 @@ i915drm_attach_framebuffer(device_t self
 	/* Success!  */
 	return;
 
+fail1: __unused
+	drm_fb_helper_fini(fb_helper);
 fail0:	kmem_free(dev_priv-fbdev, sizeof(*dev_priv-fbdev));
 	dev_priv-fbdev = NULL;
 }
@@ -282,21 +285,9 @@ i915drm_detach_framebuffer(device_t self
 	if (fbdev != NULL) {
 		struct drm_fb_helper *const fb_helper = fbdev-helper;
 
-		if (fb_helper-fb != NULL) {
-			struct drm_i915_gem_object *const obj = sc-sc_fb_obj;
-
-			/*
-			 * genfb children have already been detached,
-			 * so all we need do is unmap the space and
-			 * clean up the drm structures.
-			 */
-			bus_space_unmap(dev-bst, sc-sc_fb_bsh,
-			obj-base.size);
-			drm_framebuffer_unreference(fb_helper-fb);
-			fb_helper-fb = NULL;
-			drm_gem_object_unreference_unlocked(obj-base);
-			sc-sc_fb_obj = NULL;
-		}
+		if (fb_helper-fb != NULL)
+			i915drm_fb_detach(fb_helper);
+		KASSERT(fb_helper-fb == NULL);
 
 		KASSERT(sc-sc_fb_obj == NULL);
 		drm_fb_helper_fini(fb_helper);
@@ -336,9 +327,13 @@ i915drm_fb_probe(struct drm_fb_helper *f
 	sizes-surface_depth);
 
 	if (fb_helper-fb != NULL) {
+#if notyet			/* XXX genfb detach */
+		i915drm_fb_detach(fb_helper);
+#else
 		aprint_debug_dev(sc-sc_dev, already have a framebuffer
 		: %p\n, fb_helper-fb);
 		return 0;
+#endif
 	}
 
 	/*
@@ -453,6 +448,22 @@ fail0:	KASSERT(ret  0);
 }
 
 static void
+i915drm_fb_detach(struct drm_fb_helper *fb_helper)
+{
+	struct drm_device *const dev = fb_helper-dev;
+	struct i915drm_softc *const sc = container_of(dev,
+	struct i915drm_softc, sc_drm_dev);
+	struct drm_i915_gem_object *const obj = sc-sc_fb_obj;
+
+	/* XXX How to detach genfb?  */
+	bus_space_unmap(dev-bst, sc-sc_fb_bsh, obj-base.size);
+	drm_framebuffer_unreference(fb_helper-fb);
+	fb_helper-fb = NULL;
+	drm_gem_object_unreference_unlocked(obj-base);
+	sc-sc_fb_obj = NULL;
+}
+
+static void
 i915drm_fb_destroy(struct drm_framebuffer *fb)
 {
 



CVS commit: src/sys/external/bsd/drm2/i915drm

2014-04-03 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Apr  3 14:45:44 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/i915drm: i915_pci.c

Log Message:
Make i915drmkms grab the console by default.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/i915drm/i915_pci.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/external/bsd/drm2/i915drm/i915_pci.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.2 src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.3
--- src/sys/external/bsd/drm2/i915drm/i915_pci.c:1.2	Tue Mar 18 18:20:42 2014
+++ src/sys/external/bsd/drm2/i915drm/i915_pci.c	Thu Apr  3 14:45:44 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_pci.c,v 1.2 2014/03/18 18:20:42 riastradh Exp $	*/
+/*	$NetBSD: i915_pci.c,v 1.3 2014/04/03 14:45:44 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.2 2014/03/18 18:20:42 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: i915_pci.c,v 1.3 2014/04/03 14:45:44 riastradh Exp $);
 
 #include sys/types.h
 #ifndef _MODULE
@@ -416,7 +416,7 @@ i915drm_fb_probe(struct drm_fb_helper *f
 		goto fail3;
 	}
 
-	prop_dictionary_set_bool(dict, is_console, 0); /* XXX */
+	prop_dictionary_set_bool(dict, is_console, 1); /* XXX */
 	prop_dictionary_set_uint32(dict, width, mode_cmd.width);
 	prop_dictionary_set_uint32(dict, height, mode_cmd.height);
 	prop_dictionary_set_uint8(dict, depth, sizes-surface_bpp);