]> git.baikalelectronics.ru Git - kernel.git/commit
drm/atomic: clear plane's CRTC and FB when shutting down
authorRob Clark <robdclark@gmail.com>
Wed, 26 Nov 2014 23:58:04 +0000 (18:58 -0500)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 27 Nov 2014 14:39:11 +0000 (15:39 +0100)
commit934fc1546d9ee4cd4615179c14094a907bff3bf1
tree5bc62458e106e8e1acd5ce83864b13506267de8a
parentedb834d30755e6a444fa6699eaf730a562b5efd2
drm/atomic: clear plane's CRTC and FB when shutting down

Otherwise we'd still end up w/ the plane attached to the CRTC, and
seemingly active, but without an FB.  Which ends up going *boom*
in the drivers.

Slightly modified version of Daniel's irc suggestion.

Note that the big problem isn't drivers going *boom* here (since we
already have the situation of planes being left enabled when the crtc
goes down). The real issue is that the core assumes the primary plane
always goes down when calling ->set_config with a NULL mode. Ignoring
that assumption leads to the legacy state pointers plane->fb/crtc
getting out of sync with atomic, and that then leads to the subsequent
*boom* all over the place.

CC: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Rob Clark <robdclark@gmail.com>
[danvet: Drop my opinion of what's going sidewides here into the
commit message as a note.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_atomic_helper.c