diff mbox series

[04/35] drm/i915/dp: Compute as_sdp.vtotal based on vrr timings

Message ID 20250124150020.2271747-5-ankit.k.nautiyal@intel.com (mailing list archive)
State New
Headers show
Series Use VRR timing generator for fixed refresh rate modes | expand

Commit Message

Nautiyal, Ankit K Jan. 24, 2025, 2:59 p.m. UTC
From: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>

Compute as_sdp.vtotal based on minimum vtotal calculated
during vrr computation.

--v2:
 - make a separate patch and update to vmin only [Ankit].

--v3:
 - Update vtotal to vmin for cmrr case as well [Ankit].

Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Ville Syrjala Jan. 24, 2025, 8:41 p.m. UTC | #1
On Fri, Jan 24, 2025 at 08:29:49PM +0530, Ankit Nautiyal wrote:
> From: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
> 
> Compute as_sdp.vtotal based on minimum vtotal calculated
> during vrr computation.
> 
> --v2:
>  - make a separate patch and update to vmin only [Ankit].
> 
> --v3:
>  - Update vtotal to vmin for cmrr case as well [Ankit].
> 
> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 591e4fa20c16..ddfc79b1ee10 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2834,15 +2834,14 @@ static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp,
>  	as_sdp->sdp_type = DP_SDP_ADAPTIVE_SYNC;
>  	as_sdp->length = 0x9;
>  	as_sdp->duration_incr_ms = 0;
> +	as_sdp->vtotal = crtc_state->vrr.vmin;

Should probably be intel_vrr_vmin_vtotal().

>  
>  	if (crtc_state->cmrr.enable) {
>  		as_sdp->mode = DP_AS_SDP_FAVT_TRR_REACHED;
> -		as_sdp->vtotal = adjusted_mode->vtotal;
>  		as_sdp->target_rr = drm_mode_vrefresh(adjusted_mode);
>  		as_sdp->target_rr_divider = true;
>  	} else {
>  		as_sdp->mode = DP_AS_SDP_AVT_DYNAMIC_VTOTAL;
> -		as_sdp->vtotal = adjusted_mode->vtotal;
>  		as_sdp->target_rr = 0;
>  	}
>  }
> -- 
> 2.45.2
Nautiyal, Ankit K Jan. 30, 2025, 10:52 a.m. UTC | #2
On 1/25/2025 2:11 AM, Ville Syrjälä wrote:
> On Fri, Jan 24, 2025 at 08:29:49PM +0530, Ankit Nautiyal wrote:
>> From: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
>>
>> Compute as_sdp.vtotal based on minimum vtotal calculated
>> during vrr computation.
>>
>> --v2:
>>   - make a separate patch and update to vmin only [Ankit].
>>
>> --v3:
>>   - Update vtotal to vmin for cmrr case as well [Ankit].
>>
>> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
>> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_dp.c | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index 591e4fa20c16..ddfc79b1ee10 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -2834,15 +2834,14 @@ static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp,
>>   	as_sdp->sdp_type = DP_SDP_ADAPTIVE_SYNC;
>>   	as_sdp->length = 0x9;
>>   	as_sdp->duration_incr_ms = 0;
>> +	as_sdp->vtotal = crtc_state->vrr.vmin;
> Should probably be intel_vrr_vmin_vtotal().

Right. This is changed as suggested in the next version of the original 
series:

https://patchwork.freedesktop.org/series/137035/

Regards,

Ankit

>
>>   
>>   	if (crtc_state->cmrr.enable) {
>>   		as_sdp->mode = DP_AS_SDP_FAVT_TRR_REACHED;
>> -		as_sdp->vtotal = adjusted_mode->vtotal;
>>   		as_sdp->target_rr = drm_mode_vrefresh(adjusted_mode);
>>   		as_sdp->target_rr_divider = true;
>>   	} else {
>>   		as_sdp->mode = DP_AS_SDP_AVT_DYNAMIC_VTOTAL;
>> -		as_sdp->vtotal = adjusted_mode->vtotal;
>>   		as_sdp->target_rr = 0;
>>   	}
>>   }
>> -- 
>> 2.45.2
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 591e4fa20c16..ddfc79b1ee10 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2834,15 +2834,14 @@  static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp,
 	as_sdp->sdp_type = DP_SDP_ADAPTIVE_SYNC;
 	as_sdp->length = 0x9;
 	as_sdp->duration_incr_ms = 0;
+	as_sdp->vtotal = crtc_state->vrr.vmin;
 
 	if (crtc_state->cmrr.enable) {
 		as_sdp->mode = DP_AS_SDP_FAVT_TRR_REACHED;
-		as_sdp->vtotal = adjusted_mode->vtotal;
 		as_sdp->target_rr = drm_mode_vrefresh(adjusted_mode);
 		as_sdp->target_rr_divider = true;
 	} else {
 		as_sdp->mode = DP_AS_SDP_AVT_DYNAMIC_VTOTAL;
-		as_sdp->vtotal = adjusted_mode->vtotal;
 		as_sdp->target_rr = 0;
 	}
 }