diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 00000000..53d85688
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1 @@
+/patches/*~
diff --git a/debian/bug-control.mk b/debian/bug-control.mk
index 947a21e1..eb3d0cd7 100644
--- a/debian/bug-control.mk
+++ b/debian/bug-control.mk
@@ -49,11 +49,15 @@ define PACKAGE_STATUS
 	libcuda1-any
 	libcuda.so.1
 	libnvidia-ml.so.1
-	nvidia-settings
+	nvidia-cuda-mps
+	nvidia-powerd
+	nvidia-suspend-common
+	nvidia-modprobe
+	nvidia-settings$(-variant)
 	nvidia-xconfig
+	nvidia-persistenced
 	nvidia-support
 	nvidia-kernel-common
-	nvidia-modprobe
 	xserver-xorg
 	xserver-xorg-core
 	xserver-xorg-legacy
diff --git a/debian/changelog b/debian/changelog
index b7ea70a8..0af18e7e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,100 @@
+nvidia-open-gpu-kernel-modules (535.161.08-1) UNRELEASED; urgency=medium
+
+  * New upstream Tesla branch release 535.161.08 (2024-03-18).
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 27 Mar 2024 08:14:50 +0100
+
+nvidia-open-gpu-kernel-modules (535.161.07-1) experimental; urgency=medium
+
+  * New upstream LTS and Tesla branch release 535.161.07 (2024-02-22).
+    * Fixed CVE-2024-0074, CVE-2024-0075, CVE-2024-0078.  (Closes: #1064991)
+      https://nvidia.custhelp.com/app/answers/detail/a_id/5520
+  * Sync with src:nvidia-graphics-drivers.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 27 Mar 2024 13:08:50 +0100
+
+nvidia-open-gpu-kernel-modules (535.154.05-1) unstable; urgency=medium
+
+  * New upstream LTS and Tesla branch release 535.154.05 (2024-01-16).
+  * New upstream long term support branch release 535.146.02 (2023-12-07).
+  * Sync with src:nvidia-graphics-drivers.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 27 Mar 2024 07:58:43 +0100
+
+nvidia-open-gpu-kernel-modules (535.129.03-1) unstable; urgency=medium
+
+  * New upstream LTS and Tesla branch release 535.129.03 (2023-10-31).
+    * Fixed CVE-2023-31022.  (Closes: #1055144)
+      https://nvidia.custhelp.com/app/answers/detail/a_id/5491
+  * Refresh patches.
+  * Sync with src:nvidia-graphics-drivers.
+  * Upload to experimental.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 27 Mar 2024 11:14:40 +0100
+
+nvidia-open-gpu-kernel-modules (535.113.01-1) unstable; urgency=medium
+
+  * New upstream long term support branch release 535.113.01 (2023-09-21).
+  * New upstream Tesla branch release 535.104.12 (2023-09-25).
+  * New upstream LTS and Tesla branch release 535.104.05 (2023-08-22).
+  * New upstream long term support branch release 535.98 (2023-08-08).
+  * New upstream Tesla branch release 535.86.10 (2023-07-31).
+  * New upstream long term support branch release 535.86.05 (2023-07-18).
+  * Sync with src:nvidia-graphics-drivers.
+  * Refresh patches.
+
+ -- Andreas Beckmann <anbe@debian.org>  Mon, 25 Mar 2024 20:55:03 +0100
+
+nvidia-open-gpu-kernel-modules (535.54.03-1) UNRELEASED; urgency=medium
+
+  * New upstream LTS and Tesla branch release 535.54.03 (2023-06-14).
+    * Fixed CVE-2023-25515, CVE-2023-25516.  (Closes: #1039686)
+      https://nvidia.custhelp.com/app/answers/detail/a_id/5468
+  * Sync with src:nvidia-graphics-drivers.
+
+ -- Andreas Beckmann <anbe@debian.org>  Fri, 22 Mar 2024 10:37:58 +0100
+
+nvidia-open-gpu-kernel-modules (535.43.02-1) UNRELEASED; urgency=medium
+
+  * New upstream beta 535.43.02 (2023-05-30).
+  * Refresh patches.
+  * Sync with src:nvidia-graphics-drivers.
+
+ -- Andreas Beckmann <anbe@debian.org>  Thu, 21 Mar 2024 14:03:08 +0100
+
+nvidia-open-gpu-kernel-modules (530.41.03-1) unstable; urgency=medium
+
+  * New upstream new feature branch release 530.41.03 (2023-03-23).
+    * Fixed CVE-2023-0184, CVE-2023-0189, CVE-2023-0180, CVE-2023-0183,
+      CVE-2023-0185, CVE-2023-0187, CVE-2023-0198, CVE-2023-0199,
+      CVE-2023-0188, CVE-2023-0190, CVE-2023-0194, CVE-2023-0195,
+      CVE-2023-0191.  (Closes: #1033783)
+      https://nvidia.custhelp.com/app/answers/detail/a_id/5452
+  * Sync with src:nvidia-graphics-drivers.
+  * Fix package build reproducibility.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 20 Mar 2024 12:01:32 +0100
+
+nvidia-open-gpu-kernel-modules (530.30.02-1) UNRELEASED; urgency=medium
+
+  * New upstream beta 530.30.02 (2023-02-28).
+  * Refresh patches.
+  * Sync with src:nvidia-graphics-drivers.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 20 Mar 2024 09:50:41 +0100
+
+nvidia-open-gpu-kernel-modules (525.147.05-3) unstable; urgency=medium
+
+  * Sync with src:nvidia-graphics-drivers.
+
+ -- Andreas Beckmann <anbe@debian.org>  Fri, 08 Mar 2024 11:29:08 +0100
+
+nvidia-open-gpu-kernel-modules (525.147.05-2) unstable; urgency=medium
+
+  * Sync with src:nvidia-graphics-drivers.
+
+ -- Andreas Beckmann <anbe@debian.org>  Mon, 29 Jan 2024 01:36:28 +0100
+
 nvidia-open-gpu-kernel-modules (525.147.05-1~deb12u1) bookworm; urgency=medium
 
   * Rebuild for bookworm.
@@ -6,7 +103,7 @@ nvidia-open-gpu-kernel-modules (525.147.05-1~deb12u1) bookworm; urgency=medium
 
 nvidia-open-gpu-kernel-modules (525.147.05-1) unstable; urgency=medium
 
-  * New upstream production branch release 525.147.05 (2023-10-31).
+  * New upstream production and Tesla branch release 525.147.05 (2023-10-31).
     * Fixed CVE-2023-31022.  (Closes: #1055144)
       https://nvidia.custhelp.com/app/answers/detail/a_id/5491
   * Refresh patches.
@@ -29,7 +126,7 @@ nvidia-open-gpu-kernel-modules (525.125.06-1~deb12u1) bookworm; urgency=medium
 
 nvidia-open-gpu-kernel-modules (525.125.06-1) unstable; urgency=medium
 
-  * New upstream production branch release 525.125.06 (2023-06-26).
+  * New upstream production and Tesla branch release 525.125.06 (2023-06-26).
     * Fixed CVE-2023-25515, CVE-2023-25516.  (Closes: #1039686)
       https://nvidia.custhelp.com/app/answers/detail/a_id/5468
 
@@ -52,7 +149,7 @@ nvidia-open-gpu-kernel-modules (525.105.17-2) unstable; urgency=medium
 
 nvidia-open-gpu-kernel-modules (525.105.17-1) unstable; urgency=medium
 
-  * New upstream production branch release 525.105.17 (2023-03-30).
+  * New upstream production and Tesla branch release 525.105.17 (2023-03-30).
     * Fixed CVE-2023-0184, CVE-2023-0189, CVE-2023-0180, CVE-2023-0183,
       CVE-2023-0185, CVE-2023-0187, CVE-2023-0198, CVE-2023-0199,
       CVE-2023-0188, CVE-2023-0190, CVE-2023-0194, CVE-2023-0195,
@@ -70,10 +167,10 @@ nvidia-open-gpu-kernel-modules (525.89.02-1) unstable; urgency=medium
 
 nvidia-open-gpu-kernel-modules (525.85.12-1) unstable; urgency=medium
 
-  * New upstream production branch release 525.85.12 (2023-01-30).
+  * New upstream Tesla branch release 525.85.12 (2023-01-30).
   * New upstream production branch release 525.85.05 (2023-01-19).
   * New upstream production branch release 525.78.01 (2023-01-05).
-  * New upstream production branch release 525.60.13 (2022-12-05).
+  * New upstream production and Tesla branch release 525.60.13 (2022-12-05).
   * New upstream production branch release 525.60.11 (2022-11-28).
     * Fixed CVE-2022-34670, CVE-2022-34673, CVE-2022-34674, CVE-2022-34675,
       CVE-2022-34677, CVE-2022-34679, CVE-2022-34680, CVE-2022-34682,
@@ -97,7 +194,7 @@ nvidia-open-gpu-kernel-modules (520.56.06-1) unstable; urgency=medium
 
 nvidia-open-gpu-kernel-modules (515.86.01-1) unstable; urgency=medium
 
-  * New upstream production branch release 515.86.01 (2022-11-22).
+  * New upstream production and Tesla branch release 515.86.01 (2022-11-22).
     * Fixed CVE-2022-34670, CVE-2022-34673, CVE-2022-34674, CVE-2022-34675,
       CVE-2022-34677, CVE-2022-34679, CVE-2022-34680, CVE-2022-34682,
       CVE-2022-34684, CVE-2022-42254, CVE-2022-42255, CVE-2022-42256,
@@ -112,13 +209,14 @@ nvidia-open-gpu-kernel-modules (515.86.01-1) unstable; urgency=medium
 nvidia-open-gpu-kernel-modules (515.76-1) experimental; urgency=medium
 
   * New upstream production branch release 515.76 (2022-09-20).
+  * New upstream Tesla branch release (amd64 only) 515.65.07 (2022-10-19).
   * Refresh patches.
 
  -- Andreas Beckmann <anbe@debian.org>  Thu, 26 Jan 2023 02:31:53 +0100
 
 nvidia-open-gpu-kernel-modules (515.65.01-1) experimental; urgency=medium
 
-  * New upstream production branch release 515.65.01 (2022-08-02).
+  * New upstream production and Tesla branch release 515.65.01 (2022-08-02).
   * New upstream production branch release 515.57 (2022-06-28).
   * Add versioned Provides: nvidia-open-kernel-dkms-any.
 
@@ -126,7 +224,7 @@ nvidia-open-gpu-kernel-modules (515.65.01-1) experimental; urgency=medium
 
 nvidia-open-gpu-kernel-modules (515.48.07-1) experimental; urgency=medium
 
-  * New upstream production branch release 515.48.07 (2022-05-31).
+  * New upstream production and Tesla branch release 515.48.07 (2022-05-31).
   * Refresh patches.
   * Add salsa-ci.yml.
 
diff --git a/debian/control b/debian/control
index cfddec56..e5c36daa 100644
--- a/debian/control
+++ b/debian/control
@@ -24,7 +24,7 @@ Package: nvidia-open-kernel-support
 Architecture: amd64 arm64
 Multi-Arch: foreign
 Depends:
- ${nvidia}-alternative-${nvidia:Version} | nvidia-alternative-${nvidia:Version} | nvidia-tesla-alternative-${nvidia:Version},
+ ${nvidia}-alternative-${nvidia:Version} | nvidia-alternative-${nvidia:Version},
  nvidia-kernel-common (>= 20151021),
  nvidia-modprobe (>= ${nvidia:Version:major}),
  ${misc:Depends}
@@ -71,6 +71,9 @@ Description: NVIDIA open kernel module DKMS source${nvidia:VariantDesc}
  ${nvidia:Models}
  .
  Building the kernel modules has been tested up to Linux ${nvidia:kmod:tested:Linux}.
+ .
+ Note: The new 'non-free-firmware' archive area has to be enabled in apt's
+ sources.list(.d/) in order to install firmware-${nvidia}-gsp.
 
 #Package: ${nvidia-kernel}-source
 Package: nvidia-open-kernel-source
diff --git a/debian/copyright b/debian/copyright
index be891ac7..bda255a7 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -11,7 +11,7 @@ Disclaimer:
 Files:
  *
 Copyright:
- (c) 1993-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+ (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
 License: Expat
 Comment:
  Except where noted otherwise, the individual files within this package are
@@ -48,7 +48,7 @@ License: Zlib
 Files:
  debian/*
 Copyright:
- © 2022-2023 Andreas Beckmann <anbe@debian.org>
+ © 2022-2024 Andreas Beckmann <anbe@debian.org>
 License: Expat
 
 License: Expat
diff --git a/debian/patches/hmm.patch b/debian/patches/hmm.patch
new file mode 100644
index 00000000..e7ee7b30
--- /dev/null
+++ b/debian/patches/hmm.patch
@@ -0,0 +1,17 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: some hmm bits are not always available
+ hmm_pfn_to_page() was introduced in Linux 5.8
+
+--- a/kernel-open/nvidia-uvm/uvm_ats.h
++++ b/kernel-open/nvidia-uvm/uvm_ats.h
+@@ -38,7 +38,9 @@
+ // hmm_range_fault() needs CONFIG_HMM_MIRROR. To detect racing CPU invalidates
+ // of memory regions while hmm_range_fault() is being called, MMU interval
+ // notifiers are needed.
+-    #if defined(CONFIG_HMM_MIRROR) && defined(NV_MMU_INTERVAL_NOTIFIER)
++// hmm_pfn_to_page() was added in Linux 5.8 (2733ea144dcce)
++    #if defined(CONFIG_HMM_MIRROR) && defined(NV_MMU_INTERVAL_NOTIFIER) && \
++	    LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
+         #define UVM_ATS_PREFETCH_SUPPORTED() 1
+     #else
+         #define UVM_ATS_PREFETCH_SUPPORTED() 0
diff --git a/debian/patches/module/0001-bump-minimum-supported-kernel-version-to-3.10.patch b/debian/patches/module/0001-bump-minimum-supported-kernel-version-to-3.10.patch
index a015484d..6d5d0676 100644
--- a/debian/patches/module/0001-bump-minimum-supported-kernel-version-to-3.10.patch
+++ b/debian/patches/module/0001-bump-minimum-supported-kernel-version-to-3.10.patch
@@ -1,4 +1,4 @@
-From fe3344d88a7c56419d42de6efef5161031c77928 Mon Sep 17 00:00:00 2001
+From e09fd1e4a2ef0ed3971d2d8798116559ce0ac25d Mon Sep 17 00:00:00 2001
 From: Andreas Beckmann <anbe@debian.org>
 Date: Mon, 31 Oct 2022 15:10:08 +0100
 Subject: [PATCH] bump minimum supported kernel version to 3.10
@@ -9,7 +9,7 @@ conftest.sh has dropped several tests for features predating 3.10
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/common/inc/nv-linux.h b/common/inc/nv-linux.h
-index 792287b..9f32e4e 100644
+index 90df696..2a4a756 100644
 --- a/common/inc/nv-linux.h
 +++ b/common/inc/nv-linux.h
 @@ -57,8 +57,8 @@
diff --git a/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch b/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch
index a61d4db4..3fd14e72 100644
--- a/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch
+++ b/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch
@@ -1,4 +1,4 @@
-From 40b15aa3ac67bfefa097f6a28b24e9d5cd9013a2 Mon Sep 17 00:00:00 2001
+From a1133243e871c1932499e29193c8afbd4349c915 Mon Sep 17 00:00:00 2001
 From: Andreas Beckmann <anbe@debian.org>
 Date: Mon, 31 Oct 2022 14:40:42 +0100
 Subject: [PATCH] conftest.sh: remove empty lines from uts_release output
@@ -8,10 +8,10 @@ Subject: [PATCH] conftest.sh: remove empty lines from uts_release output
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/conftest.sh b/conftest.sh
-index 0ea3f3d..4af088d 100755
+index e883f3e..962b418 100755
 --- a/conftest.sh
 +++ b/conftest.sh
-@@ -5489,7 +5489,7 @@ compile_test() {
+@@ -5856,7 +5856,7 @@ compile_test() {
              echo "#include <generated/utsrelease.h>
              UTS_RELEASE" > conftest$$.c
  
diff --git a/debian/patches/module/0034-fix-typos.patch b/debian/patches/module/0034-fix-typos.patch
new file mode 100644
index 00000000..22ceafa0
--- /dev/null
+++ b/debian/patches/module/0034-fix-typos.patch
@@ -0,0 +1,48 @@
+From 73d99e0834961ad70a90963d42a8a1d8d225e87d Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe@debian.org>
+Date: Wed, 31 Jan 2024 03:06:19 +0100
+Subject: [PATCH] fix typos
+
+---
+ nvidia-uvm/uvm_perf_thrashing.c | 4 ++--
+ nvidia/nv.c                     | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/nvidia-uvm/uvm_perf_thrashing.c b/nvidia-uvm/uvm_perf_thrashing.c
+index ee5eef4..3032615 100644
+--- a/nvidia-uvm/uvm_perf_thrashing.c
++++ b/nvidia-uvm/uvm_perf_thrashing.c
+@@ -318,7 +318,7 @@ module_param(uvm_perf_thrashing_max_resets,    uint, S_IRUGO);
+ unsigned uvm_perf_map_remote_on_native_atomics_fault = 0;
+ module_param(uvm_perf_map_remote_on_native_atomics_fault, uint, S_IRUGO);
+ 
+-// Global post-processed values of the module parameters. They can be overriden
++// Global post-processed values of the module parameters. They can be overridden
+ // per VA-space.
+ static bool g_uvm_perf_thrashing_enable;
+ static unsigned g_uvm_perf_thrashing_threshold;
+@@ -566,7 +566,7 @@ static void va_space_thrashing_info_init_params(va_space_thrashing_info_t *va_sp
+     va_space_thrashing->params.threshold     = g_uvm_perf_thrashing_threshold;
+     va_space_thrashing->params.pin_threshold = g_uvm_perf_thrashing_pin_threshold;
+ 
+-    // Default thrashing parameters are overriden for simulated/emulated GPUs
++    // Default thrashing parameters are overridden for simulated/emulated GPUs
+     if (g_uvm_global.num_simulated_devices > 0 &&
+         (g_uvm_perf_thrashing_lapse_usec == UVM_PERF_THRASHING_LAPSE_USEC_DEFAULT)) {
+         va_space_thrashing->params.lapse_ns  = UVM_PERF_THRASHING_LAPSE_USEC_DEFAULT_EMULATION * 1000;
+diff --git a/nvidia/nv.c b/nvidia/nv.c
+index 5a43c52..592a228 100644
+--- a/nvidia/nv.c
++++ b/nvidia/nv.c
+@@ -4485,7 +4485,7 @@ NvU64 NV_API_CALL nv_get_dma_start_address(
+      * Otherwise, the DMA start address only needs to be set once, and it
+      * won't change afterward. Just return the cached value if asked again,
+      * to avoid the kernel printing redundant messages to the kernel
+-     * log when we call pci_set_dma_mask().
++     * log when we call dma_set_mask().
+      */
+     if ((nv_tce_bypass_mode == NV_TCE_BYPASS_MODE_DISABLE) ||
+         (nvl->tce_bypass_enabled))
+-- 
+2.20.1
+
diff --git a/debian/patches/module/bashisms.patch b/debian/patches/module/bashisms.patch
index 98f178a5..b8d0ddab 100644
--- a/debian/patches/module/bashisms.patch
+++ b/debian/patches/module/bashisms.patch
@@ -3,7 +3,7 @@ Description: fix bashisms in conftest.sh
 
 --- a/conftest.sh
 +++ b/conftest.sh
