From c35cfd83b9cc50bdf17e8659f9107fe70a3c9a75 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 29 Mar 2023 11:36:43 +0100 Subject: sys-kernel/nvidia-drivers-dkms:{390,470} : kernel 6.2 compat --- .../sys-kernel/nvidia-drivers-dkms-390.157-r1 | 13 -- .../sys-kernel/nvidia-drivers-dkms-390.157-r2 | 13 ++ .../sys-kernel/nvidia-drivers-dkms-470.161.03-r1 | 13 -- .../sys-kernel/nvidia-drivers-dkms-470.161.03-r2 | 13 ++ metadata/pkg_desc_index | 2 +- .../nvidia-drivers-dkms/files/390-kernel62.patch | 145 +++++++++++++++++++++ .../nvidia-drivers-dkms/files/470-kernel62.patch | 145 +++++++++++++++++++++ .../nvidia-drivers-dkms-390.157-r1.ebuild | 49 ------- .../nvidia-drivers-dkms-390.157-r2.ebuild | 50 +++++++ .../nvidia-drivers-dkms-470.161.03-r1.ebuild | 49 ------- .../nvidia-drivers-dkms-470.161.03-r2.ebuild | 50 +++++++ 11 files changed, 417 insertions(+), 125 deletions(-) delete mode 100644 metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r1 create mode 100644 metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r2 delete mode 100644 metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r1 create mode 100644 metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r2 create mode 100644 sys-kernel/nvidia-drivers-dkms/files/390-kernel62.patch create mode 100644 sys-kernel/nvidia-drivers-dkms/files/470-kernel62.patch delete mode 100644 sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r1.ebuild create mode 100644 sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r2.ebuild delete mode 100644 sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r1.ebuild create mode 100644 sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r2.ebuild diff --git a/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r1 b/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r1 deleted file mode 100644 index 6da1ac67..00000000 --- a/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=install postinst prerm unpack -DEPEND=sys-kernel/dkms -DESCRIPTION=NVIDIA driver sources for linux -EAPI=6 -HOMEPAGE=http://www.nvidia.com/ -INHERIT=eutils -KEYWORDS=amd64 -LICENSE=GPL-2 NVIDIA-r2 -RDEPEND=sys-kernel/dkms !!sys-kernel/nvidia-drivers-dkms:470 !!sys-kernel/nvidia-drivers-dkms:515 !!sys-kernel/nvidia-drivers-dkms:525 -SLOT=390 -SRC_URI=amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/390.157/NVIDIA-Linux-x86_64-390.157.run ) -_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 447396341f5f896d722e435a06f87a4f eqawarn c9847c43b3253a276ae2eabddedab3d7 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 8f942ebdcf04334697649d4a0bf65a32 ltprune 97143780d341cc8d8f1d4c6187a36d29 multilib 5ca4e49abed8e3a2f7b56920eadee157 preserve-libs a8e50acee31b5759b4df1f7707cae54b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 6001248ef162a5fa2a21ce132a212f6b vcs-clean d271b7bc7e6a009758d7d4ef749174e3 wrapper 4a1902f969e5718126434fc35f3a0d9c -_md5_=c6f63d7a1988583bd2d9e188c1faeaba diff --git a/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r2 b/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r2 new file mode 100644 index 00000000..bd03d8c4 --- /dev/null +++ b/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-390.157-r2 @@ -0,0 +1,13 @@ +DEFINED_PHASES=install postinst prerm unpack +DEPEND=sys-kernel/dkms +DESCRIPTION=NVIDIA driver sources for linux +EAPI=6 +HOMEPAGE=http://www.nvidia.com/ +INHERIT=eutils +KEYWORDS=amd64 +LICENSE=GPL-2 NVIDIA-r2 +RDEPEND=sys-kernel/dkms !!sys-kernel/nvidia-drivers-dkms:470 !!sys-kernel/nvidia-drivers-dkms:515 !!sys-kernel/nvidia-drivers-dkms:525 +SLOT=390 +SRC_URI=amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/390.157/NVIDIA-Linux-x86_64-390.157.run ) +_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 447396341f5f896d722e435a06f87a4f eqawarn c9847c43b3253a276ae2eabddedab3d7 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 8f942ebdcf04334697649d4a0bf65a32 ltprune 97143780d341cc8d8f1d4c6187a36d29 multilib 5ca4e49abed8e3a2f7b56920eadee157 preserve-libs a8e50acee31b5759b4df1f7707cae54b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 6001248ef162a5fa2a21ce132a212f6b vcs-clean d271b7bc7e6a009758d7d4ef749174e3 wrapper 4a1902f969e5718126434fc35f3a0d9c +_md5_=79993b6430f2751552b4f59ba9c2639f diff --git a/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r1 b/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r1 deleted file mode 100644 index 5b1e940b..00000000 --- a/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=install postinst prerm unpack -DEPEND=sys-kernel/dkms -DESCRIPTION=NVIDIA driver sources for linux -EAPI=6 -HOMEPAGE=http://www.nvidia.com/ -INHERIT=eutils -KEYWORDS=amd64 -LICENSE=GPL-2 NVIDIA-r2 -RDEPEND=sys-kernel/dkms !!sys-kernel/nvidia-drivers-dkms:390 !!sys-kernel/nvidia-drivers-dkms:515 !!sys-kernel/nvidia-drivers-dkms:525 -SLOT=470 -SRC_URI=amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/470.161.03/NVIDIA-Linux-x86_64-470.161.03.run ) -_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 447396341f5f896d722e435a06f87a4f eqawarn c9847c43b3253a276ae2eabddedab3d7 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 8f942ebdcf04334697649d4a0bf65a32 ltprune 97143780d341cc8d8f1d4c6187a36d29 multilib 5ca4e49abed8e3a2f7b56920eadee157 preserve-libs a8e50acee31b5759b4df1f7707cae54b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 6001248ef162a5fa2a21ce132a212f6b vcs-clean d271b7bc7e6a009758d7d4ef749174e3 wrapper 4a1902f969e5718126434fc35f3a0d9c -_md5_=9c406e6fd5dff894e906fffcdf2ec87e diff --git a/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r2 b/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r2 new file mode 100644 index 00000000..10faa92b --- /dev/null +++ b/metadata/md5-cache/sys-kernel/nvidia-drivers-dkms-470.161.03-r2 @@ -0,0 +1,13 @@ +DEFINED_PHASES=install postinst prerm unpack +DEPEND=sys-kernel/dkms +DESCRIPTION=NVIDIA driver sources for linux +EAPI=6 +HOMEPAGE=http://www.nvidia.com/ +INHERIT=eutils +KEYWORDS=amd64 +LICENSE=GPL-2 NVIDIA-r2 +RDEPEND=sys-kernel/dkms !!sys-kernel/nvidia-drivers-dkms:390 !!sys-kernel/nvidia-drivers-dkms:515 !!sys-kernel/nvidia-drivers-dkms:525 +SLOT=470 +SRC_URI=amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/470.161.03/NVIDIA-Linux-x86_64-470.161.03.run ) +_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 447396341f5f896d722e435a06f87a4f eqawarn c9847c43b3253a276ae2eabddedab3d7 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 8f942ebdcf04334697649d4a0bf65a32 ltprune 97143780d341cc8d8f1d4c6187a36d29 multilib 5ca4e49abed8e3a2f7b56920eadee157 preserve-libs a8e50acee31b5759b4df1f7707cae54b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 6001248ef162a5fa2a21ce132a212f6b vcs-clean d271b7bc7e6a009758d7d4ef749174e3 wrapper 4a1902f969e5718126434fc35f3a0d9c +_md5_=c66d09b0fe23805a2f7c32d3d0c09bf1 diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index index a3c99bef..4a5ad2ab 100644 --- a/metadata/pkg_desc_index +++ b/metadata/pkg_desc_index @@ -66,7 +66,7 @@ sys-kernel/linux-image-redcore 6.2.8: Redcore Linux Kernel Image sys-kernel/linux-image-redcore-lts 5.10.176 5.15.104 6.1.21: Redcore Linux LTS Kernel Image sys-kernel/linux-sources-redcore 6.2.8: Redcore Linux Kernel Sources sys-kernel/linux-sources-redcore-lts 5.10.176 5.15.104 6.1.21: Redcore Linux LTS Kernel Sources -sys-kernel/nvidia-drivers-dkms 390.157-r1 470.161.03-r1 515.86.01-r1 525.85.05: NVIDIA driver sources for linux +sys-kernel/nvidia-drivers-dkms 390.157-r2 470.161.03-r2 515.86.01-r1 525.85.05: NVIDIA driver sources for linux sys-kernel/vhba-dkms 20211218: Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite sources sys-kernel/virtualbox-modules-dkms 7.0.6: Kernel Modules source for Virtualbox sys-kernel/zfs-dkms 2.1.9-r1: ZFS sources for linux diff --git a/sys-kernel/nvidia-drivers-dkms/files/390-kernel62.patch b/sys-kernel/nvidia-drivers-dkms/files/390-kernel62.patch new file mode 100644 index 00000000..bb85492e --- /dev/null +++ b/sys-kernel/nvidia-drivers-dkms/files/390-kernel62.patch @@ -0,0 +1,145 @@ +From 5db7eb5a62003bbe04f3f07d089fcf5445b34a29 Mon Sep 17 00:00:00 2001 +From: Joan Bruguera +Date: Sun, 25 Dec 2022 22:05:14 +0000 +Subject: [PATCH] Tentative fix for NVIDIA 470.161.03 driver for Linux 6.2-rc1 + +--- + kernel/nvidia-drm/nvidia-drm-connector.c | 22 ++++++++++++++++++++++ + kernel/nvidia-drm/nvidia-drm-drv.c | 4 ++++ + kernel/nvidia/nv-acpi.c | 19 ++++++++++++++++--- + 3 files changed, 42 insertions(+), 3 deletions(-) + +diff --git a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c +index 6fbcd63..a5ab9e9 100644 +--- a/kernel/nvidia-drm/nvidia-drm-connector.c ++++ b/kernel/nvidia-drm/nvidia-drm-connector.c +@@ -20,6 +20,8 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include ++#include + #include "nvidia-drm-conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) +@@ -98,6 +100,7 @@ __nv_drm_detect_encoder(struct NvKmsKapiDynamicDisplayParams *pDetectParams, + break; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) + if (connector->override_edid) { + const struct drm_property_blob *edid = connector->edid_blob_ptr; + +@@ -110,6 +113,25 @@ __nv_drm_detect_encoder(struct NvKmsKapiDynamicDisplayParams *pDetectParams, + sizeof(pDetectParams->edid.buffer)); + } + } ++#else ++ // Rel. commit "drm/edid: detach debugfs EDID override from EDID property update" (Jani Nikula, 24 Oct 2022) ++ // NOTE: HUGE HACK! ++ mutex_lock(&connector->edid_override_mutex); ++ if (connector->edid_override) { ++ const struct edid *edid = drm_edid_raw(connector->edid_override); ++ size_t edid_length = EDID_LENGTH * (edid->extensions + 1); ++ if (edid_length <= sizeof(pDetectParams->edid.buffer)) { ++ memcpy(pDetectParams->edid.buffer, edid, edid_length); ++ pDetectParams->edid.bufferSize = edid_length; ++ pDetectParams->overrideEdid = NV_TRUE; ++ } else { ++ WARN_ON(edid_length > ++ sizeof(pDetectParams->edid.buffer)); ++ } ++ } ++ mutex_unlock(&connector->edid_override_mutex); ++ ++#endif + + if (!nvKms->getDynamicDisplayInfo(nv_dev->pDevice, pDetectParams)) { + NV_DRM_DEV_LOG_ERR( +diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c +index 6d007b1..d08ab4c 100644 +--- a/kernel/nvidia-drm/nvidia-drm-drv.c ++++ b/kernel/nvidia-drm/nvidia-drm-drv.c +@@ -20,6 +20,7 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include + #include "nvidia-drm-conftest.h" /* NV_DRM_AVAILABLE and NV_DRM_DRM_GEM_H_PRESENT */ + + #include "nvidia-drm-priv.h" +@@ -240,9 +241,12 @@ nv_drm_init_mode_config(struct nv_drm_device *nv_dev, + dev->mode_config.preferred_depth = 24; + dev->mode_config.prefer_shadow = 1; + ++// Rel. commit "drm: Remove drm_mode_config::fb_base" (Zack Rusin, 18 Oct 2022) ++#if defined(CONFIG_FB) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) + /* Currently unused. Update when needed. */ + + dev->mode_config.fb_base = 0; ++#endif + + #if defined(NV_DRM_CRTC_STATE_HAS_ASYNC_FLIP) || \ + defined(NV_DRM_CRTC_STATE_HAS_PAGEFLIP_FLAGS) +diff --git a/kernel/nvidia/nv-acpi.c b/kernel/nvidia/nv-acpi.c +index 07501eb..1fdf71c 100644 +--- a/kernel/nvidia/nv-acpi.c ++++ b/kernel/nvidia/nv-acpi.c +@@ -8,6 +8,7 @@ + * _NVRM_COPYRIGHT_END_ + */ + ++#include + #define __NO_VERSION__ + + #include "os-interface.h" +@@ -24,7 +25,10 @@ static NV_STATUS nv_acpi_extract_object (const union acpi_object *, void *, N + + static int nv_acpi_add (struct acpi_device *); + +-#if !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)) ++static void nv_acpi_remove_one_arg_void(struct acpi_device *device); ++#elif !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) + static int nv_acpi_remove_two_args(struct acpi_device *device, int type); + #else + static int nv_acpi_remove_one_arg(struct acpi_device *device); +@@ -80,7 +84,10 @@ static const struct acpi_driver nv_acpi_driver_template = { + .ids = nv_video_device_ids, + .ops = { + .add = nv_acpi_add, +-#if !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)) ++ .remove = nv_acpi_remove_one_arg_void, ++#elif !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) + .remove = nv_acpi_remove_two_args, + #else + .remove = nv_acpi_remove_one_arg, +@@ -342,7 +349,10 @@ static int nv_acpi_add(struct acpi_device *device) + return 0; + } + +-#if !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)) ++static void nv_acpi_remove_one_arg_void(struct acpi_device *device) ++#elif !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) + static int nv_acpi_remove_two_args(struct acpi_device *device, int type) + #else + static int nv_acpi_remove_one_arg(struct acpi_device *device) +@@ -396,7 +406,10 @@ static int nv_acpi_remove_one_arg(struct acpi_device *device) + device->driver_data = NULL; + } + ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0)) + return status; ++#endif + } + + /* +-- +2.39.0 + diff --git a/sys-kernel/nvidia-drivers-dkms/files/470-kernel62.patch b/sys-kernel/nvidia-drivers-dkms/files/470-kernel62.patch new file mode 100644 index 00000000..bb85492e --- /dev/null +++ b/sys-kernel/nvidia-drivers-dkms/files/470-kernel62.patch @@ -0,0 +1,145 @@ +From 5db7eb5a62003bbe04f3f07d089fcf5445b34a29 Mon Sep 17 00:00:00 2001 +From: Joan Bruguera +Date: Sun, 25 Dec 2022 22:05:14 +0000 +Subject: [PATCH] Tentative fix for NVIDIA 470.161.03 driver for Linux 6.2-rc1 + +--- + kernel/nvidia-drm/nvidia-drm-connector.c | 22 ++++++++++++++++++++++ + kernel/nvidia-drm/nvidia-drm-drv.c | 4 ++++ + kernel/nvidia/nv-acpi.c | 19 ++++++++++++++++--- + 3 files changed, 42 insertions(+), 3 deletions(-) + +diff --git a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c +index 6fbcd63..a5ab9e9 100644 +--- a/kernel/nvidia-drm/nvidia-drm-connector.c ++++ b/kernel/nvidia-drm/nvidia-drm-connector.c +@@ -20,6 +20,8 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include ++#include + #include "nvidia-drm-conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) +@@ -98,6 +100,7 @@ __nv_drm_detect_encoder(struct NvKmsKapiDynamicDisplayParams *pDetectParams, + break; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) + if (connector->override_edid) { + const struct drm_property_blob *edid = connector->edid_blob_ptr; + +@@ -110,6 +113,25 @@ __nv_drm_detect_encoder(struct NvKmsKapiDynamicDisplayParams *pDetectParams, + sizeof(pDetectParams->edid.buffer)); + } + } ++#else ++ // Rel. commit "drm/edid: detach debugfs EDID override from EDID property update" (Jani Nikula, 24 Oct 2022) ++ // NOTE: HUGE HACK! ++ mutex_lock(&connector->edid_override_mutex); ++ if (connector->edid_override) { ++ const struct edid *edid = drm_edid_raw(connector->edid_override); ++ size_t edid_length = EDID_LENGTH * (edid->extensions + 1); ++ if (edid_length <= sizeof(pDetectParams->edid.buffer)) { ++ memcpy(pDetectParams->edid.buffer, edid, edid_length); ++ pDetectParams->edid.bufferSize = edid_length; ++ pDetectParams->overrideEdid = NV_TRUE; ++ } else { ++ WARN_ON(edid_length > ++ sizeof(pDetectParams->edid.buffer)); ++ } ++ } ++ mutex_unlock(&connector->edid_override_mutex); ++ ++#endif + + if (!nvKms->getDynamicDisplayInfo(nv_dev->pDevice, pDetectParams)) { + NV_DRM_DEV_LOG_ERR( +diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c +index 6d007b1..d08ab4c 100644 +--- a/kernel/nvidia-drm/nvidia-drm-drv.c ++++ b/kernel/nvidia-drm/nvidia-drm-drv.c +@@ -20,6 +20,7 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include + #include "nvidia-drm-conftest.h" /* NV_DRM_AVAILABLE and NV_DRM_DRM_GEM_H_PRESENT */ + + #include "nvidia-drm-priv.h" +@@ -240,9 +241,12 @@ nv_drm_init_mode_config(struct nv_drm_device *nv_dev, + dev->mode_config.preferred_depth = 24; + dev->mode_config.prefer_shadow = 1; + ++// Rel. commit "drm: Remove drm_mode_config::fb_base" (Zack Rusin, 18 Oct 2022) ++#if defined(CONFIG_FB) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) + /* Currently unused. Update when needed. */ + + dev->mode_config.fb_base = 0; ++#endif + + #if defined(NV_DRM_CRTC_STATE_HAS_ASYNC_FLIP) || \ + defined(NV_DRM_CRTC_STATE_HAS_PAGEFLIP_FLAGS) +diff --git a/kernel/nvidia/nv-acpi.c b/kernel/nvidia/nv-acpi.c +index 07501eb..1fdf71c 100644 +--- a/kernel/nvidia/nv-acpi.c ++++ b/kernel/nvidia/nv-acpi.c +@@ -8,6 +8,7 @@ + * _NVRM_COPYRIGHT_END_ + */ + ++#include + #define __NO_VERSION__ + + #include "os-interface.h" +@@ -24,7 +25,10 @@ static NV_STATUS nv_acpi_extract_object (const union acpi_object *, void *, N + + static int nv_acpi_add (struct acpi_device *); + +-#if !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)) ++static void nv_acpi_remove_one_arg_void(struct acpi_device *device); ++#elif !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) + static int nv_acpi_remove_two_args(struct acpi_device *device, int type); + #else + static int nv_acpi_remove_one_arg(struct acpi_device *device); +@@ -80,7 +84,10 @@ static const struct acpi_driver nv_acpi_driver_template = { + .ids = nv_video_device_ids, + .ops = { + .add = nv_acpi_add, +-#if !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)) ++ .remove = nv_acpi_remove_one_arg_void, ++#elif !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) + .remove = nv_acpi_remove_two_args, + #else + .remove = nv_acpi_remove_one_arg, +@@ -342,7 +349,10 @@ static int nv_acpi_add(struct acpi_device *device) + return 0; + } + +-#if !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)) ++static void nv_acpi_remove_one_arg_void(struct acpi_device *device) ++#elif !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) + static int nv_acpi_remove_two_args(struct acpi_device *device, int type) + #else + static int nv_acpi_remove_one_arg(struct acpi_device *device) +@@ -396,7 +406,10 @@ static int nv_acpi_remove_one_arg(struct acpi_device *device) + device->driver_data = NULL; + } + ++// Rel. commit "ACPI: make remove callback of ACPI driver void" (Dawei Li, 14 Nov 2022) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0)) + return status; ++#endif + } + + /* +-- +2.39.0 + diff --git a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r1.ebuild b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r1.ebuild deleted file mode 100644 index 56f68d54..00000000 --- a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -inherit eutils - -NV_URI="http://us.download.nvidia.com/XFree86/" -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" - -DESCRIPTION="NVIDIA driver sources for linux" -HOMEPAGE="http://www.nvidia.com/" -SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" - -LICENSE="GPL-2 NVIDIA-r2" -SLOT="390" -KEYWORDS="amd64" -IUSE="" - -DEPEND="sys-kernel/dkms" -RDEPEND="${DEPEND} - !!sys-kernel/nvidia-drivers-dkms:470 - !!sys-kernel/nvidia-drivers-dkms:515 - !!sys-kernel/nvidia-drivers-dkms:525" - -PATCHES=( - "${FILESDIR}"/dkms390.patch -) - -S="${WORKDIR}/${AMD64_NV_PACKAGE}" - -src_unpack() { - sh ${DISTDIR}/${AMD64_NV_PACKAGE}.run --extract-only -} - -src_install() { - dodir usr/src/${P} - insinto usr/src/${P} - doins -r "${S}"/kernel/* -} - -pkg_postinst() { - dkms add ${PN}/${PV} -} - -pkg_prerm() { - dkms remove ${PN}/${PV} --all -} diff --git a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r2.ebuild b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r2.ebuild new file mode 100644 index 00000000..8358474a --- /dev/null +++ b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.157-r2.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils + +NV_URI="http://us.download.nvidia.com/XFree86/" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" + +DESCRIPTION="NVIDIA driver sources for linux" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" + +LICENSE="GPL-2 NVIDIA-r2" +SLOT="390" +KEYWORDS="amd64" +IUSE="" + +DEPEND="sys-kernel/dkms" +RDEPEND="${DEPEND} + !!sys-kernel/nvidia-drivers-dkms:470 + !!sys-kernel/nvidia-drivers-dkms:515 + !!sys-kernel/nvidia-drivers-dkms:525" + +PATCHES=( + "${FILESDIR}"/dkms390.patch + "${FILESDIR}"/390-kernel62.patch +) + +S="${WORKDIR}/${AMD64_NV_PACKAGE}" + +src_unpack() { + sh ${DISTDIR}/${AMD64_NV_PACKAGE}.run --extract-only +} + +src_install() { + dodir usr/src/${P} + insinto usr/src/${P} + doins -r "${S}"/kernel/* +} + +pkg_postinst() { + dkms add ${PN}/${PV} +} + +pkg_prerm() { + dkms remove ${PN}/${PV} --all +} diff --git a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r1.ebuild b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r1.ebuild deleted file mode 100644 index c44811c5..00000000 --- a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -inherit eutils - -NV_URI="http://us.download.nvidia.com/XFree86/" -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" - -DESCRIPTION="NVIDIA driver sources for linux" -HOMEPAGE="http://www.nvidia.com/" -SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" - -LICENSE="GPL-2 NVIDIA-r2" -SLOT="470" -KEYWORDS="amd64" -IUSE="" - -DEPEND="sys-kernel/dkms" -RDEPEND="${DEPEND} - !!sys-kernel/nvidia-drivers-dkms:390 - !!sys-kernel/nvidia-drivers-dkms:515 - !!sys-kernel/nvidia-drivers-dkms:525" - -PATCHES=( - "${FILESDIR}"/dkms470.patch -) - -S="${WORKDIR}/${AMD64_NV_PACKAGE}" - -src_unpack() { - sh ${DISTDIR}/${AMD64_NV_PACKAGE}.run --extract-only -} - -src_install() { - dodir usr/src/${P} - insinto usr/src/${P} - doins -r "${S}"/kernel/* -} - -pkg_postinst() { - dkms add ${PN}/${PV} -} - -pkg_prerm() { - dkms remove ${PN}/${PV} --all -} diff --git a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r2.ebuild b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r2.ebuild new file mode 100644 index 00000000..010b3ad6 --- /dev/null +++ b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-470.161.03-r2.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils + +NV_URI="http://us.download.nvidia.com/XFree86/" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" + +DESCRIPTION="NVIDIA driver sources for linux" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" + +LICENSE="GPL-2 NVIDIA-r2" +SLOT="470" +KEYWORDS="amd64" +IUSE="" + +DEPEND="sys-kernel/dkms" +RDEPEND="${DEPEND} + !!sys-kernel/nvidia-drivers-dkms:390 + !!sys-kernel/nvidia-drivers-dkms:515 + !!sys-kernel/nvidia-drivers-dkms:525" + +PATCHES=( + "${FILESDIR}"/dkms470.patch + "${FILESDIR}"/470-kernel62.patch +) + +S="${WORKDIR}/${AMD64_NV_PACKAGE}" + +src_unpack() { + sh ${DISTDIR}/${AMD64_NV_PACKAGE}.run --extract-only +} + +src_install() { + dodir usr/src/${P} + insinto usr/src/${P} + doins -r "${S}"/kernel/* +} + +pkg_postinst() { + dkms add ${PN}/${PV} +} + +pkg_prerm() { + dkms remove ${PN}/${PV} --all +} -- cgit v1.2.3