-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add 6.12: drm_output_poll changed check patch for 560
- Loading branch information
Showing
3 changed files
with
93 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
86 changes: 86 additions & 0 deletions
86
sources/kernel-patches/nvidia/0010-6.12-drm_output_poll-changed-check.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
From 94ad29389cd5129401adea6925f987f4529abb1c Mon Sep 17 00:00:00 2001 | ||
From: Peter Jung <[email protected]> | ||
Date: Thu, 26 Sep 2024 14:53:31 +0200 | ||
Subject: [PATCH 5/5] 6.12: drm_outpull_pill changed check | ||
|
||
--- | ||
kernel-open/conftest.sh | 23 ++++++++++++++++++++ | ||
kernel-open/nvidia-drm/nvidia-drm-drv.c | 4 ++++ | ||
kernel-open/nvidia-drm/nvidia-drm-sources.mk | 1 + | ||
3 files changed, 28 insertions(+) | ||
|
||
diff --git a/kernel-open/conftest.sh b/kernel-open/conftest.sh | ||
index 4a239e63..4d6fff64 100755 | ||
--- a/kernel-open/conftest.sh | ||
+++ b/kernel-open/conftest.sh | ||
@@ -6631,6 +6631,29 @@ compile_test() { | ||
compile_check_conftest "$CODE" "NV_DRM_FBDEV_TTM_SETUP_PRESENT" "" "functions" | ||
;; | ||
|
||
+ drm_output_poll_changed) | ||
+ # | ||
+ # Determine whether drm_mode_config_funcs.output_poll_changed | ||
+ # callback is present | ||
+ # | ||
+ # Removed by commit 446d0f4849b1 ("drm: Remove struct | ||
+ # drm_mode_config_funcs.output_poll_changed") in v6.12. Hotplug | ||
+ # event support is handled through the fbdev emulation interface | ||
+ # going forward. | ||
+ # | ||
+ CODE=" | ||
+ #if defined(NV_DRM_DRM_MODE_CONFIG_H_PRESENT) | ||
+ #include <drm/drm_mode_config.h> | ||
+ #else | ||
+ #include <drm/drm_crtc.h> | ||
+ #endif | ||
+ int conftest_drm_output_poll_changed_available(void) { | ||
+ return offsetof(struct drm_mode_config_funcs, output_poll_changed); | ||
+ }" | ||
+ | ||
+ compile_check_conftest "$CODE" "NV_DRM_OUTPUT_POLL_CHANGED_PRESENT" "" "types" | ||
+ ;; | ||
+ | ||
drm_aperture_remove_conflicting_pci_framebuffers) | ||
# | ||
# Determine whether drm_aperture_remove_conflicting_pci_framebuffers is present. | ||
diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c | ||
index 50028c26..034dda66 100644 | ||
--- a/kernel-open/nvidia-drm/nvidia-drm-drv.c | ||
+++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c | ||
@@ -126,6 +126,7 @@ static const char* nv_get_input_colorspace_name( | ||
|
||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) | ||
|
||
+#if defined(NV_DRM_OUTPUT_POLL_CHANGED_PRESENT) | ||
static void nv_drm_output_poll_changed(struct drm_device *dev) | ||
{ | ||
struct drm_connector *connector = NULL; | ||
@@ -169,6 +170,7 @@ static void nv_drm_output_poll_changed(struct drm_device *dev) | ||
nv_drm_connector_list_iter_end(&conn_iter); | ||
#endif | ||
} | ||
+#endif /* NV_DRM_OUTPUT_POLL_CHANGED_PRESENT */ | ||
|
||
static struct drm_framebuffer *nv_drm_framebuffer_create( | ||
struct drm_device *dev, | ||
@@ -206,7 +208,9 @@ static const struct drm_mode_config_funcs nv_mode_config_funcs = { | ||
.atomic_check = nv_drm_atomic_check, | ||
.atomic_commit = nv_drm_atomic_commit, | ||
|
||
+ #if defined(NV_DRM_OUTPUT_POLL_CHANGED_PRESENT) | ||
.output_poll_changed = nv_drm_output_poll_changed, | ||
+ #endif | ||
}; | ||
|
||
static void nv_drm_event_callback(const struct NvKmsKapiEvent *event) | ||
diff --git a/kernel-open/nvidia-drm/nvidia-drm-sources.mk b/kernel-open/nvidia-drm/nvidia-drm-sources.mk | ||
index 247096b7..f5964a57 100644 | ||
--- a/kernel-open/nvidia-drm/nvidia-drm-sources.mk | ||
+++ b/kernel-open/nvidia-drm/nvidia-drm-sources.mk | ||
@@ -131,3 +131,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_aperture_remove_conflicting_pci_framebuffe | ||
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_mode_create_dp_colorspace_property_has_supported_colorspaces_arg | ||
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_syncobj_features_present | ||
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_unlocked_ioctl_flag_present | ||
+NV_CONFTEST_TYPE_COMPILE_TESTS += drm_output_poll_changed | ||
-- | ||
2.46.2 |