-@@ -6019,7 +6019,7 @@ case "$5" in
+@@ -6696,7 +6696,7 @@ case "$5" in
  
          if [ -n "$VGX_BUILD" ]; then
              if [ -f /proc/xen/capabilities ]; then
diff --git a/debian/patches/module/cc_version_check-gcc5.patch b/debian/patches/module/cc_version_check-gcc5.patch
index 15f1caa1..2e7f529a 100644
--- a/debian/patches/module/cc_version_check-gcc5.patch
+++ b/debian/patches/module/cc_version_check-gcc5.patch
@@ -5,7 +5,7 @@ Description: ignore __GNUC_MINOR__ from GCC 5 onwards
 
 --- a/conftest.sh
 +++ b/conftest.sh
-@@ -5849,7 +5849,7 @@ case "$5" in
+@@ -6530,7 +6530,7 @@ case "$5" in
          kernel_cc_minor=`echo ${kernel_cc_version} | cut -d '.' -f 2`
  
          echo "
diff --git a/debian/patches/module/conftest-prefer-arch-headers.patch b/debian/patches/module/conftest-prefer-arch-headers.patch
index e5c98f83..8a9bd82f 100644
--- a/debian/patches/module/conftest-prefer-arch-headers.patch
+++ b/debian/patches/module/conftest-prefer-arch-headers.patch
@@ -5,7 +5,7 @@ Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933309
 
 --- a/conftest.sh
 +++ b/conftest.sh
