Skip to content

Commit

Permalink
add 6.12: drm_outpull_poll changed check patch for 560
Browse files Browse the repository at this point in the history
  • Loading branch information
andersrh committed Nov 20, 2024
1 parent a2eaf19 commit 192d6d9
Showing 1 changed file with 86 additions and 0 deletions.
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/conftest.sh | 23 ++++++++++++++++++++
kernel/nvidia-drm/nvidia-drm-drv.c | 4 ++++
kernel/nvidia-drm/nvidia-drm-sources.mk | 1 +
3 files changed, 28 insertions(+)

diff --git a/kernel/conftest.sh b/kernel/conftest.sh
index 4a239e63..4d6fff64 100755
--- a/kernel/conftest.sh
+++ b/kernel/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/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c
index 50028c26..034dda66 100644
--- a/kernel/nvidia-drm/nvidia-drm-drv.c
+++ b/kernel/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/nvidia-drm/nvidia-drm-sources.mk b/kernel/nvidia-drm/nvidia-drm-sources.mk
index 247096b7..f5964a57 100644
--- a/kernel/nvidia-drm/nvidia-drm-sources.mk
+++ b/kernel/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

0 comments on commit 192d6d9

Please sign in to comment.