On Wed, Sep 17, 2014 at 2:19 PM, Daniel Drake <drake@xxxxxxxxxxxx> wrote: >> Chip specific drm driver internally doesn't have to care fb reference count if >> there is no special case. We should have switched to universal plane at that >> time. > > To me it seems like the chip-specific DRM drivers do need to add a > reference in the crtc_mode_set and crtc page flip paths otherwise > framebuffer removal crashes (expecting to remove 3 references), as > noted by my testing and also in commit 25c8b5c304. I think fb refcounting in exynos is just plain busted. If you look at other drivers the only place the refcount framebuffers or backing storage objects is for pageflips to make sure the memory doesn't go away while the hw is still scanning out the old framebuffer. If you refcount anywhere else you either do something really crazy or your driver is broken. > However, I'll be happy if universal planes means the driver does not > have to care about this any more. Andrej, please go ahead if you are > interested, I'll be happy to test your results. universal planes will fix up the mess with 2 drm plane objects (primary plane + exonys internal primary). So should help to untangle this not, but it will not magically fix the refcounting bugs itself. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html