diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2019-05-08 07:54:34 +0300 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2019-05-14 09:58:06 +0300 |
commit | a0b694d0af21c9993d1a39a75fd814bd48bf7eb4 (patch) | |
tree | 22d4a732b7f6bd8b4c03a8463b53665c1fafea32 /drivers/gpu | |
parent | e4702c01b7b12c0d069058ed2a3eb75edb054556 (diff) | |
download | linux-a0b694d0af21c9993d1a39a75fd814bd48bf7eb4.tar.xz |
drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change
HW has error checks in place which check that pixel depth is explicitly
provided on DP, while HDMI has a "default" setting that we use.
In multi-display configurations with identical modelines, but different
protocols (HDMI + DP, in this case), it was possible for the DP head to
get swapped to the head which previously drove the HDMI output, without
updating HeadSetControlOutputResource(), triggering the error check and
hanging the core update.
Reported-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/nouveau/dispnv50/head.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv50/head.c b/drivers/gpu/drm/nouveau/dispnv50/head.c index 2e7a0c347ddb..8efb778a3b20 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/head.c +++ b/drivers/gpu/drm/nouveau/dispnv50/head.c @@ -306,7 +306,7 @@ nv50_head_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state) asyh->set.or = head->func->or != NULL; } - if (asyh->state.mode_changed) + if (asyh->state.mode_changed || asyh->state.connectors_changed) nv50_head_atomic_check_mode(head, asyh); if (asyh->state.color_mgmt_changed || |