Skip to content

Commit e34c635

Browse files
committed
drm/i915/display: Aux Enable and Display powerwell timeouts
From XE3P we can now poll if the AUX power is up or down define the timeouts for each respectively. Bspec: 68967 Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com> Link: https://patch.msgid.link/20251101032513.4171255-25-suraj.kandpal@intel.com
1 parent 9dcf183 commit e34c635

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

drivers/gpu/drm/i915/display/intel_display_power_well.c

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1864,18 +1864,36 @@ static void xelpdp_aux_power_well_enable(struct intel_display *display,
18641864
* expected to just wait a fixed 600us after raising the request
18651865
* bit.
18661866
*/
1867-
usleep_range(600, 1200);
1867+
if (DISPLAY_VER(display) >= 35) {
1868+
if (intel_de_wait_for_set(display, XELPDP_DP_AUX_CH_CTL(display, aux_ch),
1869+
XELPDP_DP_AUX_CH_CTL_POWER_STATUS, 2))
1870+
drm_warn(display->drm,
1871+
"Timeout waiting for PHY %c AUX channel power to be up\n",
1872+
phy_name(phy));
1873+
} else {
1874+
usleep_range(600, 1200);
1875+
}
18681876
}
18691877

18701878
static void xelpdp_aux_power_well_disable(struct intel_display *display,
18711879
struct i915_power_well *power_well)
18721880
{
18731881
enum aux_ch aux_ch = i915_power_well_instance(power_well)->xelpdp.aux_ch;
1882+
enum phy phy = icl_aux_pw_to_phy(display, power_well);
18741883

18751884
intel_de_rmw(display, XELPDP_DP_AUX_CH_CTL(display, aux_ch),
18761885
XELPDP_DP_AUX_CH_CTL_POWER_REQUEST,
18771886
0);
1878-
usleep_range(10, 30);
1887+
1888+
if (DISPLAY_VER(display) >= 35) {
1889+
if (intel_de_wait_for_clear(display, XELPDP_DP_AUX_CH_CTL(display, aux_ch),
1890+
XELPDP_DP_AUX_CH_CTL_POWER_STATUS, 1))
1891+
drm_warn(display->drm,
1892+
"Timeout waiting for PHY %c AUX channel to powerdown\n",
1893+
phy_name(phy));
1894+
} else {
1895+
usleep_range(10, 30);
1896+
}
18791897
}
18801898

18811899
static bool xelpdp_aux_power_well_enabled(struct intel_display *display,

0 commit comments

Comments
 (0)