[arch-commits] Commit in xf86-video-nouveau/repos (10 files)
Andreas Radke
andyrtr at archlinux.org
Thu Jul 28 20:29:36 UTC 2016
Date: Thursday, July 28, 2016 @ 20:29:36
Author: andyrtr
Revision: 272668
archrelease: copy trunk to extra-i686, extra-x86_64
Added:
xf86-video-nouveau/repos/extra-i686/PKGBUILD
(from rev 272667, xf86-video-nouveau/trunk/PKGBUILD)
xf86-video-nouveau/repos/extra-i686/properly_cleanup_fb_for_reverse-prime-offload.diff
(from rev 272667, xf86-video-nouveau/trunk/properly_cleanup_fb_for_reverse-prime-offload.diff)
xf86-video-nouveau/repos/extra-i686/xf86-video-nouveau.install
(from rev 272667, xf86-video-nouveau/trunk/xf86-video-nouveau.install)
xf86-video-nouveau/repos/extra-x86_64/PKGBUILD
(from rev 272667, xf86-video-nouveau/trunk/PKGBUILD)
xf86-video-nouveau/repos/extra-x86_64/properly_cleanup_fb_for_reverse-prime-offload.diff
(from rev 272667, xf86-video-nouveau/trunk/properly_cleanup_fb_for_reverse-prime-offload.diff)
xf86-video-nouveau/repos/extra-x86_64/xf86-video-nouveau.install
(from rev 272667, xf86-video-nouveau/trunk/xf86-video-nouveau.install)
Deleted:
xf86-video-nouveau/repos/extra-i686/PKGBUILD
xf86-video-nouveau/repos/extra-i686/xf86-video-nouveau.install
xf86-video-nouveau/repos/extra-x86_64/PKGBUILD
xf86-video-nouveau/repos/extra-x86_64/xf86-video-nouveau.install
-----------------------------------------------------------------+
/PKGBUILD | 102 ++++++++++
/xf86-video-nouveau.install | 12 +
extra-i686/PKGBUILD | 44 ----
extra-i686/properly_cleanup_fb_for_reverse-prime-offload.diff | 45 ++++
extra-i686/xf86-video-nouveau.install | 6
extra-x86_64/PKGBUILD | 44 ----
extra-x86_64/properly_cleanup_fb_for_reverse-prime-offload.diff | 45 ++++
extra-x86_64/xf86-video-nouveau.install | 6
8 files changed, 204 insertions(+), 100 deletions(-)
Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2016-07-28 20:29:26 UTC (rev 272667)
+++ extra-i686/PKGBUILD 2016-07-28 20:29:36 UTC (rev 272668)
@@ -1,44 +0,0 @@
-# $Id$
-# Maintainer: Andreas Radke <andyrtr at archlinux.org>
-# Contributor: buddabrod <buddabrod at gmail.com>
-
-pkgname=xf86-video-nouveau
-#pkgver=1.0.11+31+g1ff13a9
-pkgver=1.0.12
-pkgrel=1
-pkgdesc="Open Source 2D acceleration driver for nVidia cards"
-arch=('i686' 'x86_64')
-url="http://nouveau.freedesktop.org/"
-license=('GPL')
-depends=('libdrm' 'systemd' 'mesa-dri')
-makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20' 'git')
-conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21')
-groups=('xorg-drivers' 'xorg')
-install=$pkgname.install
-source=(http://xorg.freedesktop.org/archive/individual/driver/$pkgname-$pkgver.tar.bz2)
-#source=('git://anongit.freedesktop.org/nouveau/xf86-video-nouveau#commit=1ff13a9')
-sha256sums=('SKIP')
-sha256sums=('0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e')
-
-#pkgver() {
-# cd $pkgname
-# git describe --long | sed 's/xf86-video-nouveau-//' | sed 's/-/+/g'
-#}
-
-#prepare() {
-# cd $pkgname
-# NOCONFIGURE=1 ./autogen.sh
-#}
-
-build() {
- cd $pkgname-$pkgver
-# cd $pkgname
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd $pkgname-$pkgver
-# cd $pkgname
- make DESTDIR="$pkgdir" install
-}
Copied: xf86-video-nouveau/repos/extra-i686/PKGBUILD (from rev 272667, xf86-video-nouveau/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD (rev 0)
+++ extra-i686/PKGBUILD 2016-07-28 20:29:36 UTC (rev 272668)
@@ -0,0 +1,51 @@
+# $Id$
+# Maintainer: Andreas Radke <andyrtr at archlinux.org>
+# Contributor: buddabrod <buddabrod at gmail.com>
+
+pkgname=xf86-video-nouveau
+#pkgver=1.0.11+31+g1ff13a9
+pkgver=1.0.12
+pkgrel=2
+pkgdesc="Open Source 2D acceleration driver for nVidia cards"
+arch=('i686' 'x86_64')
+url="http://nouveau.freedesktop.org/"
+license=('GPL')
+depends=('libdrm' 'systemd' 'mesa-dri')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20' 'git')
+conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21')
+groups=('xorg-drivers' 'xorg')
+install=$pkgname.install
+source=(http://xorg.freedesktop.org/archive/individual/driver/$pkgname-$pkgver.tar.bz2
+ properly_cleanup_fb_for_reverse-prime-offload.diff)
+#source=('git://anongit.freedesktop.org/nouveau/xf86-video-nouveau#commit=1ff13a9')
+sha256sums=('0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e'
+ '9cbd02fa0d1acc821ff76e353f04cf16c3072e017ad0e8aaca460f83285567b3')
+
+#pkgver() {
+# cd $pkgname
+# git describe --long | sed 's/xf86-video-nouveau-//' | sed 's/-/+/g'
+#}
+
+prepare() {
+ #cd $pkgname
+ #NOCONFIGURE=1 ./autogen.sh
+
+ cd $pkgname-$pkgver
+ # https://bugs.archlinux.org/task/49961
+ # https://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=12f77348e7a9579b167b41228dec9e6f97b74de8
+ patch -Np1 -i ../properly_cleanup_fb_for_reverse-prime-offload.diff
+
+}
+
+build() {
+ cd $pkgname-$pkgver
+# cd $pkgname
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+# cd $pkgname
+ make DESTDIR="$pkgdir" install
+}
Copied: xf86-video-nouveau/repos/extra-i686/properly_cleanup_fb_for_reverse-prime-offload.diff (from rev 272667, xf86-video-nouveau/trunk/properly_cleanup_fb_for_reverse-prime-offload.diff)
===================================================================
--- extra-i686/properly_cleanup_fb_for_reverse-prime-offload.diff (rev 0)
+++ extra-i686/properly_cleanup_fb_for_reverse-prime-offload.diff 2016-07-28 20:29:36 UTC (rev 272668)
@@ -0,0 +1,45 @@
+From 12f77348e7a9579b167b41228dec9e6f97b74de8 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Fri, 3 Jun 2016 14:46:10 +0200
+Subject: Properly cleanup fb for reverse-prime-offload
+
+drmmode_set_scanout_pixmap(pix) adds drmmod->fb_id through a call
+to drmmode_xf86crtc_resize(), but on a subsequent
+drmmode_set_scanout_pixmap(NULL) it would not remove the fb.
+
+This keeps the crtc marked as busy, which causes the dgpu to not
+being able to runtime suspend, after an output attached to the dgpu
+has been used once. Which causes burning through an additional 10W
+of power and the laptop to run quite hot.
+
+This commit adds the missing remove fb call, allowing the dgpu to runtime
+suspend after an external monitor has been plugged into the laptop.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+
+diff --git a/src/drmmode_display.c b/src/drmmode_display.c
+index b950f42..f326e46 100644
+--- a/src/drmmode_display.c
++++ b/src/drmmode_display.c
+@@ -680,10 +680,16 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
+ PixmapPtr screenpix = screen->GetScreenPixmap(screen);
+ xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn);
+ drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
++ drmmode_ptr drmmode = drmmode_crtc->drmmode;
+ int c, total_width = 0, max_height = 0, this_x = 0;
+ if (!ppix) {
+- if (crtc->randr_crtc->scanout_pixmap)
++ if (crtc->randr_crtc->scanout_pixmap) {
+ PixmapStopDirtyTracking(crtc->randr_crtc->scanout_pixmap, screenpix);
++ if (drmmode && drmmode->fb_id) {
++ drmModeRmFB(drmmode->fd, drmmode->fb_id);
++ drmmode->fb_id = 0;
++ }
++ }
+ drmmode_crtc->scanout_pixmap_x = 0;
+ return TRUE;
+ }
+--
+cgit v0.10.2
+
Deleted: extra-i686/xf86-video-nouveau.install
===================================================================
--- extra-i686/xf86-video-nouveau.install 2016-07-28 20:29:26 UTC (rev 272667)
+++ extra-i686/xf86-video-nouveau.install 2016-07-28 20:29:36 UTC (rev 272668)
@@ -1,6 +0,0 @@
-post_install () {
- cat << _EOF
- ==> make sure you use KernelModeSetting (KMS)
- ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
-_EOF
-}
Copied: xf86-video-nouveau/repos/extra-i686/xf86-video-nouveau.install (from rev 272667, xf86-video-nouveau/trunk/xf86-video-nouveau.install)
===================================================================
--- extra-i686/xf86-video-nouveau.install (rev 0)
+++ extra-i686/xf86-video-nouveau.install 2016-07-28 20:29:36 UTC (rev 272668)
@@ -0,0 +1,6 @@
+post_install () {
+ cat << _EOF
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+}
Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD 2016-07-28 20:29:26 UTC (rev 272667)
+++ extra-x86_64/PKGBUILD 2016-07-28 20:29:36 UTC (rev 272668)
@@ -1,44 +0,0 @@
-# $Id$
-# Maintainer: Andreas Radke <andyrtr at archlinux.org>
-# Contributor: buddabrod <buddabrod at gmail.com>
-
-pkgname=xf86-video-nouveau
-#pkgver=1.0.11+31+g1ff13a9
-pkgver=1.0.12
-pkgrel=1
-pkgdesc="Open Source 2D acceleration driver for nVidia cards"
-arch=('i686' 'x86_64')
-url="http://nouveau.freedesktop.org/"
-license=('GPL')
-depends=('libdrm' 'systemd' 'mesa-dri')
-makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20' 'git')
-conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21')
-groups=('xorg-drivers' 'xorg')
-install=$pkgname.install
-source=(http://xorg.freedesktop.org/archive/individual/driver/$pkgname-$pkgver.tar.bz2)
-#source=('git://anongit.freedesktop.org/nouveau/xf86-video-nouveau#commit=1ff13a9')
-sha256sums=('SKIP')
-sha256sums=('0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e')
-
-#pkgver() {
-# cd $pkgname
-# git describe --long | sed 's/xf86-video-nouveau-//' | sed 's/-/+/g'
-#}
-
-#prepare() {
-# cd $pkgname
-# NOCONFIGURE=1 ./autogen.sh
-#}
-
-build() {
- cd $pkgname-$pkgver
-# cd $pkgname
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd $pkgname-$pkgver
-# cd $pkgname
- make DESTDIR="$pkgdir" install
-}
Copied: xf86-video-nouveau/repos/extra-x86_64/PKGBUILD (from rev 272667, xf86-video-nouveau/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD (rev 0)
+++ extra-x86_64/PKGBUILD 2016-07-28 20:29:36 UTC (rev 272668)
@@ -0,0 +1,51 @@
+# $Id$
+# Maintainer: Andreas Radke <andyrtr at archlinux.org>
+# Contributor: buddabrod <buddabrod at gmail.com>
+
+pkgname=xf86-video-nouveau
+#pkgver=1.0.11+31+g1ff13a9
+pkgver=1.0.12
+pkgrel=2
+pkgdesc="Open Source 2D acceleration driver for nVidia cards"
+arch=('i686' 'x86_64')
+url="http://nouveau.freedesktop.org/"
+license=('GPL')
+depends=('libdrm' 'systemd' 'mesa-dri')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20' 'git')
+conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21')
+groups=('xorg-drivers' 'xorg')
+install=$pkgname.install
+source=(http://xorg.freedesktop.org/archive/individual/driver/$pkgname-$pkgver.tar.bz2
+ properly_cleanup_fb_for_reverse-prime-offload.diff)
+#source=('git://anongit.freedesktop.org/nouveau/xf86-video-nouveau#commit=1ff13a9')
+sha256sums=('0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e'
+ '9cbd02fa0d1acc821ff76e353f04cf16c3072e017ad0e8aaca460f83285567b3')
+
+#pkgver() {
+# cd $pkgname
+# git describe --long | sed 's/xf86-video-nouveau-//' | sed 's/-/+/g'
+#}
+
+prepare() {
+ #cd $pkgname
+ #NOCONFIGURE=1 ./autogen.sh
+
+ cd $pkgname-$pkgver
+ # https://bugs.archlinux.org/task/49961
+ # https://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=12f77348e7a9579b167b41228dec9e6f97b74de8
+ patch -Np1 -i ../properly_cleanup_fb_for_reverse-prime-offload.diff
+
+}
+
+build() {
+ cd $pkgname-$pkgver
+# cd $pkgname
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+# cd $pkgname
+ make DESTDIR="$pkgdir" install
+}
Copied: xf86-video-nouveau/repos/extra-x86_64/properly_cleanup_fb_for_reverse-prime-offload.diff (from rev 272667, xf86-video-nouveau/trunk/properly_cleanup_fb_for_reverse-prime-offload.diff)
===================================================================
--- extra-x86_64/properly_cleanup_fb_for_reverse-prime-offload.diff (rev 0)
+++ extra-x86_64/properly_cleanup_fb_for_reverse-prime-offload.diff 2016-07-28 20:29:36 UTC (rev 272668)
@@ -0,0 +1,45 @@
+From 12f77348e7a9579b167b41228dec9e6f97b74de8 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Fri, 3 Jun 2016 14:46:10 +0200
+Subject: Properly cleanup fb for reverse-prime-offload
+
+drmmode_set_scanout_pixmap(pix) adds drmmod->fb_id through a call
+to drmmode_xf86crtc_resize(), but on a subsequent
+drmmode_set_scanout_pixmap(NULL) it would not remove the fb.
+
+This keeps the crtc marked as busy, which causes the dgpu to not
+being able to runtime suspend, after an output attached to the dgpu
+has been used once. Which causes burning through an additional 10W
+of power and the laptop to run quite hot.
+
+This commit adds the missing remove fb call, allowing the dgpu to runtime
+suspend after an external monitor has been plugged into the laptop.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+
+diff --git a/src/drmmode_display.c b/src/drmmode_display.c
+index b950f42..f326e46 100644
+--- a/src/drmmode_display.c
++++ b/src/drmmode_display.c
+@@ -680,10 +680,16 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
+ PixmapPtr screenpix = screen->GetScreenPixmap(screen);
+ xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn);
+ drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
++ drmmode_ptr drmmode = drmmode_crtc->drmmode;
+ int c, total_width = 0, max_height = 0, this_x = 0;
+ if (!ppix) {
+- if (crtc->randr_crtc->scanout_pixmap)
++ if (crtc->randr_crtc->scanout_pixmap) {
+ PixmapStopDirtyTracking(crtc->randr_crtc->scanout_pixmap, screenpix);
++ if (drmmode && drmmode->fb_id) {
++ drmModeRmFB(drmmode->fd, drmmode->fb_id);
++ drmmode->fb_id = 0;
++ }
++ }
+ drmmode_crtc->scanout_pixmap_x = 0;
+ return TRUE;
+ }
+--
+cgit v0.10.2
+
Deleted: extra-x86_64/xf86-video-nouveau.install
===================================================================
--- extra-x86_64/xf86-video-nouveau.install 2016-07-28 20:29:26 UTC (rev 272667)
+++ extra-x86_64/xf86-video-nouveau.install 2016-07-28 20:29:36 UTC (rev 272668)
@@ -1,6 +0,0 @@
-post_install () {
- cat << _EOF
- ==> make sure you use KernelModeSetting (KMS)
- ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
-_EOF
-}
Copied: xf86-video-nouveau/repos/extra-x86_64/xf86-video-nouveau.install (from rev 272667, xf86-video-nouveau/trunk/xf86-video-nouveau.install)
===================================================================
--- extra-x86_64/xf86-video-nouveau.install (rev 0)
+++ extra-x86_64/xf86-video-nouveau.install 2016-07-28 20:29:36 UTC (rev 272668)
@@ -0,0 +1,6 @@
+post_install () {
+ cat << _EOF
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+}
More information about the arch-commits
mailing list