This series will add a support to set the vrr_enabled property for crtc based on the platform support and the request from userspace. And userspace can also query to get the status of "vrr_enabled".
Test-with: 20220422075223.2792586-2-bhanuprakash.modem@intel.com
Bhanuprakash Modem (2): drm/vrr: Attach vrr_enabled property to the drm crtc drm/i915/vrr: Set drm crtc vrr_enabled property
drivers/gpu/drm/drm_crtc.c | 26 ++++++++++++++++++++++++ drivers/gpu/drm/drm_mode_config.c | 2 +- drivers/gpu/drm/i915/display/intel_vrr.c | 8 ++++++++ include/drm/drm_crtc.h | 3 +++ 4 files changed, 38 insertions(+), 1 deletion(-)
-- 2.35.1
Modern display hardware is capable of supporting variable refresh rates. This patch introduces helpers to attach and set "vrr_enabled" property on the crtc to allow userspace to query VRR enabled status on that crtc.
Atomic drivers should attach this property to crtcs those are capable of driving variable refresh rates using drm_mode_crtc_attach_vrr_enabled_property().
The value should be updated based on driver and hardware capability by using drm_mode_crtc_set_vrr_enabled_property().
V2: Use property flag as atomic V3: Drop helper to attach vrr_enabled prop, since it is already attached (Manasi)
Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Nicholas Kazlauskas nicholas.kazlauskas@amd.com Cc: Manasi Navare manasi.d.navare@intel.com Cc: Harry Wentland harry.wentland@amd.com Signed-off-by: Bhanuprakash Modem bhanuprakash.modem@intel.com --- drivers/gpu/drm/drm_crtc.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/drm_mode_config.c | 2 +- include/drm/drm_crtc.h | 3 +++ 3 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 26a77a735905..8bb8b4bf4199 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -239,6 +239,9 @@ struct dma_fence *drm_crtc_create_fence(struct drm_crtc *crtc) * Driver's default scaling filter * Nearest Neighbor: * Nearest Neighbor scaling filter + * VRR_ENABLED: + * Atomic property for setting the VRR state of the CRTC. + * To enable the VRR on CRTC, user-space must set this property to 1. */
__printf(6, 0) @@ -883,3 +886,26 @@ int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc, return 0; } EXPORT_SYMBOL(drm_crtc_create_scaling_filter_property); + +/** + * drm_mode_crtc_set_vrr_enabled_property - sets the vrr enabled property for + * a crtc. + * @crtc: drm CRTC + * @vrr_enabled: True to enable the VRR on CRTC + * + * Should be used by atomic drivers to update the VRR enabled status on a CRTC + */ +void drm_mode_crtc_set_vrr_enabled_property(struct drm_crtc *crtc, + bool vrr_enabled) +{ + struct drm_device *dev = crtc->dev; + struct drm_mode_config *config = &dev->mode_config; + + if (!config->prop_vrr_enabled) + return; + + drm_object_property_set_value(&crtc->base, + config->prop_vrr_enabled, + vrr_enabled); +} +EXPORT_SYMBOL(drm_mode_crtc_set_vrr_enabled_property); diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c index 37b4b9f0e468..b7cde73d5586 100644 --- a/drivers/gpu/drm/drm_mode_config.c +++ b/drivers/gpu/drm/drm_mode_config.c @@ -323,7 +323,7 @@ static int drm_mode_create_standard_properties(struct drm_device *dev) return -ENOMEM; dev->mode_config.prop_mode_id = prop;
- prop = drm_property_create_bool(dev, 0, + prop = drm_property_create_bool(dev, DRM_MODE_PROP_ATOMIC, "VRR_ENABLED"); if (!prop) return -ENOMEM; diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index a70baea0636c..906787398f40 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -1333,4 +1333,7 @@ static inline struct drm_crtc *drm_crtc_find(struct drm_device *dev, int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc, unsigned int supported_filters);
+void drm_mode_crtc_set_vrr_enabled_property(struct drm_crtc *crtc, + bool vrr_enabled); + #endif /* __DRM_CRTC_H__ */
On Tue, May 17, 2022 at 12:56:35PM +0530, Bhanuprakash Modem wrote:
Modern display hardware is capable of supporting variable refresh rates. This patch introduces helpers to attach and set "vrr_enabled" property on the crtc to allow userspace to query VRR enabled status on that crtc.
Atomic drivers should attach this property to crtcs those are capable of driving variable refresh rates using drm_mode_crtc_attach_vrr_enabled_property().
We are not attaching the prop anymore, please remove this from the commit message.
The value should be updated based on driver and hardware capability by using drm_mode_crtc_set_vrr_enabled_property().
V2: Use property flag as atomic V3: Drop helper to attach vrr_enabled prop, since it is already attached (Manasi)
Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Nicholas Kazlauskas nicholas.kazlauskas@amd.com Cc: Manasi Navare manasi.d.navare@intel.com Cc: Harry Wentland harry.wentland@amd.com Signed-off-by: Bhanuprakash Modem bhanuprakash.modem@intel.com
drivers/gpu/drm/drm_crtc.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/drm_mode_config.c | 2 +- include/drm/drm_crtc.h | 3 +++ 3 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 26a77a735905..8bb8b4bf4199 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -239,6 +239,9 @@ struct dma_fence *drm_crtc_create_fence(struct drm_crtc *crtc)
Driver's default scaling filter
- Nearest Neighbor:
Nearest Neighbor scaling filter
- VRR_ENABLED:
- Atomic property for setting the VRR state of the CRTC.
- To enable the VRR on CRTC, user-space must set this property to 1.
This prop was primarily a userspace Write only and driver read only property which would be used only by the userspace to request VRR on that CRTC,
Are we now modifying this to be used as a bidirectional property to also indicate the status of VRR on that CRTC which will be updated by the driver?
We need to add this accordingly and update the DRM documentation and also get acks from other vendors since AMD and other folks mght be using this as a write only prop.
Manasi
*/
__printf(6, 0) @@ -883,3 +886,26 @@ int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc, return 0; } EXPORT_SYMBOL(drm_crtc_create_scaling_filter_property);
+/**
- drm_mode_crtc_set_vrr_enabled_property - sets the vrr enabled property for
- a crtc.
- @crtc: drm CRTC
- @vrr_enabled: True to enable the VRR on CRTC
- Should be used by atomic drivers to update the VRR enabled status on a CRTC
- */
+void drm_mode_crtc_set_vrr_enabled_property(struct drm_crtc *crtc,
bool vrr_enabled)
+{
- struct drm_device *dev = crtc->dev;
- struct drm_mode_config *config = &dev->mode_config;
- if (!config->prop_vrr_enabled)
return;
- drm_object_property_set_value(&crtc->base,
config->prop_vrr_enabled,
vrr_enabled);
+} +EXPORT_SYMBOL(drm_mode_crtc_set_vrr_enabled_property); diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c index 37b4b9f0e468..b7cde73d5586 100644 --- a/drivers/gpu/drm/drm_mode_config.c +++ b/drivers/gpu/drm/drm_mode_config.c @@ -323,7 +323,7 @@ static int drm_mode_create_standard_properties(struct drm_device *dev) return -ENOMEM; dev->mode_config.prop_mode_id = prop;
- prop = drm_property_create_bool(dev, 0,
- prop = drm_property_create_bool(dev, DRM_MODE_PROP_ATOMIC, "VRR_ENABLED"); if (!prop) return -ENOMEM;
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index a70baea0636c..906787398f40 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -1333,4 +1333,7 @@ static inline struct drm_crtc *drm_crtc_find(struct drm_device *dev, int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc, unsigned int supported_filters);
+void drm_mode_crtc_set_vrr_enabled_property(struct drm_crtc *crtc,
bool vrr_enabled);
#endif /* __DRM_CRTC_H__ */
2.35.1
On Tue-31-05-2022 10:42 pm, Navare, Manasi wrote:
On Tue, May 17, 2022 at 12:56:35PM +0530, Bhanuprakash Modem wrote:
Modern display hardware is capable of supporting variable refresh rates. This patch introduces helpers to attach and set "vrr_enabled" property on the crtc to allow userspace to query VRR enabled status on that crtc.
Atomic drivers should attach this property to crtcs those are capable of driving variable refresh rates using drm_mode_crtc_attach_vrr_enabled_property().
We are not attaching the prop anymore, please remove this from the commit message.
Thanks for the reply,
I'll update this in next rev.
The value should be updated based on driver and hardware capability by using drm_mode_crtc_set_vrr_enabled_property().
V2: Use property flag as atomic V3: Drop helper to attach vrr_enabled prop, since it is already attached (Manasi)
Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Nicholas Kazlauskas nicholas.kazlauskas@amd.com Cc: Manasi Navare manasi.d.navare@intel.com Cc: Harry Wentland harry.wentland@amd.com Signed-off-by: Bhanuprakash Modem bhanuprakash.modem@intel.com
drivers/gpu/drm/drm_crtc.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/drm_mode_config.c | 2 +- include/drm/drm_crtc.h | 3 +++ 3 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 26a77a735905..8bb8b4bf4199 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -239,6 +239,9 @@ struct dma_fence *drm_crtc_create_fence(struct drm_crtc *crtc)
Driver's default scaling filter
- Nearest Neighbor:
Nearest Neighbor scaling filter
- VRR_ENABLED:
- Atomic property for setting the VRR state of the CRTC.
- To enable the VRR on CRTC, user-space must set this property to 1.
This prop was primarily a userspace Write only and driver read only property which would be used only by the userspace to request VRR on that CRTC,
Are we now modifying this to be used as a bidirectional property to also indicate the status of VRR on that CRTC which will be updated by the driver?
Precisely YES.
We need to add this accordingly and update the DRM documentation and also get acks from other vendors since AMD and other folks mght be using this as a write only prop.
Sure, I'll update the documentation.
@Harry/@Nicholas, can you please comment on this approach?
I would like to modify "vrr_enabled" prop to be used as a bidirectional property. So, that userspace can request to enable the VRR and also to get the status of VRR on that CRTC.
IGT to validate the same: https://patchwork.freedesktop.org/series/100539/
Example: * If userspace has accidentally set the "vrr_enabled" prop to true without checking connector's "vrr_capable" prop, driver should reset this "vrr_enabled" property to false.
* Userspace can read "vrr_enabled" prop anytime to get the current status of VRR on that crtc.
- Bhanu
Manasi
*/
__printf(6, 0) @@ -883,3 +886,26 @@ int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc, return 0; } EXPORT_SYMBOL(drm_crtc_create_scaling_filter_property);
+/**
- drm_mode_crtc_set_vrr_enabled_property - sets the vrr enabled property for
- a crtc.
- @crtc: drm CRTC
- @vrr_enabled: True to enable the VRR on CRTC
- Should be used by atomic drivers to update the VRR enabled status on a CRTC
- */
+void drm_mode_crtc_set_vrr_enabled_property(struct drm_crtc *crtc,
bool vrr_enabled)
+{
- struct drm_device *dev = crtc->dev;
- struct drm_mode_config *config = &dev->mode_config;
- if (!config->prop_vrr_enabled)
return;
- drm_object_property_set_value(&crtc->base,
config->prop_vrr_enabled,
vrr_enabled);
+} +EXPORT_SYMBOL(drm_mode_crtc_set_vrr_enabled_property); diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c index 37b4b9f0e468..b7cde73d5586 100644 --- a/drivers/gpu/drm/drm_mode_config.c +++ b/drivers/gpu/drm/drm_mode_config.c @@ -323,7 +323,7 @@ static int drm_mode_create_standard_properties(struct drm_device *dev) return -ENOMEM; dev->mode_config.prop_mode_id = prop;
- prop = drm_property_create_bool(dev, 0,
- prop = drm_property_create_bool(dev, DRM_MODE_PROP_ATOMIC, "VRR_ENABLED"); if (!prop) return -ENOMEM;
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index a70baea0636c..906787398f40 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -1333,4 +1333,7 @@ static inline struct drm_crtc *drm_crtc_find(struct drm_device *dev, int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc, unsigned int supported_filters);
+void drm_mode_crtc_set_vrr_enabled_property(struct drm_crtc *crtc,
bool vrr_enabled);
- #endif /* __DRM_CRTC_H__ */
-- 2.35.1
This function sets the vrr_enabled property for crtc based on the platform support and the request from userspace.
V2: Check for platform support before updating the prop. V3: Don't attach vrr_enabled prop, as it is alreay attached.
Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Manasi Navare manasi.d.navare@intel.com Signed-off-by: Bhanuprakash Modem bhanuprakash.modem@intel.com --- drivers/gpu/drm/i915/display/intel_vrr.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c index 396f2f994fa0..7263b35550de 100644 --- a/drivers/gpu/drm/i915/display/intel_vrr.c +++ b/drivers/gpu/drm/i915/display/intel_vrr.c @@ -160,6 +160,10 @@ void intel_vrr_enable(struct intel_encoder *encoder, enum transcoder cpu_transcoder = crtc_state->cpu_transcoder; u32 trans_vrr_ctl;
+ if (HAS_VRR(dev_priv)) + drm_mode_crtc_set_vrr_enabled_property(crtc_state->uapi.crtc, + crtc_state->vrr.enable); + if (!crtc_state->vrr.enable) return;
@@ -211,6 +215,10 @@ void intel_vrr_disable(const struct intel_crtc_state *old_crtc_state) struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
+ if (HAS_VRR(dev_priv)) + drm_mode_crtc_set_vrr_enabled_property(old_crtc_state->uapi.crtc, + false); + if (!old_crtc_state->vrr.enable) return;
On Tue, May 17, 2022 at 12:56:36PM +0530, Bhanuprakash Modem wrote:
This function sets the vrr_enabled property for crtc based on the platform support and the request from userspace.
V2: Check for platform support before updating the prop. V3: Don't attach vrr_enabled prop, as it is alreay attached.
Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Manasi Navare manasi.d.navare@intel.com Signed-off-by: Bhanuprakash Modem bhanuprakash.modem@intel.com
drivers/gpu/drm/i915/display/intel_vrr.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c index 396f2f994fa0..7263b35550de 100644 --- a/drivers/gpu/drm/i915/display/intel_vrr.c +++ b/drivers/gpu/drm/i915/display/intel_vrr.c @@ -160,6 +160,10 @@ void intel_vrr_enable(struct intel_encoder *encoder, enum transcoder cpu_transcoder = crtc_state->cpu_transcoder; u32 trans_vrr_ctl;
- if (HAS_VRR(dev_priv))
drm_mode_crtc_set_vrr_enabled_property(crtc_state->uapi.crtc,
crtc_state->vrr.enable);
But here if userspace has accidently set the CRTC vrr enabled prop to true without cheking VRR capabile prop, this will be true and here the driver will still not reset it. If that is the purpose of adding this then we should infact set this to false if !HAS_VRR
Manasi
- if (!crtc_state->vrr.enable) return;
@@ -211,6 +215,10 @@ void intel_vrr_disable(const struct intel_crtc_state *old_crtc_state) struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
- if (HAS_VRR(dev_priv))
drm_mode_crtc_set_vrr_enabled_property(old_crtc_state->uapi.crtc,
false);
- if (!old_crtc_state->vrr.enable) return;
-- 2.35.1
On Tue-31-05-2022 10:44 pm, Navare, Manasi wrote:
On Tue, May 17, 2022 at 12:56:36PM +0530, Bhanuprakash Modem wrote:
This function sets the vrr_enabled property for crtc based on the platform support and the request from userspace.
V2: Check for platform support before updating the prop. V3: Don't attach vrr_enabled prop, as it is alreay attached.
Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Manasi Navare manasi.d.navare@intel.com Signed-off-by: Bhanuprakash Modem bhanuprakash.modem@intel.com
drivers/gpu/drm/i915/display/intel_vrr.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c index 396f2f994fa0..7263b35550de 100644 --- a/drivers/gpu/drm/i915/display/intel_vrr.c +++ b/drivers/gpu/drm/i915/display/intel_vrr.c @@ -160,6 +160,10 @@ void intel_vrr_enable(struct intel_encoder *encoder, enum transcoder cpu_transcoder = crtc_state->cpu_transcoder; u32 trans_vrr_ctl;
- if (HAS_VRR(dev_priv))
drm_mode_crtc_set_vrr_enabled_property(crtc_state->uapi.crtc,
crtc_state->vrr.enable);
But here if userspace has accidently set the CRTC vrr enabled prop to true without cheking VRR capabile prop, this will be true and here the driver will still not reset it. If that is the purpose of adding this then we should infact set this to false if !HAS_VRR
Yes, my intention is same as you mentioned. But this looks correct to me, because:
1) HAS_VRR() is a check to make sure that the driver supports VRR. If there is no VRR support on the driver, then there is no point to set/clear this prop.
2) crtc_state->vrr.enable is true If vrr_capable is set to true, else false.
So we can interpret above check as below
enable_VRR() { IF Driver supports VRR: IF VRR_CAPABLE: Set VRR_ENABLED; ELSE: Clear VRR_ENABLED; ELSE: Do nothing; }
- Bhanu
Manasi
- if (!crtc_state->vrr.enable) return;
@@ -211,6 +215,10 @@ void intel_vrr_disable(const struct intel_crtc_state *old_crtc_state) struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
- if (HAS_VRR(dev_priv))
drm_mode_crtc_set_vrr_enabled_property(old_crtc_state->uapi.crtc,
false);
- if (!old_crtc_state->vrr.enable) return;
-- 2.35.1
On Tue, May 17, 2022 at 12:56:34PM +0530, Bhanuprakash Modem wrote:
This series will add a support to set the vrr_enabled property for crtc based on the platform support and the request from userspace. And userspace can also query to get the status of "vrr_enabled".
Test-with: 20220422075223.2792586-2-bhanuprakash.modem@intel.com
Bhanuprakash Modem (2): drm/vrr: Attach vrr_enabled property to the drm crtc drm/i915/vrr: Set drm crtc vrr_enabled property
I'm rather confused by this patch set:
- This seems to move the property from connector to crtc without any justification. For uapi that we want to have standardized (anything around kms really) that's no good, unless there's really a mandatory semantic reason pls stick to existing uapi.
- If the driver interface doesn't fit (maybe the helper should be on the crtc and adjust the property for all connector) pls roll that change out to all drivers.
- This is uapi, so needs igt tests and userspace. For igts we should make sure they're generic so that they apply across all drivers which already support this property, and not just create new intel-only testcases.
- Finally the property is set up, but not wired through. Or at least I'm not seeing how this can even work.
So no idea what exactly you're aiming for here and what kind of comments you want, but this doesn't look like it's on the right path at all.
Cheers, Daniel
drivers/gpu/drm/drm_crtc.c | 26 ++++++++++++++++++++++++ drivers/gpu/drm/drm_mode_config.c | 2 +- drivers/gpu/drm/i915/display/intel_vrr.c | 8 ++++++++ include/drm/drm_crtc.h | 3 +++ 4 files changed, 38 insertions(+), 1 deletion(-)
-- 2.35.1
On Tue-31-05-2022 07:26 pm, Daniel Vetter wrote:
On Tue, May 17, 2022 at 12:56:34PM +0530, Bhanuprakash Modem wrote:
This series will add a support to set the vrr_enabled property for crtc based on the platform support and the request from userspace. And userspace can also query to get the status of "vrr_enabled".
Test-with: 20220422075223.2792586-2-bhanuprakash.modem@intel.com
Bhanuprakash Modem (2): drm/vrr: Attach vrr_enabled property to the drm crtc drm/i915/vrr: Set drm crtc vrr_enabled property
I'm rather confused by this patch set >
- This seems to move the property from connector to crtc without any justification. For uapi that we want to have standardized (anything around kms really) that's no good, unless there's really a mandatory semantic reason pls stick to existing uapi.
Thanks for the reply.
No, we are not moving any property from connector to crtc. "vrr_capable" belongs to connector & "vrr_enabled" belongs to crtc.
I am trying to manipulate this "vrr_enabled" property.
If the driver interface doesn't fit (maybe the helper should be on the crtc and adjust the property for all connector) pls roll that change out to all drivers.
This is uapi, so needs igt tests and userspace. For igts we should make sure they're generic so that they apply across all drivers which already support this property, and not just create new intel-only testcases.
Yeah, IGT patches are already in ML: https://patchwork.freedesktop.org/series/100539/
- Finally the property is set up, but not wired through. Or at least I'm not seeing how this can even work.
So no idea what exactly you're aiming for here and what kind of comments you want, but this doesn't look like it's on the right path at all.
This "vrr_enabled" prop was userspace write only & driver read only prop which would be used by the userspace to request to enable the VRR on that CRTC.
Now I would like to modify this prop to be used as a bidirectional property. So, that userspace can request to enable the VRR and also to get the status of VRR on that CRTC.
Manasi is already replied to the Patch [1/2] in this series.
- Bhanu
Cheers, Daniel
drivers/gpu/drm/drm_crtc.c | 26 ++++++++++++++++++++++++ drivers/gpu/drm/drm_mode_config.c | 2 +- drivers/gpu/drm/i915/display/intel_vrr.c | 8 ++++++++ include/drm/drm_crtc.h | 3 +++ 4 files changed, 38 insertions(+), 1 deletion(-)
-- 2.35.1
dri-devel@lists.freedesktop.org