mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-11 21:04:37 +08:00
fix nvidia-390xx with kernel 4.19 patch [skip-ci]
This commit is contained in:
parent
5ae173916a
commit
de50fe8b29
@ -13,10 +13,12 @@ source=("https://code.chakralinux.org/tools/chakra-hardware-detection/raw/master
|
||||
_pkg="NVIDIA-Linux-x86_64-${pkgver}"
|
||||
_extramodules=extramodules-CHAKRA
|
||||
source+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run"
|
||||
kernel-4.16.patch)
|
||||
kernel-4.16.patch
|
||||
kernel-4.19.patch)
|
||||
sha256sums=('94db1b11de33b0299da021fee8c21e4442656fe76452ac582b556e3f96365d5d'
|
||||
'38290a0b19e86037112f22397e02be9cdd6bcd677dd926b2977bbd49119e611e'
|
||||
'622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385')
|
||||
'622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385'
|
||||
'e425320bd3712cc789035d5936412724b0b410f50463980c0a48715fd3f8c431')
|
||||
|
||||
prepare() {
|
||||
sh "${_pkg}.run" --extract-only
|
||||
@ -25,6 +27,7 @@ prepare() {
|
||||
# Restore phys_to_dma support (still needed for 396.18)
|
||||
# https://bugs.archlinux.org/task/58074
|
||||
patch -Np1 -i ../kernel-4.16.patch
|
||||
patch -Np1 -i ../kernel-4.19.patch
|
||||
|
||||
cp -a kernel kernel-dkms
|
||||
cd kernel-dkms
|
||||
|
63
nvidia-390xx/kernel-4.19.patch
Normal file
63
nvidia-390xx/kernel-4.19.patch
Normal file
@ -0,0 +1,63 @@
|
||||
diff -u -r a/kernel/conftest.sh b/kernel/conftest.sh
|
||||
--- a/kernel/conftest.sh 2018-11-01 11:00:14.429126159 +0000
|
||||
+++ b/kernel/conftest.sh 2018-11-01 11:03:08.199579458 +0000
|
||||
@@ -2372,8 +2372,13 @@
|
||||
#
|
||||
CODE="
|
||||
#include <drm/drmP.h>
|
||||
+ #include <linux/version.h>
|
||||
void conftest_drm_mode_connector_list_update_has_merge_type_bits_arg(void) {
|
||||
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
|
||||
drm_mode_connector_list_update(
|
||||
+ #else
|
||||
+ drm_connector_list_update(
|
||||
+ #endif
|
||||
NULL, /* struct drm_connector *connector */
|
||||
true); /* bool merge_type_bits */
|
||||
}"
|
||||
diff -u -r a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-connector.c 2018-08-22 00:55:29.000000000 +0000
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-connector.c 2018-11-01 11:08:14.643715031 +0000
|
||||
@@ -34,6 +34,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)
|
||||
{
|
||||
@@ -226,7 +227,11 @@
|
||||
|
||||
|
||||
if (nv_connector->edid != NULL) {
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
|
||||
drm_mode_connector_update_edid_property(
|
||||
+#else
|
||||
+ drm_connector_update_edid_property(
|
||||
+#endif
|
||||
connector, nv_connector->edid);
|
||||
}
|
||||
|
||||
diff -u -r a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-08-22 00:55:29.000000000 +0000
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-11-01 11:08:32.210427737 +0000
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
#include <drm/drm_atomic.h>
|
||||
#include <drm/drm_atomic_helper.h>
|
||||
+#include <linux/version.h>
|
||||
|
||||
static void nv_drm_encoder_destroy(struct drm_encoder *encoder)
|
||||
{
|
||||
@@ -216,7 +217,11 @@
|
||||
|
||||
/* Attach encoder and connector */
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
|
||||
ret = drm_mode_connector_attach_encoder(connector, encoder);
|
||||
+#else
|
||||
+ ret = drm_connector_attach_encoder(connector, encoder);
|
||||
+#endif
|
||||
|
||||
if (ret != 0) {
|
||||
NV_DRM_DEV_LOG_ERR(
|
Loading…
Reference in New Issue
Block a user