-@@ -149,18 +149,18 @@ build_cflags() {
+@@ -144,18 +144,18 @@ build_cflags() {
      fi
  
      # Add the mach-default includes (only found on x86/older kernels)
diff --git a/debian/patches/module/conftest-verbose.patch b/debian/patches/module/conftest-verbose.patch
index 469a1278..1e7dbd60 100644
--- a/debian/patches/module/conftest-verbose.patch
+++ b/debian/patches/module/conftest-verbose.patch
@@ -3,7 +3,7 @@ Description: dump the generated conftest headers
 
 --- a/Kbuild
 +++ b/Kbuild
-@@ -162,6 +162,16 @@ NV_CONFTEST_HEADERS += $(obj)/conftest/h
+@@ -170,6 +170,16 @@ NV_CONFTEST_HEADERS += $(obj)/conftest/h
  NV_CONFTEST_HEADERS += $(NV_CONFTEST_COMPILE_TEST_HEADERS)
  
  
@@ -20,7 +20,7 @@ Description: dump the generated conftest headers
  #
  # Generate a header file for a single conftest compile test. Each compile test
  # header depends on conftest.sh, as well as the generated conftest/headers.h
-@@ -186,6 +196,8 @@ define NV_GENERATE_COMPILE_TEST_HEADER
+@@ -194,6 +204,8 @@ define NV_GENERATE_COMPILE_TEST_HEADER
  	@mkdir -p $(obj)/conftest
  	@# concatenate /dev/null to prevent cat from hanging when $$^ is empty
  	@cat $$^ /dev/null > $$@
@@ -29,7 +29,7 @@ Description: dump the generated conftest headers
  endef
  
  #
-@@ -205,9 +217,11 @@ $(eval $(call NV_GENERATE_COMPILE_TEST_H
+@@ -213,9 +225,11 @@ $(eval $(call NV_GENERATE_COMPILE_TEST_H
  $(eval $(call NV_GENERATE_COMPILE_TEST_HEADER,symbols,$(NV_CONFTEST_SYMBOL_COMPILE_TESTS)))
  $(eval $(call NV_GENERATE_COMPILE_TEST_HEADER,types,$(NV_CONFTEST_TYPE_COMPILE_TESTS)))
  
@@ -42,7 +42,7 @@ Description: dump the generated conftest headers
  
  
  # Each of these headers is checked for presence with a test #include; a
-@@ -309,6 +323,7 @@ NV_HEADER_PRESENCE_PART = $(addprefix $(
+@@ -322,6 +336,7 @@ NV_HEADER_PRESENCE_PART = $(addprefix $(
  define NV_HEADER_PRESENCE_CHECK
   $$(call NV_HEADER_PRESENCE_PART,$(1)): $$(NV_CONFTEST_SCRIPT) $(obj)/conftest/uts_release
  	@mkdir -p $$(dir $$@)
@@ -50,7 +50,7 @@ Description: dump the generated conftest headers
  	@$$(NV_CONFTEST_CMD) test_kernel_header '$$(NV_CONFTEST_CFLAGS)' '$(1)' > $$@
  endef
  
-@@ -318,6 +333,8 @@ $(foreach header,$(NV_HEADER_PRESENCE_TE
+@@ -331,6 +346,8 @@ $(foreach header,$(NV_HEADER_PRESENCE_TE
  # Concatenate all of the parts into headers.h.
  $(obj)/conftest/headers.h: $(call NV_HEADER_PRESENCE_PART,$(NV_HEADER_PRESENCE_TESTS))
  	@cat $^ > $@
@@ -59,7 +59,7 @@ Description: dump the generated conftest headers
  
  clean-dirs := $(obj)/conftest
  
-@@ -338,7 +355,8 @@ BUILD_SANITY_CHECKS = \
+@@ -351,7 +368,8 @@ BUILD_SANITY_CHECKS = \
  
  .PHONY: $(BUILD_SANITY_CHECKS)
  
@@ -69,7 +69,7 @@ Description: dump the generated conftest headers
  	@$(NV_CONFTEST_CMD) $@ full_output
  
  # Perform all sanity checks before generating the conftest headers
-@@ -347,11 +365,13 @@ $(NV_CONFTEST_HEADERS): | $(BUILD_SANITY
+@@ -360,11 +378,13 @@ $(NV_CONFTEST_HEADERS): | $(BUILD_SANITY
  
  # Make the conftest headers depend on the kernel version string
  
diff --git a/debian/patches/module/ppc64el.patch b/debian/patches/module/ppc64el.patch
deleted file mode 100644
index f945459a..00000000
--- a/debian/patches/module/ppc64el.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Author: Andreas Beckmann <anbe@debian.org>
-Description: fix ppc64el ftfbs
-
---- a/nvidia/nvlink_common.h
-+++ b/nvidia/nvlink_common.h
-@@ -28,6 +28,13 @@
- extern "C" {
- #endif
- 
-+#if defined(NV_ASM_PROM_H_PRESENT)
-+#if defined(NV_LINUX_OF_H_PRESENT)
-+#include <linux/of.h>
-+#endif
-+#include <asm/prom.h>
-+#endif
-+
- #include "nvtypes.h"
- #include "nvCpuUuid.h"
- #include "nvlink_errors.h"
diff --git a/debian/patches/module/series.in b/debian/patches/module/series.in
index 5cfcef65..ee350f34 100644
--- a/debian/patches/module/series.in
+++ b/debian/patches/module/series.in
@@ -4,7 +4,7 @@ bashisms.patch
 # kernel support
 0001-bump-minimum-supported-kernel-version-to-3.10.patch
 0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch
-ppc64el.patch
+0034-fix-typos.patch
 
 # build system updates
 fragile-ARCH.patch
diff --git a/debian/patches/module/use-kbuild-compiler.patch b/debian/patches/module/use-kbuild-compiler.patch
index 3f535ae3..c965b601 100644
--- a/debian/patches/module/use-kbuild-compiler.patch
+++ b/debian/patches/module/use-kbuild-compiler.patch
@@ -20,7 +20,7 @@ Description: let Kbuild set the compiler version
  	      ./split-object-file.sh $$module.ko; \
 --- a/Kbuild
 +++ b/Kbuild
-@@ -139,7 +139,7 @@ NV_CONFTEST_SCRIPT := $(src)/conftest.sh
+@@ -147,7 +147,7 @@ NV_CONFTEST_SCRIPT := $(src)/conftest.sh
  NV_CONFTEST_HEADER := $(obj)/conftest/headers.h
  
  NV_CONFTEST_CMD := /bin/sh $(NV_CONFTEST_SCRIPT) \
diff --git a/debian/patches/module/use-kbuild-flags.patch b/debian/patches/module/use-kbuild-flags.patch
index 3fc9b529..de295518 100644
--- a/debian/patches/module/use-kbuild-flags.patch
+++ b/debian/patches/module/use-kbuild-flags.patch
@@ -13,7 +13,7 @@ Description: use KBUILD_CFLAGS and (KBUILD_)LDFLAGS
 
 --- a/Kbuild
 +++ b/Kbuild
-@@ -144,6 +144,12 @@ NV_CONFTEST_CMD := /bin/sh $(NV_CONFTEST
+@@ -152,6 +152,12 @@ NV_CONFTEST_CMD := /bin/sh $(NV_CONFTEST
  NV_CFLAGS_FROM_CONFTEST := $(shell $(NV_CONFTEST_CMD) build_cflags)
  
  NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST) $(EXTRA_CFLAGS) -fno-pie
diff --git a/debian/patches/series b/debian/patches/series
index ce697211..8d6981e2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 hardening.patch
 typos.patch
+hmm.patch
diff --git a/debian/patches/typos.patch b/debian/patches/typos.patch
index f1d7a2d0..a02c286f 100644
--- a/debian/patches/typos.patch
+++ b/debian/patches/typos.patch
@@ -3,8 +3,8 @@ Author: Andreas Beckmann <anbe@debian.org>
 
 --- a/kernel-open/nvidia-uvm/uvm_mmu.c
 +++ b/kernel-open/nvidia-uvm/uvm_mmu.c
-@@ -981,7 +981,7 @@ static NV_STATUS try_get_ptes(uvm_page_t
-     // bit index just beyond the most significant bit used to index the current entry
+@@ -1337,7 +1337,7 @@ static NV_STATUS try_get_ptes(uvm_page_t
+     // entry
      NvU32 addr_bit_shift = hal->num_va_bits();
  
 -    // track depth upon which the invalidate occured
@@ -14,7 +14,7 @@ Author: Andreas Beckmann <anbe@debian.org>
  
 --- a/src/common/nvlink/kernel/nvlink/core/nvlink_link_mgmt.c
 +++ b/src/common/nvlink/kernel/nvlink/core/nvlink_link_mgmt.c
-@@ -289,7 +289,7 @@ nvlink_core_poll_link_state
+@@ -300,7 +300,7 @@ nvlink_core_poll_link_state
          if (!timeout)
          {
              NVLINK_PRINT((DBG_MODULE_NVLINK_CORE, NVLINK_DBG_LEVEL_ERRORS,
@@ -23,7 +23,7 @@ Author: Andreas Beckmann <anbe@debian.org>
                  __FUNCTION__));
  
              NVLINK_PRINT((DBG_MODULE_NVLINK_CORE, NVLINK_DBG_LEVEL_ERRORS,
-@@ -413,7 +413,7 @@ nvlink_core_poll_tx_sublink_state
+@@ -424,7 +424,7 @@ nvlink_core_poll_tx_sublink_state
          if (!timeout)
          {
              NVLINK_PRINT((DBG_MODULE_NVLINK_CORE, NVLINK_DBG_LEVEL_ERRORS,
@@ -32,7 +32,7 @@ Author: Andreas Beckmann <anbe@debian.org>
                  __FUNCTION__));
  
              NVLINK_PRINT((DBG_MODULE_NVLINK_CORE, NVLINK_DBG_LEVEL_ERRORS,
-@@ -476,7 +476,7 @@ nvlink_core_poll_rx_sublink_state
+@@ -487,7 +487,7 @@ nvlink_core_poll_rx_sublink_state
          if (!timeout)
          {
              NVLINK_PRINT((DBG_MODULE_NVLINK_CORE, NVLINK_DBG_LEVEL_ERRORS,
@@ -43,7 +43,7 @@ Author: Andreas Beckmann <anbe@debian.org>
              NVLINK_PRINT((DBG_MODULE_NVLINK_CORE, NVLINK_DBG_LEVEL_ERRORS,
 --- a/src/nvidia-modeset/include/nvkms-types.h
 +++ b/src/nvidia-modeset/include/nvkms-types.h
-@@ -1663,7 +1663,7 @@ typedef struct _NVDispHeadStateEvoRec {
+@@ -1848,7 +1848,7 @@ typedef struct _NVDispApiHeadStateEvoRec
       *
       * The numVblankSyncObjectsCreated will ideally always be equal to
       * NVKMS_MAX_VBLANK_SYNC_OBJECTS_PER_HEAD, but could be lower if errors
@@ -65,7 +65,7 @@ Author: Andreas Beckmann <anbe@debian.org>
                                k);
 --- a/src/nvidia/src/kernel/diagnostics/gpu_acct.c
 +++ b/src/nvidia/src/kernel/diagnostics/gpu_acct.c
-@@ -522,7 +522,7 @@ gpuacctSampleGpuUtil_out:
+@@ -523,7 +523,7 @@ gpuacctSampleGpuUtil_out:
      if (status != NV_OK)
      {
          NV_PRINTF(LEVEL_ERROR,
@@ -76,7 +76,7 @@ Author: Andreas Beckmann <anbe@debian.org>
      }
 --- a/src/nvidia/src/kernel/gpu/bus/arch/maxwell/kern_bus_gm107.c
 +++ b/src/nvidia/src/kernel/gpu/bus/arch/maxwell/kern_bus_gm107.c
-@@ -3515,7 +3515,7 @@ kbusVerifyBar2_GM107
+@@ -3741,7 +3741,7 @@ kbusVerifyBar2_GM107
                (NvU8 *)(pOffset - pKernelBus->virtualBar2[GPU_GFID_PF].pCpuMapping),
                testMemorySize);
      NV_PRINTF_COND(IS_EMULATION(pGpu), LEVEL_NOTICE, LEVEL_INFO,
@@ -98,7 +98,7 @@ Author: Andreas Beckmann <anbe@debian.org>
  // Mechanism #5 (TYPE_WDDM_FAST_DMA_DEFERRED_NONPAGED):
 --- a/src/nvidia/src/kernel/gpu/mem_mgr/mem_mgr.c
 +++ b/src/nvidia/src/kernel/gpu/mem_mgr/mem_mgr.c
-@@ -1744,7 +1744,7 @@ memmgrSetPartitionableMem_IMPL
+@@ -1861,7 +1861,7 @@ memmgrSetPartitionableMem_IMPL
      //
      // Find out the first and the last region for which internal heap or
      // bRsvdRegion is true. In Ampere we should never have more than two
@@ -107,7 +107,7 @@ Author: Andreas Beckmann <anbe@debian.org>
      // To-Do - Bug 2301972 - Make sure that reserved memory is aligned to VMMU
      // segments
      //
-@@ -1781,14 +1781,14 @@ memmgrSetPartitionableMem_IMPL
+@@ -1898,14 +1898,14 @@ memmgrSetPartitionableMem_IMPL
              else
              {
                  //
diff --git a/debian/rules b/debian/rules
index 94fc5a85..90be7f86 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,7 +1,7 @@
 #!/usr/bin/make -f
 
 # For reproducible builds.
-export DATE	 = date --utc --date="@$(SOURCE_DATE_EPOCH)"
+export DATE	 = env LC_ALL=POSIX date --utc --date="@$(SOURCE_DATE_EPOCH)"
 export WHOAMI	 = echo buildd
 export HOSTNAME	 = debian
 
@@ -10,15 +10,16 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=-stackprotector
 
 include /usr/share/dpkg/pkg-info.mk
 
+NVIDIA_RELEASE		 = $(DEB_VERSION_UPSTREAM)
+NVIDIA_MAJOR		 = $(firstword $(subst ., ,$(NVIDIA_RELEASE)))
 include debian/rules.defs
 NVIDIA_TESLA		?=
 LINUX_KMOD_VARIANT	?=
 LINUX_KMOD_TESTED	?=
 ARCH_LIST		?= amd64
 
-NVIDIA_RELEASE		 = $(DEB_VERSION_UPSTREAM)
 version			 = $(NVIDIA_RELEASE)
-version_major		 = $(firstword $(subst ., ,$(version)))
+version_major		 = $(NVIDIA_MAJOR)
 ifeq (yes,$(NVIDIA_TESLA))
 variant			 = $(if $(NVIDIA_TESLA),tesla)
 variant_description	 = $(if $(NVIDIA_TESLA), (Tesla version))
@@ -132,7 +133,7 @@ pack-module-source:
 		--sort=name \
 		--mtime='@$(SOURCE_DATE_EPOCH)' \
 		--clamp-mtime \
-		modules | xz -9 > $(module_source_txz)
+		modules | xz -T1 -9 > $(module_source_txz)
 	tar tfv $(module_source_txz)
 	$(RM) -r $(module_source_pkg)/usr/src/modules
 
diff --git a/debian/rules.defs b/debian/rules.defs
index daf8a69a..fc58f281 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -1,6 +1,6 @@
 LINUX_KMOD_VARIANT	 = -open
 
-LINUX_KMOD_TESTED	 = 6.6
+LINUX_KMOD_TESTED	 = 6.7
 
 ARCH_LIST		 = amd64
 ARCH_LIST		+= arm64
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index b57a8084..6095bff4 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -7,8 +7,5 @@ superficial-tests
 # debian/patches/module/series gets generated and applied during the build process
 patch-file-present-but-not-mentioned-in-series [debian/patches/module/*.patch]
 
-# generated file (no source available)
-very-long-line-length-in-source-file * > 512 [src/common/sdk/nvidia/inc/ctrl/ctrl0000/ctrl0000system.h:*]
-
 # binary data
 very-long-line-length-in-source-file * > 512 [src/nvidia-modeset/src/shaders/g_*_shaders:*]
diff --git a/debian/sync.sh b/debian/sync.sh
index 051a52f5..7d00f1d9 100755
--- a/debian/sync.sh
+++ b/debian/sync.sh
@@ -16,6 +16,7 @@ debian/rules.defs
 debian/sync.sh
 debian/watch
 debian/source/lintian-overrides
+debian/tests/autopkgtest-pkg-dkms.conf
 debian/tests/control
 debian/upstream/metadata
 "
