580.126.18

This commit is contained in:
Maneet Singh
2026-02-17 10:04:18 -08:00
parent ea77b4f916
commit 8e11c95ee7
8 changed files with 34 additions and 25 deletions

View File

@@ -1,7 +1,7 @@
# NVIDIA Linux Open GPU Kernel Module Source # NVIDIA Linux Open GPU Kernel Module Source
This is the source release of the NVIDIA Linux open GPU kernel modules, This is the source release of the NVIDIA Linux open GPU kernel modules,
version 580.126.16. version 580.126.18.
## How to Build ## How to Build
@@ -17,7 +17,7 @@ as root:
Note that the kernel modules built here must be used with GSP Note that the kernel modules built here must be used with GSP
firmware and user-space NVIDIA GPU driver components from a corresponding firmware and user-space NVIDIA GPU driver components from a corresponding
580.126.16 driver release. This can be achieved by installing 580.126.18 driver release. This can be achieved by installing
the NVIDIA GPU driver from the .run file using the `--no-kernel-modules` the NVIDIA GPU driver from the .run file using the `--no-kernel-modules`
option. E.g., option. E.g.,
@@ -185,7 +185,7 @@ table below).
For details on feature support and limitations, see the NVIDIA GPU driver For details on feature support and limitations, see the NVIDIA GPU driver
end user README here: end user README here:
https://us.download.nvidia.com/XFree86/Linux-x86_64/580.126.16/README/kernel_open.html https://us.download.nvidia.com/XFree86/Linux-x86_64/580.126.18/README/kernel_open.html
For vGPU support, please refer to the README.vgpu packaged in the vGPU Host For vGPU support, please refer to the README.vgpu packaged in the vGPU Host
Package for more details. Package for more details.

View File

@@ -79,7 +79,7 @@ ccflags-y += -I$(src)/common/inc
ccflags-y += -I$(src) ccflags-y += -I$(src)
ccflags-y += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args ccflags-y += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args
ccflags-y += -D__KERNEL__ -DMODULE -DNVRM ccflags-y += -D__KERNEL__ -DMODULE -DNVRM
ccflags-y += -DNV_VERSION_STRING=\"580.126.16\" ccflags-y += -DNV_VERSION_STRING=\"580.126.18\"
# Include and link Tegra out-of-tree modules. # Include and link Tegra out-of-tree modules.
ifneq ($(wildcard /usr/src/nvidia/nvidia-oot),) ifneq ($(wildcard /usr/src/nvidia/nvidia-oot),)

View File

@@ -1390,22 +1390,28 @@ compile_test() {
compile_check_conftest "$CODE" "NV_GET_DEV_PAGEMAP_HAS_PGMAP_ARG" "" "types" compile_check_conftest "$CODE" "NV_GET_DEV_PAGEMAP_HAS_PGMAP_ARG" "" "types"
;; ;;
zone_device_page_init_has_order_arg) zone_device_page_init_has_pgmap_and_order_args)
# #
# Determine if the zone_device_page_init() has an extra argument # Determine if the zone_device_page_init() has two additional
# arguments
# #
# This change was introduced by d245f9b4ab80 # This change was introduced by d245f9b4ab80
# ("mm/zone_device: support large zone device private folios") # ("mm/zone_device: support large zone device private folios")
# #
# in linux-next, expected in v6.19. # It was further amended in 9387a71ec62c
# (mm/zone_device: reinitialize large zone device private folios)
#
# both commits are in linux-next, expected in v6.19.
# #
CODE=" CODE="
#include <linux/memremap.h> #include <linux/memremap.h>
void init_page(void) { void init_page(void) {
struct page *page; struct page *page;
zone_device_page_init(page, 0); struct dev_pagemap *pgmap;
zone_device_page_init(page, pgmap, 0);
}" }"
compile_check_conftest "$CODE" "NV_ZONE_DEVICE_PAGE_INIT_HAS_ORDER_ARG" "" "types" compile_check_conftest "$CODE" "NV_ZONE_DEVICE_PAGE_INIT_HAS_PGMAP_AND_ORDER_ARGS" "" "types"
;; ;;
dev_pagemap_ops_has_folio_free) dev_pagemap_ops_has_folio_free)

View File

@@ -63,7 +63,7 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += migrate_device_range
NV_CONFTEST_TYPE_COMPILE_TESTS += handle_mm_fault_has_pt_regs_arg NV_CONFTEST_TYPE_COMPILE_TESTS += handle_mm_fault_has_pt_regs_arg
NV_CONFTEST_TYPE_COMPILE_TESTS += get_dev_pagemap_has_pgmap_arg NV_CONFTEST_TYPE_COMPILE_TESTS += get_dev_pagemap_has_pgmap_arg
NV_CONFTEST_TYPE_COMPILE_TESTS += dev_pagemap_ops_has_folio_free NV_CONFTEST_TYPE_COMPILE_TESTS += dev_pagemap_ops_has_folio_free
NV_CONFTEST_TYPE_COMPILE_TESTS += zone_device_page_init_has_order_arg NV_CONFTEST_TYPE_COMPILE_TESTS += zone_device_page_init_has_pgmap_and_order_args
NV_CONFTEST_TYPE_COMPILE_TESTS += mempolicy_has_unified_nodes NV_CONFTEST_TYPE_COMPILE_TESTS += mempolicy_has_unified_nodes
NV_CONFTEST_TYPE_COMPILE_TESTS += mempolicy_has_home_node NV_CONFTEST_TYPE_COMPILE_TESTS += mempolicy_has_home_node
NV_CONFTEST_TYPE_COMPILE_TESTS += mpol_preferred_many_present NV_CONFTEST_TYPE_COMPILE_TESTS += mpol_preferred_many_present

View File

@@ -78,11 +78,14 @@ module_param(uvm_disable_hmm, bool, 0444);
// Pass 0 as the order, when actual large order support is added this // Pass 0 as the order, when actual large order support is added this
// function will need to be revisited // function will need to be revisited
// //
#if defined(NV_ZONE_DEVICE_PAGE_INIT_HAS_ORDER_ARG) static __always_inline void nv_zone_device_page_init(struct page *page)
#define ZONE_DEVICE_PAGE_INIT(page) zone_device_page_init(page, 0) {
#if defined(NV_ZONE_DEVICE_PAGE_INIT_HAS_PGMAP_AND_ORDER_ARGS)
zone_device_page_init(page, page_pgmap(page), 0);
#else #else
#define ZONE_DEVICE_PAGE_INIT(page) zone_device_page_init(page) zone_device_page_init(page);
#endif #endif
}
// The function nv_PageSwapCache() wraps the check for page swap cache flag in // The function nv_PageSwapCache() wraps the check for page swap cache flag in
// order to support a wide variety of kernel versions. // order to support a wide variety of kernel versions.
@@ -2156,7 +2159,7 @@ static void fill_dst_pfn(uvm_va_block_t *va_block,
UVM_ASSERT(!page_count(dpage)); UVM_ASSERT(!page_count(dpage));
UVM_ASSERT(!dpage->zone_device_data); UVM_ASSERT(!dpage->zone_device_data);
ZONE_DEVICE_PAGE_INIT(dpage); nv_zone_device_page_init(dpage);
dpage->zone_device_data = gpu_chunk; dpage->zone_device_data = gpu_chunk;
atomic64_inc(&va_block->hmm.va_space->hmm.allocated_page_count); atomic64_inc(&va_block->hmm.va_space->hmm.allocated_page_count);
} }

View File

@@ -43,18 +43,18 @@
#endif #endif
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) #if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS)
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r580/r582_12-403" #define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r580/r582_12-405"
#define NV_BUILD_CHANGELIST_NUM (37265831) #define NV_BUILD_CHANGELIST_NUM (37332263)
#define NV_BUILD_TYPE "Official" #define NV_BUILD_TYPE "Official"
#define NV_BUILD_NAME "rel/gpu_drv/r580/r582_12-403" #define NV_BUILD_NAME "rel/gpu_drv/r580/r582_12-405"
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (37265831) #define NV_LAST_OFFICIAL_CHANGELIST_NUM (37332263)
#else /* Windows builds */ #else /* Windows builds */
#define NV_BUILD_BRANCH_VERSION "r582_12-4" #define NV_BUILD_BRANCH_VERSION "r582_12-5"
#define NV_BUILD_CHANGELIST_NUM (37198475) #define NV_BUILD_CHANGELIST_NUM (37273147)
#define NV_BUILD_TYPE "Official" #define NV_BUILD_TYPE "Official"
#define NV_BUILD_NAME "582.28" #define NV_BUILD_NAME "582.34"
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (37198475) #define NV_LAST_OFFICIAL_CHANGELIST_NUM (37273147)
#define NV_BUILD_BRANCH_BASE_VERSION R580 #define NV_BUILD_BRANCH_BASE_VERSION R580
#endif #endif
// End buildmeister python edited section // End buildmeister python edited section

View File

@@ -4,7 +4,7 @@
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || \ #if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || \
(defined(RMCFG_FEATURE_PLATFORM_GSP) && RMCFG_FEATURE_PLATFORM_GSP == 1) (defined(RMCFG_FEATURE_PLATFORM_GSP) && RMCFG_FEATURE_PLATFORM_GSP == 1)
#define NV_VERSION_STRING "580.126.16" #define NV_VERSION_STRING "580.126.18"
#else #else

View File

@@ -1,5 +1,5 @@
NVIDIA_VERSION = 580.126.16 NVIDIA_VERSION = 580.126.18
NVIDIA_NVID_VERSION = 580.126.16 NVIDIA_NVID_VERSION = 580.126.18
NVIDIA_NVID_EXTRA = NVIDIA_NVID_EXTRA =
# This file. # This file.