On Wed, Sep 19, 2012 at 9:52 PM, Joonyoung Shim <jy0922.s...@samsung.com> wrote: > On 09/17/2012 06:38 PM, Chris Wilson wrote: >> >> As during the plane cleanup, we wish to disable the hardware and >> so may modify state on the associated CRTC, that CRTC must continue to >> exist until we are finished. > > > A similar issue can occur in the drm_framebuffer_cleanup(). If crtc and > plane use same framebuffer and the framebuffer is destroyed, crtc is > turned off prior to turning off plane. >
I imagine my patch to add refcnt'ing to fb would help in this case.. BR, -R >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54101 >> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> >> Cc: Jesse Barnes <jbar...@virtuousgeek.org> >> Cc: sta...@vger.kernel.org >> --- >> drivers/gpu/drm/drm_crtc.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c >> index 6fbfc24..af81f77 100644 >> --- a/drivers/gpu/drm/drm_crtc.c >> +++ b/drivers/gpu/drm/drm_crtc.c >> @@ -1034,15 +1034,15 @@ void drm_mode_config_cleanup(struct drm_device >> *dev) >> fb->funcs->destroy(fb); >> } >> - list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, >> head) { >> - crtc->funcs->destroy(crtc); >> - } >> - >> list_for_each_entry_safe(plane, plt, &dev->mode_config.plane_list, >> head) { >> plane->funcs->destroy(plane); >> } >> + list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, >> head) { >> + crtc->funcs->destroy(crtc); >> + } >> + >> idr_remove_all(&dev->mode_config.crtc_idr); >> idr_destroy(&dev->mode_config.crtc_idr); >> } > > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel