[PATCH 14/20] drm/i915/vrr: Refactor condition for computing vmax and LRR

Nautiyal, Ankit K ankit.k.nautiyal at intel.com
Thu Feb 27 10:39:28 UTC 2025


On 2/26/2025 7:31 PM, Ville Syrjälä wrote:
> On Mon, Feb 24, 2025 at 11:47:11AM +0530, Ankit Nautiyal wrote:
>> LRR and Vmax can be computed only if VRR is supported and vrr.in_range
>> is set. Currently we proceed with vrr timings only for VRR supporting
>> panels and return otherwise. For using VRR TG with fix timings, need to
>> continue even for panels that do not support VRR.
>>
>> To achieve this, refactor the condition for computing vmax and
>> update_lrr so that we can continue for fixed timings for panels that do
>> not support VRR.
>>
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_vrr.c | 12 ++++++------
>>   1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
>> index 30fcd1e66a12..024c3014670a 100644
>> --- a/drivers/gpu/drm/i915/display/intel_vrr.c
>> +++ b/drivers/gpu/drm/i915/display/intel_vrr.c
>> @@ -343,21 +343,21 @@ intel_vrr_compute_config(struct intel_crtc_state *crtc_state,
>>   	struct intel_dp *intel_dp = intel_attached_dp(connector);
>>   	bool is_edp = intel_dp_is_edp(intel_dp);
>>   	struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode;
>> -	int vmin, vmax;
>> +	int vmin = 0, vmax = 0;
>>   
>>   	if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE)
>>   		return;
>>   
>>   	crtc_state->vrr.in_range =
>>   		intel_vrr_is_in_range(connector, drm_mode_vrefresh(adjusted_mode));
>> -	if (!crtc_state->vrr.in_range)
>> -		return;
>>   
>> -	if (HAS_LRR(display))
>> -		crtc_state->update_lrr = true;
>> +	if (crtc_state->vrr.in_range) {
>> +		if (HAS_LRR(display))
>> +			crtc_state->update_lrr = true;
>> +		vmax = intel_vrr_compute_vmax(connector, adjusted_mode);
> } else {
> 	vmax = vmin;
> }
>
> might be a bit more clear way do this?

Yes this seems more intuitive instead of letting vmax as unset.

Regards,

Ankit

>
>>   
>>   	vmin = intel_vrr_compute_vmin(crtc_state);
>> -	vmax = intel_vrr_compute_vmax(connector, adjusted_mode);
>>   
>>   	if (vmin >= vmax)
>>   		return;
>> -- 
>> 2.45.2


More information about the Intel-gfx mailing list