On Wed, Sep 17, 2014 at 6:41 PM, Daniel Drake drake@endlessm.com wrote:
However there is *another* fb reference taken in omap_plane_mode_set(). And my patch is modelled to do the same in exynos-drm.
This is because omapdrm does _everything_ asynchrously, even plain modesets. Unfortunately that async modeset support is broken, so the latest omapdrm patches insert a synchronization point.
So picking omap's mode_set logic as a reference because it also does fb refcounting is not a good idea - that code does something crazy and gets it wrong. And really, if you do modeset synchronously the drm core will take care of your refcounting needs. -Daniel