diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-11-28 21:10:05 +0000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-12-02 10:47:15 +0000 |
commit | 6eebd6bb5f1ea04f04019e5c39f87a0f17ffb472 (patch) | |
tree | 798912a7e21dded899b612a6828d0b104c27c25f /scripts/dtc | |
parent | 2ed4d9d648cbd4fb1c232a646dbdbdfdd373ca94 (diff) |
drm: Fix lack of CRTC disable for drm_crtc_helper_set_config(.fb=NULL)
Disabling the CRTC by setting its framebuffer to NULL, as used by
drm_framebuffer_cleanup(), was failing to pass the current framebuffer
to the crtc_func->disable callback. This is because of the dance within
drm_crtc_helper_set_config to pass the new_fb (NULL in this case) to the
drm_crtc_helper_set_mode with the currently attached fb as a parameter.
drm_crtc_helper_set_mode treats this as a no-op and the encoder is still
enabled. And so the current fb is forgotten before the call to
drm_helper_disable_unused_functions.
This patch treats disabling the CRTC as a simple special case rather
than adding further complexity into the configuration logic.
This fixes a pin-leak of the fb bo on Xserver close.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'scripts/dtc')
0 files changed, 0 insertions, 0 deletions