pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

xf86-video-intel-dfbsd: Fix FreeBSD with revert userptr unsynchronized option



Module Name:	pkgsrc-wip
Committed By:	David Shao <davshao%gmail.com@localhost>
Pushed By:	dshao
Date:		Sun Mar 3 14:12:38 2019 -0800
Changeset:	89fe5387a022d2bff858d9dbe16994608c5c5110

Modified Files:
	xf86-video-intel-dfbsd/Makefile
	xf86-video-intel-dfbsd/distinfo
	xf86-video-intel-dfbsd/patches/patch-src_sna_kgem.c

Log Message:
xf86-video-intel-dfbsd: Fix FreeBSD with revert userptr unsynchronized option

Update through 2019-03-01

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=89fe5387a022d2bff858d9dbe16994608c5c5110

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

diffstat:
 xf86-video-intel-dfbsd/Makefile                    | 27 ++++++++++++++++++++--
 xf86-video-intel-dfbsd/distinfo                    | 10 ++++----
 .../patches/patch-src_sna_kgem.c                   | 25 +++++++++++++++-----
 3 files changed, 49 insertions(+), 13 deletions(-)

diffs:
diff --git a/xf86-video-intel-dfbsd/Makefile b/xf86-video-intel-dfbsd/Makefile
index 9ad3e6c8fb..75323d5b13 100644
--- a/xf86-video-intel-dfbsd/Makefile
+++ b/xf86-video-intel-dfbsd/Makefile
@@ -3,8 +3,14 @@
 # Use the commit id to obtain a snapshot of the form: 
 # http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/xf86-video-intel-78d7a09b0343829c81257024b164b0b3764392ac.tar.xz
 
+# 2019-03-01 sna: Switch back to hwcursor on the next cursor update
+COMMIT_ID=	6afed33b2d673d88674f0c76efe500ae414e8e1b
+
+# 2019-02-21 Fix build on i686
+# COMMIT_ID=	9e6e003e3468dca674ac848e2669af973da02fd4
+
 # 2019-01-21 sna/uxa: Fix colormap handling at screen depth 30. (v2)
-COMMIT_ID=	33ee0c3b21ea279e08d0863fcb2e874f0974b00e
+# COMMIT_ID=	33ee0c3b21ea279e08d0863fcb2e874f0974b00e
 
 # 2019-01-10 sna: Switch off old outputs on topology changes
 # COMMIT_ID=	c37c7ee0748ba828ec5d2c7304cd2a17af2c8109	
@@ -66,12 +72,21 @@ SUBST_SED.jmp_buf=		-e 's@[[:<:]]jmp_buf[[:>:]]@sigjmp_buf@g'
 
 PKG_OPTIONS_VAR=	PKG_OPTIONS.xf86-video-intel
 PKG_SUPPORTED_OPTIONS=	uxa dri3 debug
+PKG_SUPPORTED_OPTIONS+=	set_dbg_no_unsynchronized_userptr
+PKG_SUPPORTED_OPTIONS+=	set_dbg_no_llc
 PKG_SUGGESTED_OPTIONS=
+# PKG_SUGGESTED_OPTIONS+=	set_dbg_no_unsynchronized_userptr
+# PKG_SUGGESTED_OPTIONS+=	set_dbg_no_llc
 
 CONFIGURE_ARGS.FreeBSD+=	--disable-udev
 
 .if ${OPSYS} == "FreeBSD"
-PKG_SUGGESTED_OPTIONS+=	uxa
+# PKG_SUGGESTED_OPTIONS+=	uxa
+PKG_SUGGESTED_OPTIONS+=	set_dbg_no_unsynchronized_userptr
+.endif
+
+.if ${OPSYS} == "DragonFly"
+PKG_SUGGESTED_OPTIONS+=	set_dbg_no_llc
 .endif
 
 .include "../../mk/bsd.options.mk"
@@ -94,6 +109,14 @@ CFLAGS+=		-O0 -g3
 CONFIGURE_ARGS+=	--enable-debug
 .endif
 
+.if !empty(PKG_OPTIONS:Mset_dbg_no_unsynchronized_userptr)
+CPPFLAGS+=	-DSET_DBG_NO_UNSYNCHRONIZED_USERPTR
+.endif
+
+.if !empty(PKG_OPTIONS:Mset_dbg_no_llc)
+CPPFLAGS+=	-DSET_DBG_NO_LLC
+.endif
+
 pre-configure:
 	cd ${WRKSRC} && autoreconf -vif
 
diff --git a/xf86-video-intel-dfbsd/distinfo b/xf86-video-intel-dfbsd/distinfo
index f059fc6d55..e2e3901dcb 100644
--- a/xf86-video-intel-dfbsd/distinfo
+++ b/xf86-video-intel-dfbsd/distinfo
@@ -1,11 +1,11 @@
 $NetBSD: distinfo,v 1.1 2015/04/01 13:11:38 tnn2 Exp $
 
-SHA1 (xf86-video-intel-33ee0c3b21ea279e08d0863fcb2e874f0974b00e.tar.xz) = c6890dd1d7e1bdd787ae0d473cb855929168684d
-RMD160 (xf86-video-intel-33ee0c3b21ea279e08d0863fcb2e874f0974b00e.tar.xz) = 09c2927b027c8d639fc8d9a97cce1f77d5e349a1
-SHA512 (xf86-video-intel-33ee0c3b21ea279e08d0863fcb2e874f0974b00e.tar.xz) = b63ce62b1406e9e576aab7db4174b0b40c6074590d32166d98eac7b5019671f47c5ab6199e887b442a9db7daaf2e7df908ec8c4d4016e8c89fc28d750c169622
-Size (xf86-video-intel-33ee0c3b21ea279e08d0863fcb2e874f0974b00e.tar.xz) = 955256 bytes
+SHA1 (xf86-video-intel-6afed33b2d673d88674f0c76efe500ae414e8e1b.tar.xz) = acec51bc49102bd071ebd1ffd14eb4730dc4cdc2
+RMD160 (xf86-video-intel-6afed33b2d673d88674f0c76efe500ae414e8e1b.tar.xz) = bee1e0526fb569a5942e45cacb962d7d81604a6a
+SHA512 (xf86-video-intel-6afed33b2d673d88674f0c76efe500ae414e8e1b.tar.xz) = 37572630196ee124097ffbfcd6f0e77c9701ff46154a213a6a0778cd1ca4f42fe9da598e948bc167eac6af3ef8097c101f39b1569b3141fb7e0dd0e1997955df
+Size (xf86-video-intel-6afed33b2d673d88674f0c76efe500ae414e8e1b.tar.xz) = 955096 bytes
 SHA1 (patch-src_intel__device.c) = b0a1f775d3e66605e9a1d94745bc4f7a1fba179e
 SHA1 (patch-src_intel__list.h) = 98ba59c22bc7109f95666291ca1aac19189999aa
-SHA1 (patch-src_sna_kgem.c) = bcc7bf2fded99b5f5b6920f610c30b0bbc72668d
+SHA1 (patch-src_sna_kgem.c) = 57341a2fba5cabe70b20a4a0b2699e655e2d61d7
 SHA1 (patch-src_sna_sna__threads.c) = 54a3bd0de878009335f08b3f41812540a72f5d4d
 SHA1 (patch-src_sna_sna__video.c) = ee732a2c73997cfdf5c5b936fac065a0224687af
diff --git a/xf86-video-intel-dfbsd/patches/patch-src_sna_kgem.c b/xf86-video-intel-dfbsd/patches/patch-src_sna_kgem.c
index dac2bbac68..e3fc182e18 100644
--- a/xf86-video-intel-dfbsd/patches/patch-src_sna_kgem.c
+++ b/xf86-video-intel-dfbsd/patches/patch-src_sna_kgem.c
@@ -8,7 +8,14 @@ x11-drivers/xf86-video-intel29
 Additional patch for DragonFly because struct drm_i915_gem_mmap
 has a field flags.
 
---- src/sna/kgem.c.orig	2019-01-10 10:01:58.000000000 +0000
+https://bz-attachments.freebsd.org/attachment.cgi?id=20233
+
+Fix SNA for drm-v4.11 or later by disabling I915_USERPTR_UNSYNCHRONIZED
+
+I915_USERPTR_UNSYNCHRONIZED is broken since drm-v4.11
+https://github.com/FreeBSDDesktop/kms-drm/issues/32
+
+--- src/sna/kgem.c.orig	2019-02-21 22:26:50.000000000 +0000
 +++ src/sna/kgem.c
 @@ -29,6 +29,11 @@
  #include "config.h"
@@ -22,11 +29,17 @@ has a field flags.
  #include "sna.h"
  #include "sna_reg.h"
  
-@@ -71,7 +76,11 @@ search_snoop_cache(struct kgem *kgem, un
+@@ -69,9 +74,17 @@ search_snoop_cache(struct kgem *kgem, unsigned int num
+ #define DBG_NO_CPU 0
+ #define DBG_NO_CREATE2 0
  #define DBG_NO_USERPTR 0
++#if defined(SET_DBG_NO_UNSYNCHRONIZED_USERPTR)
++#define DBG_NO_UNSYNCHRONIZED_USERPTR 1
++#else
  #define DBG_NO_UNSYNCHRONIZED_USERPTR 0
++#endif
  #define DBG_NO_COHERENT_MMAP_GTT 0
-+#if defined(__DragonFly__)
++#if defined(SET_DBG_NO_LLC)
 +#define DBG_NO_LLC 1
 +#else
  #define DBG_NO_LLC 0
@@ -34,7 +47,7 @@ has a field flags.
  #define DBG_NO_SEMAPHORES 0
  #define DBG_NO_MADV 0
  #define DBG_NO_UPLOAD_CACHE 0
-@@ -682,7 +691,11 @@ retry_wc:
+@@ -682,7 +695,11 @@ retry_wc:
  
  static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
  {
@@ -46,7 +59,7 @@ has a field flags.
  	int err;
  
  	VG_CLEAR(arg);
-@@ -691,7 +704,12 @@ static void *__kgem_bo_map__cpu(struct k
+@@ -691,7 +708,12 @@ static void *__kgem_bo_map__cpu(struct kgem *kgem, str
  retry:
  	arg.handle = bo->handle;
  	arg.size = bytes(bo);
@@ -59,7 +72,7 @@ has a field flags.
  		DBG(("%s: failed %d, throttling/cleaning caches\n",
  		     __FUNCTION__, err));
  		assert(err != -EINVAL || bo->prime);
-@@ -3313,11 +3331,21 @@ bool __kgem_ring_is_idle(struct kgem *kg
+@@ -3313,11 +3335,21 @@ bool __kgem_ring_is_idle(struct kgem *kgem, int ring)
  	if (rq) {
  		struct kgem_request *tmp;
  


Home | Main Index | Thread Index | Old Index