diff options
author | graysky | 2018-02-18 12:16:44 -0500 |
---|---|---|
committer | graysky | 2018-02-18 12:16:44 -0500 |
commit | 65e18a4575206e91006d839cf8a5d5ba8c966a1a (patch) | |
tree | dce6d78549cf20f6a8c2e6804f8d0540e27ffc25 | |
parent | 2a76fa34996c21805930ba16e184448dd5f7ae05 (diff) | |
download | aur-65e18a4575206e91006d839cf8a5d5ba8c966a1a.tar.gz |
Update to 390.25-3
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | 4.15-FS57305.patch | 181 | ||||
-rw-r--r-- | PKGBUILD | 30 |
3 files changed, 209 insertions, 16 deletions
@@ -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); @@ -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: |