On Wed, Oct 19, 2011 at 8:27 AM, Daniel Vetter <dan...@ffwll.ch> wrote:
>> +static void omap_framebuffer_destroy(struct drm_framebuffer *fb)
>> +{
>> +     struct drm_device *dev = fb->dev;
>> +     struct omap_framebuffer *omap_fb = to_omap_framebuffer(fb);
>> +
>> +     DBG("destroy: FB ID: %d (%p)", fb->base.id, fb);
>> +
>> +     drm_framebuffer_cleanup(fb);
>
> This is a bit a general mess in kms. All drivers need to call this, and
> for added hilarity
> - drm_crtc.c drm_mode_rmfb has a TODO that this is missing
> - nouveau/radeon only do this _after_ unref'ing the backing storage
> - gma500 also tries to restore the kernel console here which should be
>  done in lastclose (because you might disable another userspace fb on
>  another output).
>
> Can I prod you to write the patches to clean this up and move
> drm_framebuffer_cleanup into common code?

fyi, I'm starting to look at this.. looks like crtc/encoder/connector
cleanup could also benefit from some similar treatment.  I'll start w/
just fb, since that is a resource that is actually dynamically
created/destroyed, so seems a bit more critical..

BR,
-R
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to