diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-07-10 00:44:31 +0300 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-07-22 17:25:46 +0300 |
commit | 8bb4da1df54a20d68c34427356e34315ba122c0f (patch) | |
tree | f294c2567b060df60eaf48ed2321ce1d19bb7ca3 /fs/btrfs/dev-replace.c | |
parent | 4676ba0be756b2b02b9737147713d458042962f7 (diff) | |
download | linux-8bb4da1df54a20d68c34427356e34315ba122c0f.tar.xz |
drm/i915: Take all modeset locks for DP MST hotplug
While auditing various users of the connector/encoder lists I realized
that the atomic code is a very prolific user of them. And it only ever
grabs the mode_config->connection_mutex, but not the
mode_config->mutex like all the other code walking encoder/connector
lists.
The problem is that we can't grab the mode_config.mutex late in atomic
code since that would lead to locking inversions. And we don't want to
grab it unconditionally like the legacy set_config modeset path since
that would render all the fine-grained locking moot.
Instead just grab more locks in the dp mst hotplug code. Note that
drm_connector_init (which is the one adding the connector to these
lists) already uses drm_modeset_lock_all.
The other reason for grabbing all locks is that the dpms off in the
unplug function amounts to a modeset, so better to take all required
locks for that.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions