mirror of
https://github.com/torvalds/linux.git
synced 2024-11-20 02:51:44 +00:00
drm/atomic: shutdown *current* encoder
In disable_outputs() we need to shut down the outgoing encoder, not the incoming one (we have already swapped-state at this point). Without this, we end up telling the driver to crtc->dpms(OFF) without first encoder->dpms(OFF), and that makes some hw quite unhappy. v2: missing WARN_ON() hunk and comment Reviewed-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
934ce1c236
commit
46df9adb2e
@ -499,9 +499,12 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
|
|||||||
if (!old_conn_state || !old_conn_state->crtc)
|
if (!old_conn_state || !old_conn_state->crtc)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
encoder = connector->state->best_encoder;
|
encoder = old_conn_state->best_encoder;
|
||||||
|
|
||||||
if (!encoder)
|
/* We shouldn't get this far if we didn't previously have
|
||||||
|
* an encoder.. but WARN_ON() rather than explode.
|
||||||
|
*/
|
||||||
|
if (WARN_ON(!encoder))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
funcs = encoder->helper_private;
|
funcs = encoder->helper_private;
|
||||||
|
Loading…
Reference in New Issue
Block a user