diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-kernel-4.8.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-kernel-4.8.patch new file mode 100644 index 0000000000..1014c54da2 --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-kernel-4.8.patch @@ -0,0 +1,49 @@ +diff -Naur a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c +--- a/kernel/nvidia-drm/nvidia-drm-drv.c 2016-07-12 00:53:45.000000000 -0400 ++++ b/kernel/nvidia-drm/nvidia-drm-drv.c 2016-08-03 20:19:16.536783934 -0400 +@@ -36,6 +36,7 @@ + #include "nvidia-drm-ioctl.h" + + #include ++#include + + #include + +@@ -419,7 +420,7 @@ + + static + void nvidia_drm_master_drop(struct drm_device *dev, +- struct drm_file *file_priv, bool from_release) ++ struct drm_file *file_priv) + { + struct nvidia_drm_device *nv_dev = dev->dev_private; + int ret; +@@ -452,7 +453,7 @@ + mutex_lock(&dev->master_mutex); + + if (!file_priv->is_master || +- !file_priv->minor->master) ++ !file_priv->minor->dev->master) + { + goto done; + } +@@ -473,7 +474,7 @@ + * NVKMS modeset ownership, because nvidia_drm_master_set()'s call to + * grabOwnership() will fail. + */ +- drm_master_put(&file_priv->minor->master); ++ drm_master_put(&file_priv->minor->dev->master); + file_priv->is_master = 0; + + ret = 0; +diff -Naur a/kernel/nvidia-drm/nvidia-drm-modeset.c b/kernel/nvidia-drm/nvidia-drm-modeset.c +--- a/kernel/nvidia-drm/nvidia-drm-modeset.c 2016-07-12 00:53:45.000000000 -0400 ++++ b/kernel/nvidia-drm/nvidia-drm-modeset.c 2016-08-03 20:14:18.058238340 -0400 +@@ -675,7 +675,7 @@ + goto failed; + } + +- drm_atomic_helper_swap_state(dev, state); ++ drm_atomic_helper_swap_state(state, async); + + nvidia_drm_update_head_mode_config(state, requested_config);