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@xxxxxxxxx>
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@xxxxxxxxx>
Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx>
Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
---
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);
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx