summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2020-06-26 04:47:16 +0000
committerjsg <jsg@openbsd.org>2020-06-26 04:47:16 +0000
commitbd045b014d9de347aa62a36ae017ff87d8dff179 (patch)
treec3e13a47fec2fd7688b3eebf9e8661b0af5992e5
parentExpand path to ~/.ssh/rc rather than relying on it being relative to the (diff)
downloadwireguard-openbsd-bd045b014d9de347aa62a36ae017ff87d8dff179.tar.xz
wireguard-openbsd-bd045b014d9de347aa62a36ae017ff87d8dff179.zip
drm/i915: Fix AUX power domain toggling across TypeC mode resets
From Imre Deak fa48b63218d09c080dfcdbc04efd282ba5849d98 in linux 5.7.y/5.7.6 d96536f0fe699729a0974eb5b65eb0d87cc747e1 in mainline linux
-rw-r--r--sys/dev/pci/drm/i915/display/intel_dp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pci/drm/i915/display/intel_dp.c b/sys/dev/pci/drm/i915/display/intel_dp.c
index 22d2b7e923c..fe1e8973ad4 100644
--- a/sys/dev/pci/drm/i915/display/intel_dp.c
+++ b/sys/dev/pci/drm/i915/display/intel_dp.c
@@ -1343,8 +1343,7 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp,
bool is_tc_port = intel_phy_is_tc(i915, phy);
i915_reg_t ch_ctl, ch_data[5];
u32 aux_clock_divider;
- enum intel_display_power_domain aux_domain =
- intel_aux_power_domain(intel_dig_port);
+ enum intel_display_power_domain aux_domain;
intel_wakeref_t aux_wakeref;
intel_wakeref_t pps_wakeref;
int i, ret, recv_bytes;
@@ -1359,6 +1358,8 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp,
if (is_tc_port)
intel_tc_port_lock(intel_dig_port);
+ aux_domain = intel_aux_power_domain(intel_dig_port);
+
aux_wakeref = intel_display_power_get(i915, aux_domain);
pps_wakeref = pps_lock(intel_dp);