drm/omap: add pin refcounting to omap_framebuffer
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 3 Sep 2014 19:25:54 +0000 (19:25 +0000)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 24 Mar 2015 11:33:25 +0000 (13:33 +0200)
commitf36eb5a899d3ea57e3d167427260848e116e27a0
treef92b2050b1fc2b8341dec645071e34efa5faea1e
parent3f4d17c4eca9769d56218a38dbfc482794fbde2f
drm/omap: add pin refcounting to omap_framebuffer

omap_framebuffer_pin() and omap_framebuffer_unpin() are currently
broken, as they cannot be called multiple times (i.e. pin, pin, unpin,
unpin), which is what happens in certain cases. This issue causes the
driver to possibly use 0 as an address for a displayed buffer, leading
to OCP error from DSS.

This patch fixes the issue by adding a simple pin_count, used to track
the number of pins.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/omap_fb.c