Commit 4a4064ad authored by Imre Deak's avatar Imre Deak Committed by Jani Nikula

drm/i915/tgl: Make sure TC-cold is blocked before enabling TC AUX power wells

The dependency between power wells is determined by the ordering of the
power well list: when enabling the power wells for a domain, this
happens walking the power well list forward, while disabling them
happens in the reverse direction. Accordingly a power well on the list
must follow any other power well it depends on.

Since the TC AUX power wells depend on TC-cold being blocked, move the
TC-cold off power well before all AUX power wells.

Fixes: 3c02934b ("drm/i915/tc/tgl: Implement TC cold sequences")
Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200720232952.16228-1-imre.deak@intel.comSigned-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit b302a2e6)
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent c43a87f5
...@@ -4146,6 +4146,12 @@ static const struct i915_power_well_desc tgl_power_wells[] = { ...@@ -4146,6 +4146,12 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
.hsw.idx = TGL_PW_CTL_IDX_DDI_TC6, .hsw.idx = TGL_PW_CTL_IDX_DDI_TC6,
}, },
}, },
{
.name = "TC cold off",
.domains = TGL_TC_COLD_OFF_POWER_DOMAINS,
.ops = &tgl_tc_cold_off_ops,
.id = DISP_PW_ID_NONE,
},
{ {
.name = "AUX A", .name = "AUX A",
.domains = TGL_AUX_A_IO_POWER_DOMAINS, .domains = TGL_AUX_A_IO_POWER_DOMAINS,
...@@ -4332,12 +4338,6 @@ static const struct i915_power_well_desc tgl_power_wells[] = { ...@@ -4332,12 +4338,6 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
.hsw.irq_pipe_mask = BIT(PIPE_D), .hsw.irq_pipe_mask = BIT(PIPE_D),
}, },
}, },
{
.name = "TC cold off",
.domains = TGL_TC_COLD_OFF_POWER_DOMAINS,
.ops = &tgl_tc_cold_off_ops,
.id = DISP_PW_ID_NONE,
},
}; };
static const struct i915_power_well_desc rkl_power_wells[] = { static const struct i915_power_well_desc rkl_power_wells[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment