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
This is the source release of the NVIDIA Linux open GPU kernel modules,
version 580.126.16.
version 580.126.18.
## How to Build
@@ -17,7 +17,7 @@ as root:
Note that the kernel modules built here must be used with GSP
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`
option. E.g.,
@@ -185,7 +185,7 @@ table below).
For details on feature support and limitations, see the NVIDIA GPU driver
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
Package for more details.

View File

@@ -79,7 +79,7 @@ ccflags-y += -I$(src)/common/inc
ccflags-y += -I$(src)
ccflags-y += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args
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.
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"
;;
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
# ("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="
#include <linux/memremap.h>
void init_page(void) {
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)

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 += get_dev_pagemap_has_pgmap_arg
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_home_node
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
// function will need to be revisited
//
#if defined(NV_ZONE_DEVICE_PAGE_INIT_HAS_ORDER_ARG)
#define ZONE_DEVICE_PAGE_INIT(page) zone_device_page_init(page, 0)
static __always_inline void nv_zone_device_page_init(struct page *page)
{
#if defined(NV_ZONE_DEVICE_PAGE_INIT_HAS_PGMAP_AND_ORDER_ARGS)
zone_device_page_init(page, page_pgmap(page), 0);
#else
#define ZONE_DEVICE_PAGE_INIT(page) zone_device_page_init(page)
zone_device_page_init(page);
#endif
}
// The function nv_PageSwapCache() wraps the check for page swap cache flag in
// 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(!dpage->zone_device_data);
ZONE_DEVICE_PAGE_INIT(dpage);
nv_zone_device_page_init(dpage);
dpage->zone_device_data = gpu_chunk;
atomic64_inc(&va_block->hmm.va_space->hmm.allocated_page_count);
}

View File

@@ -43,18 +43,18 @@
#endif
#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_CHANGELIST_NUM (37265831)
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r580/r582_12-405"
#define NV_BUILD_CHANGELIST_NUM (37332263)
#define NV_BUILD_TYPE "Official"
#define NV_BUILD_NAME "rel/gpu_drv/r580/r582_12-403"
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (37265831)
#define NV_BUILD_NAME "rel/gpu_drv/r580/r582_12-405"
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (37332263)
#else /* Windows builds */
#define NV_BUILD_BRANCH_VERSION "r582_12-4"
#define NV_BUILD_CHANGELIST_NUM (37198475)
#define NV_BUILD_BRANCH_VERSION "r582_12-5"
#define NV_BUILD_CHANGELIST_NUM (37273147)
#define NV_BUILD_TYPE "Official"
#define NV_BUILD_NAME "582.28"
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (37198475)
#define NV_BUILD_NAME "582.34"
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (37273147)
#define NV_BUILD_BRANCH_BASE_VERSION R580
#endif
// 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) || \
(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

View File

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