@@ -366,6 +366,9 @@ int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
BIT(DRM_SCALING_FILTER_DEFAULT) |
BIT(DRM_SCALING_FILTER_NEAREST_NEIGHBOR));
+ if (HAS_VRR(dev_priv))
+ drm_mode_crtc_attach_vrr_enabled_property(&crtc->base);
+
intel_color_init(crtc);
intel_crtc_drrs_init(crtc);
@@ -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;
This function attaches & 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. 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_crtc.c | 3 +++ drivers/gpu/drm/i915/display/intel_vrr.c | 8 ++++++++ 2 files changed, 11 insertions(+)