<feed xmlns='http://www.w3.org/2005/Atom'>
<title>renesas/drm.git/omap, branch android</title>
<subtitle>libdrm, cloned from git://anongit.freedesktop.org/mesa/drm</subtitle>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/'/>
<entry>
<title>omap: release lock also on error paths</title>
<updated>2012-10-09T14:41:27+00:00</updated>
<author>
<name>Vincent Penquerc'h</name>
<email>vincent.penquerch@collabora.co.uk</email>
</author>
<published>2012-10-09T13:48:34+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=28a13f0be734958c74ae5a23d9cf766fa0857a62'/>
<id>28a13f0be734958c74ae5a23d9cf766fa0857a62</id>
<content type='text'>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: include omap_drm.h independently</title>
<updated>2012-08-23T19:21:01+00:00</updated>
<author>
<name>Víctor Manuel Jáquez Leal</name>
<email>vjaquez@igalia.com</email>
</author>
<published>2012-08-09T11:34:54+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=f215d651377d98f5998118c6824aeb2db75513be'/>
<id>f215d651377d98f5998118c6824aeb2db75513be</id>
<content type='text'>
omap_drm.h uses data type defined in stdint.h, but that header was
not included.

omap_drm.h includes drm.h as a local file when it is part of the
compiler c flags.

This two issues are fixed. New code can include omap_drm.h alone.

Signed-off-by: Víctor Manuel Jáquez Leal &lt;vjaquez@igalia.com&gt;
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
omap_drm.h uses data type defined in stdint.h, but that header was
not included.

omap_drm.h includes drm.h as a local file when it is part of the
compiler c flags.

This two issues are fixed. New code can include omap_drm.h alone.

Signed-off-by: Víctor Manuel Jáquez Leal &lt;vjaquez@igalia.com&gt;
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: add refcnting and handle tracking</title>
<updated>2012-07-13T21:18:25+00:00</updated>
<author>
<name>Rob Clark</name>
<email>rob@ti.com</email>
</author>
<published>2012-07-13T21:18:25+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=22574aa887efa879519328acc09cb01d03374bf4'/>
<id>22574aa887efa879519328acc09cb01d03374bf4</id>
<content type='text'>
There can be scenarios, especially when re-importing an existing buffer,
where you end up with multiple 'struct omap_bo's wrapping a single GEM
object handle.  Which causes badness when the first of the evil-clones
is omap_bo_del()'d.

To do this, introduce reference counting and a hashtable to track the
handles per fd.

First, to avoid bo's slipping through the crack if multiple 'struct
omap_device's are created for one drm fd, a hashtable mapping drm
fd to omap_device, and the omap_device itself is reference counted.
Per omap_device, we keep a handle_table mapping GEM handle to omap_bo.
When buffers are imported from flink name or dmabuf fd, the handle
table is consulted, and if an omap_bo already exists, it's refcnt is
incremented and it is returned.  For good measure, to avoid the
handle_table being deleted before the omap_bo is freed, the omap_bo
holds a reference to the omap_device.

TODO: check the overhead of the hashtable.  If too much we could maybe
get away with only tracking exported and imported bo's in the table.

TODO: all the import/export flink/dmabuf operations are generic DRM
ioctls.  Really all this functionality could be handled by a generic
drm_bo and drm_device "base class" that could be extended by omap,
exynos, etc.  That would also allow more common userspace code by
avoiding artificial libdrm_omap dependencies.

Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There can be scenarios, especially when re-importing an existing buffer,
where you end up with multiple 'struct omap_bo's wrapping a single GEM
object handle.  Which causes badness when the first of the evil-clones
is omap_bo_del()'d.

To do this, introduce reference counting and a hashtable to track the
handles per fd.

First, to avoid bo's slipping through the crack if multiple 'struct
omap_device's are created for one drm fd, a hashtable mapping drm
fd to omap_device, and the omap_device itself is reference counted.
Per omap_device, we keep a handle_table mapping GEM handle to omap_bo.
When buffers are imported from flink name or dmabuf fd, the handle
table is consulted, and if an omap_bo already exists, it's refcnt is
incremented and it is returned.  For good measure, to avoid the
handle_table being deleted before the omap_bo is freed, the omap_bo
holds a reference to the omap_device.

TODO: check the overhead of the hashtable.  If too much we could maybe
get away with only tracking exported and imported bo's in the table.

TODO: all the import/export flink/dmabuf operations are generic DRM
ioctls.  Really all this functionality could be handled by a generic
drm_bo and drm_device "base class" that could be extended by omap,
exynos, etc.  That would also allow more common userspace code by
avoiding artificial libdrm_omap dependencies.

Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: add API to import bo's from dmabuf fd's</title>
<updated>2012-07-13T21:16:46+00:00</updated>
<author>
<name>Rob Clark</name>
<email>rob@ti.com</email>
</author>
<published>2012-06-11T22:17:17+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=42f8a68e19ba48a25f5eca2778d997f3d1ad094d'/>
<id>42f8a68e19ba48a25f5eca2778d997f3d1ad094d</id>
<content type='text'>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: clarify dmabuf file descriptor ownership</title>
<updated>2012-07-13T21:16:46+00:00</updated>
<author>
<name>Rob Clark</name>
<email>rob@ti.com</email>
</author>
<published>2012-06-11T13:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=8116a32df613df4433aa1b128c58bf2c18479824'/>
<id>8116a32df613df4433aa1b128c58bf2c18479824</id>
<content type='text'>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: add dmabuf support</title>
<updated>2012-04-11T14:51:36+00:00</updated>
<author>
<name>Rob Clark</name>
<email>rob@ti.com</email>
</author>
<published>2012-04-11T14:51:36+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=f00efc7ab442f106d3ac7699e80f1f7aee8451f4'/>
<id>f00efc7ab442f106d3ac7699e80f1f7aee8451f4</id>
<content type='text'>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: fix compiler warning</title>
<updated>2012-04-03T21:47:48+00:00</updated>
<author>
<name>Víctor Manuel Jáquez Leal</name>
<email>vjaquez@igalia.com</email>
</author>
<published>2012-04-02T16:08:29+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=e98ed38ca9c9328f88e0b2fab376020049e4a7fb'/>
<id>e98ed38ca9c9328f88e0b2fab376020049e4a7fb</id>
<content type='text'>
When compiling with linaro toolchain version 4.6.2 got this warning.

  CC     omap_drm.lo
omap_drm.c: In function 'omap_bo_new_impl':
omap_drm.c:139:6: warning: 'bo' may be used uninitialized in this function [-Wuninitialized]

This patch initialize bo to NULL avoiding the warning.

Signed-off-by: Víctor Manuel Jáquez Leal &lt;vjaquez@igalia.com&gt;
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When compiling with linaro toolchain version 4.6.2 got this warning.

  CC     omap_drm.lo
omap_drm.c: In function 'omap_bo_new_impl':
omap_drm.c:139:6: warning: 'bo' may be used uninitialized in this function [-Wuninitialized]

This patch initialize bo to NULL avoiding the warning.

Signed-off-by: Víctor Manuel Jáquez Leal &lt;vjaquez@igalia.com&gt;
Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: fix license header</title>
<updated>2012-04-03T21:44:43+00:00</updated>
<author>
<name>Rob Clark</name>
<email>rob@ti.com</email>
</author>
<published>2012-04-03T21:44:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=06eaf09469f2234bf1ca9790dad2ba391ccceb5a'/>
<id>06eaf09469f2234bf1ca9790dad2ba391ccceb5a</id>
<content type='text'>
In syncing with the corresponding kernel header, the wrong license
header was inadvertantly copied over.  The intention was for the
userspace headers to have a MIT license following the convention
of the rest of libdrm, xorg, etc.

Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In syncing with the corresponding kernel header, the wrong license
header was inadvertantly copied over.  The intention was for the
userspace headers to have a MIT license following the convention
of the rest of libdrm, xorg, etc.

Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>omap: add omapdrm support</title>
<updated>2012-03-28T21:00:14+00:00</updated>
<author>
<name>Rob Clark</name>
<email>rob@ti.com</email>
</author>
<published>2012-03-28T19:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitolite.ideasonboard.com/renesas/drm.git/commit/?id=ef1b958cc831df3d33a366d1db2db2c88187229e'/>
<id>ef1b958cc831df3d33a366d1db2db2c88187229e</id>
<content type='text'>
This adds libdrm_omap helper layer (as used by xf86-video-omap,
omapdrmtest, etc).

Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
[danvet: pushed for Rob, he doesn't yet have commit access.]
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds libdrm_omap helper layer (as used by xf86-video-omap,
omapdrmtest, etc).

Signed-off-by: Rob Clark &lt;rob@ti.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
[danvet: pushed for Rob, he doesn't yet have commit access.]
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</pre>
</div>
</content>
</entry>
</feed>
