configure.ac | 2 +- debian/changelog | 8 ++++++++ src/drmmode_display.c | 2 +- src/nouveau_copy.c | 2 ++ src/nouveau_exa.c | 1 + src/nv_accel_common.c | 1 + src/nv_driver.c | 4 ++++ src/nv_type.h | 1 + src/nvc0_accel.c | 6 ++++++ 9 files changed, 25 insertions(+), 2 deletions(-)
New commits: commit e4a2c8c370819f99fae1d1b3c7f7f3f8d54feed8 Author: Sven Joachim <svenj...@gmx.de> Date: Sat Apr 22 09:35:02 2017 +0200 Upload to experimental diff --git a/debian/changelog b/debian/changelog index ec42c9a..6d845e8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,10 @@ -xserver-xorg-video-nouveau (1:1.0.15-1) UNRELEASED; urgency=low +xserver-xorg-video-nouveau (1:1.0.15-1) experimental; urgency=low + * Team upload. * New upstream release. - Add support for Pascal cards. - -- Sven Joachim <svenj...@gmx.de> Sat, 22 Apr 2017 09:28:46 +0200 + -- Sven Joachim <svenj...@gmx.de> Sat, 22 Apr 2017 09:33:48 +0200 xserver-xorg-video-nouveau (1:1.0.14-1) experimental; urgency=low commit d2d75d8d1f383fee0737ad61ed2c1a97131009b2 Author: Sven Joachim <svenj...@gmx.de> Date: Sat Apr 22 09:33:33 2017 +0200 New upstream release diff --git a/debian/changelog b/debian/changelog index a9dfa33..ec42c9a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-video-nouveau (1:1.0.15-1) UNRELEASED; urgency=low + + * New upstream release. + - Add support for Pascal cards. + + -- Sven Joachim <svenj...@gmx.de> Sat, 22 Apr 2017 09:28:46 +0200 + xserver-xorg-video-nouveau (1:1.0.14-1) experimental; urgency=low * Team upload. commit a7c190e0c230ed2d5e047ed6aba12d71a4866950 Author: Lyude <ly...@redhat.com> Date: Fri Apr 21 14:41:17 2017 -0400 Bump version to 1.0.15 Signed-off-by: Lyude <ly...@redhat.com> diff --git a/configure.ac b/configure.ac index e494300..0b01d3e 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ([2.60]) AC_INIT([xf86-video-nouveau], - [1.0.14], + [1.0.15], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-nouveau]) commit 3047e99a641d2b8720371aae292750206f5e91fc Author: Ben Skeggs <bske...@redhat.com> Date: Thu Apr 20 15:57:33 2017 +1000 fix null pointer deref when building against >=libdrm 2.4.78 A new pointer got added to drmEventContext. As a result of us both: - Setting drmEventContext.version to "latest" AND - Not zeroing the struct We end up thwarting libdrm's compatibility checks, resulting in libdrm choosing to call through an invalid pointer. Fix this by zeroing the struct. Signed-off-by: Ben Skeggs <bske...@redhat.com> diff --git a/src/drmmode_display.c b/src/drmmode_display.c index ae29d9a..2b71c9c 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -1433,7 +1433,7 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp) unsigned int crtcs_needed = 0; int crtcshift; - drmmode = xnfalloc(sizeof *drmmode); + drmmode = xnfcalloc(sizeof(*drmmode), 1); drmmode->fd = fd; drmmode->fb_id = 0; commit e9418e434311336e905b70553a5ed740838d90ad Author: Mariusz Bialonczyk <ma...@skyboo.net> Date: Wed Mar 29 22:07:50 2017 +0200 Do not register hotplug without RandR When using Xinerama, RandR is automatically disabled, and calling RR routines will trigger an assert() because the RR keys/resources are not set, leading to an Xserver abort. Hotplug makes little sense without RandR, so no need to install a udev monitor if RandR is not available. Ported from xf86-video-intel commit 1a489142c8e6a4828348cc9afbd0f430d3b1e2d8, original work by: Chris Wilson <ch...@chris-wilson.co.uk> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98383 Signed-off-by: Mariusz Bialonczyk <ma...@skyboo.net> Acked-by: Ilia Mirkin <imir...@alum.mit.edu> diff --git a/src/drmmode_display.c b/src/drmmode_display.c index dd9fa27..ae29d9a 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -1556,6 +1556,15 @@ drmmode_udev_notify(int fd, int notify, void *data) } #endif +static bool has_randr(void) +{ +#if HAS_DIXREGISTERPRIVATEKEY + return dixPrivateKeyRegistered(rrPrivKey); +#else + return *rrPrivKey; +#endif +} + static void drmmode_uevent_init(ScrnInfoPtr scrn) { @@ -1564,6 +1573,12 @@ drmmode_uevent_init(ScrnInfoPtr scrn) struct udev *u; struct udev_monitor *mon; + /* RandR will be disabled if Xinerama is active, and so generating + * RR hotplug events is then forbidden. + */ + if (!has_randr()) + return; + u = udev_new(); if (!u) return; commit e472b47d15634a864c8c981ed588d882aceaf26b Author: Ilia Mirkin <imir...@alum.mit.edu> Date: Tue Mar 21 21:25:33 2017 -0400 Add Pascal family support, identical to Maxwell Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Tested-by: Lyude <ly...@redhat.com> diff --git a/src/nouveau_copy.c b/src/nouveau_copy.c index 7118a7a..7fbcc87 100644 --- a/src/nouveau_copy.c +++ b/src/nouveau_copy.c @@ -42,6 +42,7 @@ nouveau_copy_init(ScreenPtr pScreen) int engine; Bool (*init)(NVPtr); } methods[] = { + { 0xc1b5, 0, nouveau_copya0b5_init }, { 0xc0b5, 0, nouveau_copya0b5_init }, { 0xb0b5, 0, nouveau_copya0b5_init }, { 0xa0b5, 0, nouveau_copya0b5_init }, @@ -84,6 +85,7 @@ nouveau_copy_init(ScreenPtr pScreen) break; case NV_KEPLER: case NV_MAXWELL: + case NV_PASCAL: ret = nouveau_object_new(&pNv->dev->object, 0, NOUVEAU_FIFO_CHANNEL_CLASS, &(struct nve0_fifo) { diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c index 0f02b99..55df6f8 100644 --- a/src/nouveau_exa.c +++ b/src/nouveau_exa.c @@ -515,6 +515,7 @@ nouveau_exa_init(ScreenPtr pScreen) case NV_FERMI: case NV_KEPLER: case NV_MAXWELL: + case NV_PASCAL: exa->CheckComposite = NVC0EXACheckComposite; exa->PrepareComposite = NVC0EXAPrepareComposite; exa->Composite = NVC0EXAComposite; diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c index 5d12dd8..5561708 100644 --- a/src/nv_accel_common.c +++ b/src/nv_accel_common.c @@ -723,6 +723,7 @@ NVAccelCommonInit(ScrnInfoPtr pScrn) case NV_FERMI: case NV_KEPLER: case NV_MAXWELL: + case NV_PASCAL: INIT_CONTEXT_OBJECT(3D_NVC0); break; case NV_TESLA: diff --git a/src/nv_driver.c b/src/nv_driver.c index 61940a8..32062eb 100644 --- a/src/nv_driver.c +++ b/src/nv_driver.c @@ -391,6 +391,7 @@ NVHasKMS(struct pci_device *pci_dev, struct xf86_platform_device *platform_dev) case 0x100: case 0x110: case 0x120: + case 0x130: break; default: xf86DrvMsg(-1, X_ERROR, "Unknown chipset: NV%02X\n", chipset); @@ -945,6 +946,9 @@ NVPreInit(ScrnInfoPtr pScrn, int flags) case 0x120: pNv->Architecture = NV_MAXWELL; break; + case 0x130: + pNv->Architecture = NV_PASCAL; + break; default: return FALSE; } diff --git a/src/nv_type.h b/src/nv_type.h index d7bb4f4..6dc5793 100644 --- a/src/nv_type.h +++ b/src/nv_type.h @@ -23,6 +23,7 @@ #define NV_FERMI 0xc0 #define NV_KEPLER 0xe0 #define NV_MAXWELL 0x110 +#define NV_PASCAL 0x130 struct xf86_platform_device; diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c index 6c2bae8..1047d36 100644 --- a/src/nvc0_accel.c +++ b/src/nvc0_accel.c @@ -250,6 +250,12 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) } else if (pNv->dev->chipset < 0x130) { class = 0xb197; handle = 0x0000906e; + } else if (pNv->dev->chipset == 0x130) { + class = 0xc097; + handle = 0x0000906e; + } else if (pNv->dev->chipset < 0x140) { + class = 0xc197; + handle = 0x0000906e; } else { xf86DrvMsg(pScrn->scrnIndex, X_INFO, "No 3D acceleration support for NV%X\n",