<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/drm/ttm, branch v2.6.33.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/drm/ttm?h=v2.6.33.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/drm/ttm?h=v2.6.33.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-01-14T02:18:54Z</updated>
<entry>
<title>drm/ttm: Add a swap_notify callback.</title>
<updated>2010-01-14T02:18:54Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2010-01-13T21:28:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3f09ea4ecdcbcea05541f83e557d6ce2e56626d8'/>
<id>urn:sha1:3f09ea4ecdcbcea05541f83e557d6ce2e56626d8</id>
<content type='text'>
This is needed for a bugfix in the vmwgfx driver.
Drivers may have GPU bindings on buffers that core TTM is not aware of,
and TTM may view those buffers as ordinary system memory buffers.
Add a notifier to such drivers when TTM is about to move the buffer
contents out to swappable memory. The driver must then release any
private GPU bindings on those buffers.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Add more driver type enums</title>
<updated>2009-12-14T22:38:18Z</updated>
<author>
<name>Jakob Bornecrantz</name>
<email>jakob@vmware.com</email>
</author>
<published>2009-12-14T22:07:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=be1cb8689c480228ffd2e4bfccc0dab7156cd9ea'/>
<id>urn:sha1:be1cb8689c480228ffd2e4bfccc0dab7156cd9ea</id>
<content type='text'>
Signed-off-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Convert ttm_buffer_object_init to use ttm_placement</title>
<updated>2009-12-11T04:09:05Z</updated>
<author>
<name>Jerome Glisse</name>
<email>jglisse@redhat.com</email>
</author>
<published>2009-12-10T16:16:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=09855acb1c2e3779f25317ec9a8ffe1b1784a4a8'/>
<id>urn:sha1:09855acb1c2e3779f25317ec9a8ffe1b1784a4a8</id>
<content type='text'>
Convert ttm_buffer_object_init to use struct ttm_placement and
rename to ttm_bo_init for consistency with function naming. This
allow to give more complex placement at buffer creation. For
instance you ask to allocate bo into vram first but if there is
not enough vram you can give system as a second possible
placement. It also allow to create buffer in a specific range.

Also rename ttm_buffer_object_validate to ttm_bo_validate.

Signed-off-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART.</title>
<updated>2009-12-10T05:09:03Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2009-12-07T17:36:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=98ffc4158e12008102cb6ae242a7fc46f9243f0d'/>
<id>urn:sha1:98ffc4158e12008102cb6ae242a7fc46f9243f0d</id>
<content type='text'>
Return -ERESTARTSYS instead of -ERESTART when interrupted by a signal.
The -ERESTARTSYS is converted to an -EINTR by the kernel signal layer
before returned to user-space.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Rework validation &amp; memory space allocation (V3)</title>
<updated>2009-12-10T05:09:02Z</updated>
<author>
<name>Jerome Glisse</name>
<email>jglisse@redhat.com</email>
</author>
<published>2009-12-08T14:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ca262a9998d46196750bb19a9dc4bd465b170ff7'/>
<id>urn:sha1:ca262a9998d46196750bb19a9dc4bd465b170ff7</id>
<content type='text'>
This change allow driver to pass sorted memory placement,
from most prefered placement to least prefered placement.
In order to avoid long function prototype a structure is
used to gather memory placement informations such as range
restriction (if you need a buffer to be in given range).
Range restriction is determined by fpfn &amp; lpfn which are
the first page and last page number btw which allocation
can happen. If those fields are set to 0 ttm will assume
buffer can be put anywhere in the address space (thus it
avoids putting a burden on the driver to always properly
set those fields).

This patch also factor few functions like evicting first
entry of lru list or getting a memory space. This avoid
code duplication.

V2: Change API to use placement flags and array instead
    of packing placement order into a quadword.
V3: Make sure we set the appropriate mem.placement flag
    when validating or allocation memory space.

[Pending Thomas Hellstrom further review but okay
from preliminary review so far].

Signed-off-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Export symbols needed for the vmwgfx driver.</title>
<updated>2009-12-07T05:22:07Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2009-12-06T20:46:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4bfd75cb08a362cb1df35dc6a5032d12843c6d87'/>
<id>urn:sha1:4bfd75cb08a362cb1df35dc6a5032d12843c6d87</id>
<content type='text'>
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Add TTM execbuf utilities.</title>
<updated>2009-12-07T05:22:05Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2009-12-06T20:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c078aa2fc4d8e022c3b611e07b25ff77afdf9b73'/>
<id>urn:sha1:c078aa2fc4d8e022c3b611e07b25ff77afdf9b73</id>
<content type='text'>
Utilities to reserve, unreserve and fence a list of TTM
buffer objects in a deadlock-safe manner.

Used by the vmwgfx driver.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Add ttm lock functionality.</title>
<updated>2009-12-07T05:22:03Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2009-12-06T20:46:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4aff1013f5e4ae08a24155c029a2c5e1a7929de6'/>
<id>urn:sha1:4aff1013f5e4ae08a24155c029a2c5e1a7929de6</id>
<content type='text'>
This is intended to be used by ttm-aware drivers to
1) Block clients to inactive masters when
they try to validate buffers for GPU use.
2) Optionally block clients to the current master when
there is thrashing due to GPU memory shortage.

Used by the vmwgfx driver.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Add user-space objects.</title>
<updated>2009-12-07T05:22:01Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2009-12-06T20:46:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc'/>
<id>urn:sha1:88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc</id>
<content type='text'>
Add objects needed for user-space to maintain reference counts on ttm objects.
This is used by the vmwgfx driver which allows user-space to maintain
map-counts on dma buffers, lock-counts on the ttm lock and ref-counts on
gpu surfaces, gpu contexts and dma buffer.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Fix build failure due to missing struct page</title>
<updated>2009-12-03T23:11:16Z</updated>
<author>
<name>Martin Michlmayr</name>
<email>tbm@cyrius.com</email>
</author>
<published>2009-11-19T16:29:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c3a73ba13bac7fd96030f39202b2d37fb19c46a6'/>
<id>urn:sha1:c3a73ba13bac7fd96030f39202b2d37fb19c46a6</id>
<content type='text'>
drm/ttm fails to build on MIPS because "struct page" is not known:
| In file included from drivers/gpu/drm/ttm/ttm_memory.c:28:
| include/drm/ttm/ttm_memory.h:154: warning: 'struct page' declared inside parameter list
| include/drm/ttm/ttm_memory.h:154: warning: its scope is only this definition or declaration, which is probably not what you want
| include/drm/ttm/ttm_memory.h:156: warning: 'struct page' declared inside parameter list
| drivers/gpu/drm/ttm/ttm_memory.c:540: error: conflicting types for 'ttm_mem_global_alloc_page'
| include/drm/ttm/ttm_memory.h:154: error: previous declaration of 'ttm_mem_global_alloc_page' was here
| drivers/gpu/drm/ttm/ttm_memory.c:561: error: conflicting types for 'ttm_mem_global_free_page'
| include/drm/ttm/ttm_memory.h:156: error: previous declaration of 'ttm_mem_global_free_page' was here

Signed-off-by: Martin Michlmayr &lt;tbm@cyrius.com&gt;
Cc: stable@kernel.org
Acked-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
</feed>
