Skip to content

Commit 2b43605

Browse files
committed
580.95.05
1 parent 87c0b12 commit 2b43605

File tree

147 files changed

+56976
-55166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+56976
-55166
lines changed

README.md

Lines changed: 827 additions & 819 deletions
Large diffs are not rendered by default.

kernel-open/Kbuild

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ ccflags-y += -I$(src)/common/inc
7979
ccflags-y += -I$(src)
8080
ccflags-y += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args
8181
ccflags-y += -D__KERNEL__ -DMODULE -DNVRM
82-
ccflags-y += -DNV_VERSION_STRING=\"580.82.09\"
82+
ccflags-y += -DNV_VERSION_STRING=\"580.95.05\"
8383

8484
# Include and link Tegra out-of-tree modules.
8585
ifneq ($(wildcard /usr/src/nvidia/nvidia-oot),)

kernel-open/common/inc/nv-gpu-info.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ typedef struct {
3232
NvU8 bus, slot, function;
3333
} pci_info;
3434

35+
NvBool needs_numa_setup;
36+
3537
/*
3638
* opaque OS-specific pointer; on Linux, this is a pointer to the
3739
* 'struct device' for the GPU.

kernel-open/common/inc/nv-linux.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1711,12 +1711,12 @@ static inline void nv_mutex_destroy(struct mutex *lock)
17111711
mutex_destroy(lock);
17121712
}
17131713

1714-
static inline NvBool nv_platform_supports_numa(nv_linux_state_t *nvl)
1714+
static inline NvBool nv_platform_supports_numa(const nv_linux_state_t *nvl)
17151715
{
17161716
return nvl->numa_info.node_id != NUMA_NO_NODE;
17171717
}
17181718

1719-
static inline int nv_get_numa_status(nv_linux_state_t *nvl)
1719+
static inline int nv_get_numa_status(const nv_linux_state_t *nvl)
17201720
{
17211721
if (!nv_platform_supports_numa(nvl))
17221722
{

kernel-open/common/inc/nv.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -588,8 +588,8 @@ typedef struct nv_state_t
588588
/* Console is managed by drm drivers or NVKMS */
589589
NvBool client_managed_console;
590590

591-
/* Bool to check if power management is supported */
592-
NvBool is_pm_supported;
591+
/* Bool to check if power management is unsupported */
592+
NvBool is_pm_unsupported;
593593
} nv_state_t;
594594

595595
#define NVFP_TYPE_NONE 0x0

kernel-open/common/inc/nv_uvm_types.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,9 @@ typedef struct UvmGpuInfo_tag
685685

686686
// GPU supports Non-PASID ATS capability
687687
NvBool nonPasidAtsSupport;
688+
689+
// GPU setup in CDMM mode
690+
NvBool cdmmEnabled;
688691
} UvmGpuInfo;
689692

690693
typedef struct UvmGpuFbInfo_tag

kernel-open/common/inc/nvkms-api-types.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,9 @@ enum NvKmsInputTf {
667667
enum NvKmsOutputColorimetry {
668668
NVKMS_OUTPUT_COLORIMETRY_DEFAULT = 0,
669669

670-
NVKMS_OUTPUT_COLORIMETRY_BT2100 = 1,
670+
NVKMS_OUTPUT_COLORIMETRY_BT601 = 1,
671+
NVKMS_OUTPUT_COLORIMETRY_BT709 = 2,
672+
NVKMS_OUTPUT_COLORIMETRY_BT2100 = 3,
671673
};
672674

673675
enum NvKmsOutputTf {

kernel-open/conftest.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4856,6 +4856,22 @@ compile_test() {
48564856
compile_check_conftest "$CODE" "NV_DRM_CONNECTOR_HELPER_FUNCS_MODE_VALID_HAS_CONST_MODE_ARG" "" "types"
48574857
;;
48584858

4859+
memory_device_coherent_present)
4860+
#
4861+
# Determine if MEMORY_DEVICE_COHERENT support is present or not
4862+
#
4863+
# Added by commit f25cbb7a95a2 ("mm: add zone device coherent type
4864+
# memory support") in v6.0.
4865+
#
4866+
CODE="
4867+
#include <linux/mm.h>
4868+
int memory_device_coherent = MEMORY_DEVICE_COHERENT;
4869+
"
4870+
4871+
compile_check_conftest "$CODE" "NV_MEMORY_DEVICE_COHERENT_PRESENT" "" "types"
4872+
;;
4873+
4874+
48594875
# When adding a new conftest entry, please use the correct format for
48604876
# specifying the relevant upstream Linux kernel commit. Please
48614877
# avoid specifying -rc kernels, and only use SHAs that actually exist

kernel-open/nvidia-drm/nvidia-drm-connector.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,14 @@ __nv_drm_connector_atomic_check(struct drm_connector *connector,
445445
req_config->modeSetConfig.colorimetry =
446446
NVKMS_OUTPUT_COLORIMETRY_DEFAULT;
447447
break;
448+
case DRM_MODE_COLORIMETRY_BT601_YCC:
449+
req_config->modeSetConfig.colorimetry =
450+
NVKMS_OUTPUT_COLORIMETRY_BT601;
451+
break;
452+
case DRM_MODE_COLORIMETRY_BT709_YCC:
453+
req_config->modeSetConfig.colorimetry =
454+
NVKMS_OUTPUT_COLORIMETRY_BT709;
455+
break;
448456
case DRM_MODE_COLORIMETRY_BT2020_RGB:
449457
case DRM_MODE_COLORIMETRY_BT2020_YCC:
450458
// Ignore RGB/YCC

kernel-open/nvidia-drm/nvidia-drm-drv.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,16 @@ static int nv_drm_dev_load(struct drm_device *dev)
691691
pDevice = nvKms->allocateDevice(&allocateDeviceParams);
692692

693693
if (pDevice == NULL) {
694-
NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to allocate NvKmsKapiDevice");
694+
if (nv_dev->gpu_info.needs_numa_setup) {
695+
/*
696+
* RM init from a kernel-mode driver may fail on GPUs that require
697+
* NUMA setup. Just notify about that specifically rather than
698+
* producing a scary-looking error.
699+
*/
700+
NV_DRM_DEV_LOG_INFO(nv_dev, "NUMA was not set up yet; ignoring this device");
701+
} else {
702+
NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to allocate NvKmsKapiDevice");
703+
}
695704
return -ENODEV;
696705
}
697706

@@ -787,6 +796,7 @@ static int nv_drm_dev_load(struct drm_device *dev)
787796
}
788797
#endif
789798
nvKms->freeDevice(nv_dev->pDevice);
799+
NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to create DRM properties");
790800
return -ENODEV;
791801
}
792802

@@ -1994,7 +2004,6 @@ void nv_drm_register_drm_device(const struct NvKmsKapiGpuInfo *gpu_info)
19942004

19952005
/* Load DRM device before registering it */
19962006
if (nv_drm_dev_load(dev) != 0) {
1997-
NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to load device");
19982007
goto failed_drm_load;
19992008
}
20002009

0 commit comments

Comments
 (0)