diff options
author | Imre Deak <imre.deak@intel.com> | 2024-10-25 19:02:52 +0300 |
---|---|---|
committer | Imre Deak <imre.deak@intel.com> | 2024-10-31 17:47:24 +0200 |
commit | b1d43e6fb38fc24f8f673a465821aa58324df654 (patch) | |
tree | 4c28397cdff01f77dc2ca76006441e01cec3d47e /drivers/gpu/drm/i915/display/intel_pps.c | |
parent | 5eb2e7855910561a07d4cedf9c898624899b057b (diff) | |
download | linux-b1d43e6fb38fc24f8f673a465821aa58324df654.tar.gz linux-b1d43e6fb38fc24f8f673a465821aa58324df654.tar.bz2 linux-b1d43e6fb38fc24f8f673a465821aa58324df654.zip |
drm/i915/dp: Flush modeset commits during connector detection
Make sure that a DP connector detection doesn't happen in parallel
with an ongoing modeset on the connector. The reasons for this are:
- Besides reading the capabilities, EDID etc. the detection may change
the state of the sink (via the AUX bus), for instance by setting the
LTTPR mode or the source OUI (the latter introduced by an upcoming
patch). It's better to avoid such changes affecting an onging modeset
in any way.
- During a modeset's link training any access to DPCD registers, besides
the registers used for link training should be avoided, at least in
the LTTPR non-transparent and transparent link training modes.
Such asynchronous accesses - besides connector detection - can also
happen via the AUX device node for instance, for those a parallel
modeset will have to be avoided in a similar way to the change in this
patch. (A topic for a follow-up change.)
- The source OUI written to an eDP sink is valid only while the panel
power is enabled. A modeset on eDP will enable/disable the panel power
synchronously; this should be prevented in the middle of the connector
detection, to ensure a consistent sink state (which depends on the
source OUI) for the whole duration of detection. The panel power could
still get disabled during detection after an idle period (1 sec), this
will be prevented by the next patch.
v2: (Ville)
- s/wait_for_crtc_hw_done/wait_for_connector_hw_done
- Get drm_device using an intel_display instead of drm_i915_private ptr.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241025160259.3088727-2-imre.deak@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_pps.c')
0 files changed, 0 insertions, 0 deletions