Date: Fri, 20 Dec 2019 04:15:56 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r520462 - in head/multimedia/libva-intel-media-driver: . files Message-ID: <201912200415.xBK4FuK2086305@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Fri Dec 20 04:15:56 2019 New Revision: 520462 URL: https://svnweb.freebsd.org/changeset/ports/520462 Log: multimedia/libva-intel-media-driver: try harder with userptr Added: head/multimedia/libva-intel-media-driver/files/patch-userptr (contents, props changed) Modified: head/multimedia/libva-intel-media-driver/Makefile (contents, props changed) Modified: head/multimedia/libva-intel-media-driver/Makefile ============================================================================== --- head/multimedia/libva-intel-media-driver/Makefile Fri Dec 20 04:15:46 2019 (r520461) +++ head/multimedia/libva-intel-media-driver/Makefile Fri Dec 20 04:15:56 2019 (r520462) @@ -3,6 +3,7 @@ PORTNAME= media-driver DISTVERSIONPREFIX= intel-media- DISTVERSION= 19.4.0 +PORTREVISION= 1 CATEGORIES= multimedia PKGNAMEPREFIX= libva-intel- Added: head/multimedia/libva-intel-media-driver/files/patch-userptr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libva-intel-media-driver/files/patch-userptr Fri Dec 20 04:15:56 2019 (r520462) @@ -0,0 +1,31 @@ +Try unsynchronized userptr if regular one fails. +https://github.com/FreeBSDDesktop/kms-drm/issues/197 + +--- media_driver/linux/common/os/i915/mos_bufmgr.c.orig 2019-12-10 08:54:00 UTC ++++ media_driver/linux/common/os/i915/mos_bufmgr.c +@@ -945,10 +945,15 @@ mos_gem_bo_alloc_userptr(struct mos_bufmgr *bufmgr, + userptr.user_size = size; + userptr.flags = 0; + ++retry: + ret = drmIoctl(bufmgr_gem->fd, + DRM_IOCTL_I915_GEM_USERPTR, + &userptr); + if (ret != 0) { ++ if (errno == ENODEV && userptr.flags == 0) { ++ userptr.flags = I915_USERPTR_UNSYNCHRONIZED; ++ goto retry; ++ } + MOS_DBG("bo_create_userptr: " + "ioctl failed with user ptr %p size 0x%lx, " + "user flags 0x%lx\n", addr, size, flags); +@@ -1021,6 +1026,9 @@ retry: + if (errno == ENODEV && userptr.flags == 0) { + userptr.flags = I915_USERPTR_UNSYNCHRONIZED; + goto retry; ++ } ++ if (geteuid() != 0) { ++ fprintf(stderr, "%s", "ioctl(I915_GEM_USERPTR) failed. Try running as root but expect poor stability.\n"); + } + free(ptr); + return false;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912200415.xBK4FuK2086305>