summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgraysky2018-02-18 12:16:44 -0500
committergraysky2018-02-18 12:16:44 -0500
commit65e18a4575206e91006d839cf8a5d5ba8c966a1a (patch)
treedce6d78549cf20f6a8c2e6804f8d0540e27ffc25
parent2a76fa34996c21805930ba16e184448dd5f7ae05 (diff)
downloadaur-65e18a4575206e91006d839cf8a5d5ba8c966a1a.tar.gz
Update to 390.25-3
-rw-r--r--.SRCINFO14
-rw-r--r--4.15-FS57305.patch181
-rw-r--r--PKGBUILD30
3 files changed, 209 insertions, 16 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9b5a73acf5f4..ff006fa903af 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,24 +1,26 @@
# Generated by mksrcinfo v8
-# Thu Feb 8 01:42:55 UTC 2018
+# Sun Feb 18 17:16:43 UTC 2018
pkgbase = nvidia-ck
pkgdesc = NVIDIA drivers for linux-ck.
pkgver = 390.25
- pkgrel = 2
+ pkgrel = 3
epoch = 1
url = http://www.nvidia.com/
arch = x86_64
license = custom
- makedepends = linux-ck-headers>=4.14
- makedepends = linux-ck-headers<4.15
+ makedepends = linux-ck-headers>=4.15
+ makedepends = linux-ck-headers<4.16
makedepends = nvidia-libgl
- depends = linux-ck>=4.14
- depends = linux-ck<4.15
+ depends = linux-ck>=4.15
+ depends = linux-ck<4.16
depends = libgl
depends = nvidia-utils=390.25
conflicts = nvidia-340xx-ck
options = !strip
source = http://us.download.nvidia.com/XFree86/Linux-x86_64/390.25/NVIDIA-Linux-x86_64-390.25-no-compat32.run
+ source = 4.15-FS57305.patch
sha256sums = 02263bc81b66e68fc8224447b249f4f0ca4ae201c467e236d917be2fe187f3d6
+ sha256sums = 145d436f117455a1a8315b31dc2c9fce3c90c135d8c530b8b8da0e70548f48d9
pkgname = nvidia-ck
diff --git a/4.15-FS57305.patch b/4.15-FS57305.patch
new file mode 100644
index 000000000000..723c9c37836f
--- /dev/null
+++ b/4.15-FS57305.patch
@@ -0,0 +1,181 @@
+diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh
+index 292d7da..5f254e1 100755
+--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh
++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh
+@@ -2123,6 +2123,7 @@ compile_test() {
+ #endif
+ #include <drm/drm_atomic.h>
+ #include <drm/drm_atomic_helper.h>
++ #include <linux/version.h>
+ #if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE)
+ #error DRM not enabled
+ #endif
+@@ -2146,8 +2147,12 @@ compile_test() {
+ /* 2014-12-18 88a48e297b3a3bac6022c03babfb038f1a886cea */
+ i = DRIVER_ATOMIC;
+
++ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ /* 2015-04-10 df63b9994eaf942afcdb946d27a28661d7dfbf2a */
+ for_each_crtc_in_state(s, c, cs, i) { }
++ #else
++ for_each_new_crtc_in_state(s, c, cs, i) {}
++ #endif
+
+ /* 2015-05-18 036ef5733ba433760a3512bb5f7a155946e2df05 */
+ a = offsetof(struct drm_mode_config_funcs, atomic_state_alloc);
+diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c
+index cf16b6f..a66ae5a 100644
+--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c
++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c
+@@ -33,6 +33,7 @@
+
+ #include <drm/drm_atomic.h>
+ #include <drm/drm_atomic_helper.h>
++#include <linux/version.h>
+
+ static void nv_drm_connector_destroy(struct drm_connector *connector)
+ {
+@@ -87,7 +88,11 @@ static enum drm_connector_status __nv_drm_connector_detect_internal(
+ break;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ encoder = drm_encoder_find(dev, connector->encoder_ids[i]);
++#else
++ encoder = drm_encoder_find(dev, NULL, connector->encoder_ids[i]);
++#endif
+
+ if (encoder == NULL) {
+ BUG_ON(encoder != NULL);
+diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c
+index b54128a..d820dc2 100644
+--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c
++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c
+@@ -37,6 +37,7 @@
+
+ #include <drm/drm_atomic.h>
+ #include <drm/drm_atomic_helper.h>
++#include <linux/version.h>
+
+ static const u32 nv_default_supported_plane_drm_formats[] = {
+ DRM_FORMAT_ARGB1555,
+@@ -141,7 +142,11 @@ static int nv_drm_plane_atomic_check(struct drm_plane *plane,
+ goto done;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_crtc_in_state(plane_state->state, crtc, crtc_state, i) {
++#else
++ for_each_new_crtc_in_state(plane_state->state, crtc, crtc_state, i) {
++#endif
+ struct nv_drm_crtc_state *nv_crtc_state = to_nv_crtc_state(crtc_state);
+ struct NvKmsKapiHeadRequestedConfig *head_req_config =
+ &nv_crtc_state->req_config;
+@@ -365,7 +370,11 @@ static int nv_drm_crtc_atomic_check(struct drm_crtc *crtc,
+
+ req_config->flags.displaysChanged = NV_TRUE;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_connector_in_state(crtc_state->state,
++#else
++ for_each_new_connector_in_state(crtc_state->state,
++#endif
+ connector, connector_state, j) {
+ if (connector_state->crtc != crtc) {
+ continue;
+@@ -613,7 +622,11 @@ int nv_drm_get_crtc_crc32_ioctl(struct drm_device *dev,
+ goto done;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ crtc = drm_crtc_find(dev, params->crtc_id);
++#else
++ crtc = drm_crtc_find(dev, NULL, params->crtc_id);
++#endif
+ if (!crtc) {
+ ret = -ENOENT;
+ goto done;
+diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c
+index da15d89..91f64ea 100644
+--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c
++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c
+@@ -33,6 +33,7 @@
+ #include <drm/drm_atomic.h>
+ #include <drm/drm_atomic_helper.h>
+ #include <drm/drm_crtc.h>
++#include <linux/version.h>
+
+ struct nv_drm_atomic_state {
+ struct NvKmsKapiRequestedModeSetConfig config;
+@@ -110,7 +111,11 @@ nv_drm_atomic_apply_modeset_config(struct drm_device *dev,
+ memset(requested_config, 0, sizeof(*requested_config));
+
+ /* Loop over affected crtcs and construct NvKmsKapiRequestedModeSetConfig */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
++#else
++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
++#endif
+ /*
+ * When commiting a state, the new state is already stored in
+ * crtc->state. When checking a proposed state, the proposed state is
+@@ -178,7 +183,11 @@ void nv_drm_atomic_helper_commit_tail(struct drm_atomic_state *state)
+ nv_drm_write_combine_flush();
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
++#else
++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
++#endif
+ struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc);
+ struct nv_drm_crtc_state *nv_crtc_state = to_nv_crtc_state(crtc->state);
+ struct nv_drm_flip *nv_flip = nv_crtc_state->nv_flip;
+@@ -282,7 +291,11 @@ static void nv_drm_atomic_commit_task_callback(struct work_struct *work)
+ ret);
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
++#else
++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
++#endif
+ struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc);
+
+ if (wait_event_timeout(
+@@ -351,7 +364,11 @@ static int nv_drm_atomic_commit_internal(
+ * condition between two/more nvKms->applyModeSetConfig() on single
+ * crtc and generate flip events in correct order.
+ */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
++#else
++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
++#endif
+ struct nv_drm_device *nv_dev = to_nv_device(dev);
+ struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc);
+
+@@ -372,7 +389,11 @@ static int nv_drm_atomic_commit_internal(
+ }
+ }
+ } else {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
++#else
++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
++#endif
+ struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc);
+
+ if (atomic_read(&nv_crtc->has_pending_commit) ||
+@@ -388,7 +409,11 @@ static int nv_drm_atomic_commit_internal(
+ * flip events.
+ */
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
++#else
++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
++#endif
+ struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc);
+
+ atomic_set(&nv_crtc->has_pending_commit, true);
diff --git a/PKGBUILD b/PKGBUILD
index e7e5e68848d7..e3d8aaf8aa94 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,27 +4,32 @@
pkgname=nvidia-ck
pkgver=390.25
-pkgrel=2
+pkgrel=3
epoch=1
-_extramodules=extramodules-4.14-ck
+_extramodules=extramodules-4.15-ck
_pkgdesc="NVIDIA drivers for linux-ck."
pkgdesc="$_pkgdesc"
arch=('x86_64')
url="http://www.nvidia.com/"
-depends=('linux-ck>=4.14' 'linux-ck<4.15' 'libgl' "nvidia-utils=${pkgver}")
-makedepends=('linux-ck-headers>=4.14' 'linux-ck-headers<4.15' 'nvidia-libgl')
+depends=('linux-ck>=4.15' 'linux-ck<4.16' 'libgl' "nvidia-utils=${pkgver}")
+makedepends=('linux-ck-headers>=4.15' 'linux-ck-headers<4.16' 'nvidia-libgl')
conflicts=('nvidia-340xx-ck')
#groups=('ck-generic')
#replaces=()
license=('custom')
-options=(!strip)
-source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha256sums=('02263bc81b66e68fc8224447b249f4f0ca4ae201c467e236d917be2fe187f3d6')
+options=('!strip')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+ 4.15-FS57305.patch)
+sha256sums=('02263bc81b66e68fc8224447b249f4f0ca4ae201c467e236d917be2fe187f3d6'
+ '145d436f117455a1a8315b31dc2c9fce3c90c135d8c530b8b8da0e70548f48d9')
+
_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
+
+ patch -Np2 -i "${srcdir}"/4.15-FS57305.patch
}
build() {
@@ -37,10 +42,15 @@ package() {
install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \
"${srcdir}/${_pkg}/kernel"/nvidia{,-modeset,-drm,-uvm}.ko
- find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
+ find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
+
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia-ck.conf" <<END
+blacklist nouveau
+blacklist nvidiafb
+blacklist rivafb
+END
- echo "blacklist nouveau" |
- install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia-ck.conf"
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE"
}
# vim:set ts=2 sw=2 et: