[PATCH 17/21] drm/i915/display: Move vrr.guardband/pipeline_full out of !fastset block

Nautiyal, Ankit K ankit.k.nautiyal at intel.com
Sun Mar 9 16:35:48 UTC 2025


On 3/7/2025 7:56 PM, Ville Syrjälä wrote:
> On Thu, Mar 06, 2025 at 06:40:56PM +0530, Ankit Nautiyal wrote:
>> The vrr.guardband/pipeline_full depend on the vrr.vmin. Since we have
>> set vrr.vmin to adjusted_mode->crtc_vtotal, this shouldn't change on the
>> fly. With this we can move vrr.guardband/pipeline_full out from !fastset
>> block.
>>
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_display.c | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> index 322a05648f58..a642496e366c 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -5393,8 +5393,6 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>>   		PIPE_CONF_CHECK_I(vrr.vmin);
>>   		PIPE_CONF_CHECK_I(vrr.vmax);
>>   		PIPE_CONF_CHECK_I(vrr.flipline);
>> -		PIPE_CONF_CHECK_I(vrr.pipeline_full);
>> -		PIPE_CONF_CHECK_I(vrr.guardband);
>>   		PIPE_CONF_CHECK_I(vrr.vsync_start);
>>   		PIPE_CONF_CHECK_I(vrr.vsync_end);
>>   		PIPE_CONF_CHECK_LLI(cmrr.cmrr_m);
>> @@ -5402,6 +5400,9 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>>   		PIPE_CONF_CHECK_BOOL(cmrr.enable);
>>   	}
>>   
>> +	PIPE_CONF_CHECK_I(vrr.pipeline_full);
>> +	PIPE_CONF_CHECK_I(vrr.guardband);
>
> Assuming we can't reprogram the guardband safely live
> I think this would have to become
>
> if (!fastset || always_use_vrr_tg()) {
>          ...
> }
>
> which avoids breaking the LRR fastset on older platforms.
>
> Whether we can still risk the fastboot exception for the new
> platforms I don't know. I guess leave it out for now and
> ponder it further later.
>
> In the future I guess one option to resurrecting the fastsets
> would be to somehow use a more fixed size gurdband instead of
> the full vblank length, but that would need a lot of thought
> and work, so definitely not something we can just do right
> now.


Yes I agree.

Will have the guardband under the new check.

Do we need to let pipeline_full as it is in !fastset since 
always_use_vrr_tg() is anyways false for older platforms? Or we keep it 
along with guardband?


Regards,

Ankit


>
>> +
>>   #undef PIPE_CONF_CHECK_X
>>   #undef PIPE_CONF_CHECK_I
>>   #undef PIPE_CONF_CHECK_LLI
>> -- 
>> 2.45.2


More information about the Intel-gfx mailing list