[Intel-gfx] [PATCH v2 08/25] drm/i915/tgl: use TRANSCODER_EDP_VDSC on transcoder A

Lucas De Marchi lucas.demarchi at intel.com
Tue Jul 9 16:01:11 UTC 2019


On Mon, Jul 08, 2019 at 06:07:17PM -0700, Jose Souza wrote:
>On Mon, 2019-07-08 at 16:16 -0700, Lucas De Marchi wrote:
>> From: José Roberto de Souza <jose.souza at intel.com>
>>
>> On TGL the special EDP transcoder is gone and it should be handled by
>> transcoder A.
>>
>> v2 (Lucas):
>>   - Reuse POWER_DOMAIN_TRANSCODER_EDP_VDSC (suggested by Ville)
>>   - Use crtc->dev since new_crtc_state->state may be NULL on atomic
>>     commit (suggested by Maarten)
>
>As we are reusing would be nice also rename it to something like:
>POWER_DOMAIN_TRANSCODER_VDSC_PW2
>POWER_DOMAIN_LOW_POWER_TRANSCODER_VDSC /
>POWER_DOMAIN_LP_TRANSCODER_VDSC

as it is still being used for EDP, I didn't think the rename was worth.

Lucas De Marchi

>
>>
>> Cc: Imre Deak <imre.deak at intel.com>
>> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_vdsc.c | 9 ++++++---
>>  1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c
>> b/drivers/gpu/drm/i915/display/intel_vdsc.c
>> index ffec807b8960..c27912f552f0 100644
>> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
>> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
>> @@ -459,16 +459,19 @@ int intel_dp_compute_dsc_params(struct intel_dp
>> *intel_dp,
>>  enum intel_display_power_domain
>>  intel_dsc_power_domain(const struct intel_crtc_state *crtc_state)
>>  {
>> +	struct drm_i915_private *i915 = to_i915(crtc_state->base.crtc-
>> >dev);
>>  	enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
>>
>>  	/*
>> -	 * On ICL VDSC/joining for eDP transcoder uses a separate power
>> well PW2
>> -	 * This requires POWER_DOMAIN_TRANSCODER_EDP_VDSC power domain.
>> +	 * On ICL+ VDSC/joining for eDP/A transcoder uses a separate
>> power well
>> +	 * PW2. This requires POWER_DOMAIN_TRANSCODER_EDP_VDSC power
>> domain.
>>  	 * For any other transcoder, VDSC/joining uses the power well
>> associated
>>  	 * with the pipe/transcoder in use. Hence another reference on
>> the
>>  	 * transcoder power domain will suffice.
>>  	 */
>> -	if (cpu_transcoder == TRANSCODER_EDP)
>> +	if (INTEL_GEN(i915) >= 12 && cpu_transcoder == TRANSCODER_A)
>> +		return POWER_DOMAIN_TRANSCODER_EDP_VDSC;
>> +	else if (cpu_transcoder == TRANSCODER_EDP)
>>  		return POWER_DOMAIN_TRANSCODER_EDP_VDSC;
>>  	else
>>  		return POWER_DOMAIN_TRANSCODER(cpu_transcoder);


More information about the Intel-gfx mailing list