mutter/0003-output-kms-Add-meta_output_kms_from_kms_connector.patch
José Expósito cf077a55b7 Backport DRM lease configuration
Backport DRM lease configuration via monitors.xml and D-Bus:

 - https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4112
 - https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4121

Resolves: RHEL-62220
2025-02-12 18:33:35 +01:00

75 lines
2.5 KiB
Diff

From 863b31cae9be5e8e0467f1a9f93e7348d41f7e88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= <jexposit@redhat.com>
Date: Tue, 29 Oct 2024 11:35:17 +0100
Subject: [PATCH 3/5] output/kms: Add meta_output_kms_from_kms_connector()
Add a function that returns a MetaOutputKms (if any) from a
MetaKmsConnector.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4112>
---
src/backends/native/meta-output-kms.c | 19 +++++++++++++++++++
src/backends/native/meta-output-kms.h | 2 ++
2 files changed, 21 insertions(+)
diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c
index 684cf0e094..27b7533a5e 100644
--- a/src/backends/native/meta-output-kms.c
+++ b/src/backends/native/meta-output-kms.c
@@ -47,6 +47,8 @@ struct _MetaOutputKms
G_DEFINE_TYPE (MetaOutputKms, meta_output_kms, META_TYPE_OUTPUT_NATIVE)
+static GQuark kms_connector_output_kms_quark;
+
MetaKmsConnector *
meta_output_kms_get_kms_connector (MetaOutputKms *output_kms)
{
@@ -90,6 +92,13 @@ meta_output_kms_can_clone (MetaOutputKms *output_kms,
return TRUE;
}
+MetaOutputKms *
+meta_output_kms_from_kms_connector (MetaKmsConnector *connector)
+{
+ return g_object_get_qdata (G_OBJECT (connector),
+ kms_connector_output_kms_quark);
+}
+
static GBytes *
meta_output_kms_read_edid (MetaOutputNative *output_native)
{
@@ -534,6 +543,16 @@ meta_output_kms_new (MetaGpuKms *gpu_kms,
meta_output_unassign_crtc (output);
}
+ if (!kms_connector_output_kms_quark)
+ {
+ kms_connector_output_kms_quark =
+ g_quark_from_static_string ("kms-connector-output-kms-quark");
+ }
+
+ g_object_set_qdata (G_OBJECT (kms_connector),
+ kms_connector_output_kms_quark,
+ output_kms);
+
return output_kms;
}
diff --git a/src/backends/native/meta-output-kms.h b/src/backends/native/meta-output-kms.h
index e0eb60eb4d..4391dc1899 100644
--- a/src/backends/native/meta-output-kms.h
+++ b/src/backends/native/meta-output-kms.h
@@ -39,6 +39,8 @@ MetaKmsConnector * meta_output_kms_get_kms_connector (MetaOutputKms *output_kms)
uint32_t meta_output_kms_get_connector_id (MetaOutputKms *output_kms);
+MetaOutputKms * meta_output_kms_from_kms_connector (MetaKmsConnector *connector);
+
MetaOutputKms * meta_output_kms_new (MetaGpuKms *gpu_kms,
MetaKmsConnector *kms_connector,
MetaOutput *old_output,
--
2.48.1