From ada4ac49fb0394af84ad82e702000503ce949783 Mon Sep 17 00:00:00 2001 From: Dor Askayo Date: Fri, 19 Jan 2024 02:15:51 +0200 Subject: [PATCH] kms/impl-device: Add function to handle device resumption For now, this function only enables the deadline timer in case it was inhibited. This would result in an attempt to use the deadline timer again after a device is resumed. If the conditions that resulted in the timer becoming inhibited remain, it is expected to return to this state after the next frame and before being armed. Part-of: --- src/backends/native/meta-kms-impl-device.c | 10 ++++++++++ src/backends/native/meta-kms-impl-device.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/backends/native/meta-kms-impl-device.c b/src/backends/native/meta-kms-impl-device.c index 0183363f3..491fd9e62 100644 --- a/src/backends/native/meta-kms-impl-device.c +++ b/src/backends/native/meta-kms-impl-device.c @@ -1929,6 +1929,16 @@ meta_kms_impl_device_init_mode_setting (MetaKmsImplDevice *impl_device, return TRUE; } +void +meta_kms_impl_device_resume (MetaKmsImplDevice *impl_device) +{ + MetaKmsImplDevicePrivate *priv = + meta_kms_impl_device_get_instance_private (impl_device); + + if (priv->deadline_timer_state == META_DEADLINE_TIMER_STATE_INHIBITED) + priv->deadline_timer_state = META_DEADLINE_TIMER_STATE_ENABLED; +} + void meta_kms_impl_device_prepare_shutdown (MetaKmsImplDevice *impl_device) { diff --git a/src/backends/native/meta-kms-impl-device.h b/src/backends/native/meta-kms-impl-device.h index 4f59dc563..271ccbfd1 100644 --- a/src/backends/native/meta-kms-impl-device.h +++ b/src/backends/native/meta-kms-impl-device.h @@ -195,6 +195,8 @@ void meta_kms_impl_device_discard_pending_page_flips (MetaKmsImplDevice *impl_de gboolean meta_kms_impl_device_init_mode_setting (MetaKmsImplDevice *impl_device, GError **error); +void meta_kms_impl_device_resume (MetaKmsImplDevice *impl_device); + void meta_kms_impl_device_prepare_shutdown (MetaKmsImplDevice *impl_device); uint64_t meta_kms_prop_convert_value (MetaKmsProp *prop,