diff -Nru nvidia-graphics-drivers-470-server-470.161.03/debian/changelog nvidia-graphics-drivers-470-server-470.161.03/debian/changelog --- nvidia-graphics-drivers-470-server-470.161.03/debian/changelog 2022-11-23 16:03:44.000000000 +0000 +++ nvidia-graphics-drivers-470-server-470.161.03/debian/changelog 2023-03-04 10:00:38.000000000 +0000 @@ -1,3 +1,12 @@ +nvidia-graphics-drivers-470-server (470.161.03-0ubuntu2) lunar; urgency=medium + + * debian/dkms_nvidia/patches/buildfix_kernel_6.2.patch, + debian/templates/dkms_nvidia.conf.in, + debian/dkms_nvidia.conf: + - Add support for Linux 6.2 (LP: #2009254). + + -- Andrea Righi Sat, 04 Mar 2023 10:00:38 +0000 + nvidia-graphics-drivers-470-server (470.161.03-0ubuntu1) lunar; urgency=medium * New upstream release (LP: #1997087). diff -Nru nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia/patches/buildfix_kernel_6.2.patch nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia/patches/buildfix_kernel_6.2.patch --- nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia/patches/buildfix_kernel_6.2.patch 1970-01-01 00:00:00.000000000 +0000 +++ nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia/patches/buildfix_kernel_6.2.patch 2023-03-04 10:00:03.000000000 +0000 @@ -0,0 +1,126 @@ +--- a/nvidia/nv-acpi.c 2022-10-19 00:34:11.000000000 +0000 ++++ b/nvidia/nv-acpi.c 2023-03-03 11:13:27.270598890 +0000 +@@ -16,6 +16,9 @@ + + #include + ++#include ++#include ++ + #if defined(NV_LINUX_ACPI_EVENTS_SUPPORTED) + static NV_STATUS nv_acpi_extract_integer (const union acpi_object *, void *, NvU32, NvU32 *); + static NV_STATUS nv_acpi_extract_buffer (const union acpi_object *, void *, NvU32, NvU32 *); +@@ -24,7 +27,9 @@ static NV_STATUS nv_acpi_extract_objec + + 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) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0) ++static void nv_acpi_remove_one_arg(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 +85,9 @@ static const struct acpi_driver nv_acpi_ + .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) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0) ++ .remove = nv_acpi_remove_one_arg, ++#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,9 @@ static int nv_acpi_add(struct acpi_devic + return 0; + } + +-#if !defined(NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT) || (NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT == 2) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0) ++static void nv_acpi_remove_one_arg(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) +@@ -395,8 +404,9 @@ static int nv_acpi_remove_one_arg(struct + module_put(THIS_MODULE); + device->driver_data = NULL; + } +- ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) + return status; ++#endif + } + + /* +--- a/nvidia-drm/nvidia-drm-connector.c 2022-10-19 00:03:53.000000000 +0000 ++++ b/nvidia-drm/nvidia-drm-connector.c 2023-03-04 07:59:06.712298148 +0000 +@@ -30,6 +30,9 @@ + #include "nvidia-drm-utils.h" + #include "nvidia-drm-encoder.h" + ++#include ++#include ++ + /* + * Commit fcd70cd36b9b ("drm: Split out drm_probe_helper.h") + * moves a number of helper function definitions from +@@ -58,6 +61,24 @@ static void nv_drm_connector_destroy(str + nv_drm_free(nv_connector); + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) ++static bool check_edid_override(struct drm_connector *connector) ++{ ++ return connector->override_edid != NULL; ++} ++#else ++static bool check_edid_override(struct drm_connector *connector) ++{ ++ int ret; ++ ++ mutex_lock(&connector->edid_override_mutex); ++ ret = connector->edid_override != NULL; ++ mutex_lock(&connector->edid_override_mutex); ++ ++ return ret; ++} ++#endif ++ + static bool + __nv_drm_detect_encoder(struct NvKmsKapiDynamicDisplayParams *pDetectParams, + struct drm_connector *connector, +@@ -98,7 +119,7 @@ __nv_drm_detect_encoder(struct NvKmsKapi + break; + } + +- if (connector->override_edid) { ++ if (check_edid_override(connector)) { + const struct drm_property_blob *edid = connector->edid_blob_ptr; + + if (edid->length <= sizeof(pDetectParams->edid.buffer)) { +--- a/nvidia-drm/nvidia-drm-drv.c 2022-10-19 00:03:52.000000000 +0000 ++++ b/nvidia-drm/nvidia-drm-drv.c 2023-03-04 07:57:35.425059914 +0000 +@@ -62,6 +62,9 @@ + + #include + ++#include ++#include ++ + /* + * Commit fcd70cd36b9b ("drm: Split out drm_probe_helper.h") + * moves a number of helper function definitions from +@@ -240,9 +243,10 @@ nv_drm_init_mode_config(struct nv_drm_de + dev->mode_config.preferred_depth = 24; + dev->mode_config.prefer_shadow = 1; + ++#if 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 -Nru nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia.conf nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia.conf --- nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia.conf 2022-11-23 16:03:44.000000000 +0000 +++ nvidia-graphics-drivers-470-server-470.161.03/debian/dkms_nvidia.conf 2023-03-04 10:00:38.000000000 +0000 @@ -13,6 +13,7 @@ DEST_MODULE_LOCATION[2]="/kernel/drivers/char/drm" AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" +PATCH[1]="buildfix_kernel_6.2.patch" # Apply from v4 to v5.12 kernels # v5.13 kernels already disable both by default # v5.19 kernels may need cf-protection=branch diff -Nru nvidia-graphics-drivers-470-server-470.161.03/debian/templates/dkms_nvidia.conf.in nvidia-graphics-drivers-470-server-470.161.03/debian/templates/dkms_nvidia.conf.in --- nvidia-graphics-drivers-470-server-470.161.03/debian/templates/dkms_nvidia.conf.in 2022-11-23 15:56:40.000000000 +0000 +++ nvidia-graphics-drivers-470-server-470.161.03/debian/templates/dkms_nvidia.conf.in 2023-03-04 10:00:36.000000000 +0000 @@ -13,6 +13,7 @@ DEST_MODULE_LOCATION[2]="/kernel/drivers/char/drm" AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" +PATCH[1]="buildfix_kernel_6.2.patch" # Apply from v4 to v5.12 kernels # v5.13 kernels already disable both by default # v5.19 kernels may need cf-protection=branch