Commit graph

2280 commits

Author SHA1 Message Date
Thomas Hellstrom
c060b56467 ttm: Fix up printouts.
Signed-off-by: Thomas Hellstrom <thomas-at-shipmail-dot-org>
2009-05-04 23:16:50 +02:00
Thomas Hellstrom
9d0f33b178 ttm: Replace the ttm_buffer_object::mutex with a spinlock.
Signed-off-by: Thomas Hellstrom <thomas-at-shipmail-dot-org>
2009-05-04 23:03:59 +02:00
Thomas Hellstrom
a87bc3c061 ttm: s/flags/placement/
Signed-off-by: Thomas Hellstrom <thomas-at-shipmail-dot-org>
2009-05-04 22:58:34 +02:00
Thomas Hellstrom
f421b2b10f ttm: Remove the struct ttm_mem_reg::proposed_flags member.
Signed-off-by: Thomas Hellstrom <thomas-at-shipmail-dot-org>
2009-05-04 22:57:57 +02:00
Thomas Hellstrom
05abf16c2b ttm: Update buffer object members and protection documentation.
Use linux bitmaps for bo private flags.

Signed-off-by: Thomas Hellstrom <thomas-at-shipmail-dot-org>
2009-05-04 22:55:51 +02:00
Thomas Hellstrom
6575b6a914 openchrome: Use cached system memory when evicting from VRAM. 2009-04-30 09:37:52 +02:00
Thomas Hellstrom
934dcdd363 ttm: Don't set the ghost object to NULL.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-28 21:08:17 +02:00
Thomas Hellstrom
24e42a3bd1 ttm: Fix an illegal state transition.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-28 21:07:54 +02:00
Thomas Hellstrom
70b084c84a ttm: Fix a return value.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-28 21:07:22 +02:00
Thomas Hellstrom
871a640475 ttm: Fix uninitialized buffer object sizes.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-28 21:06:53 +02:00
Thomas Hellstrom
033d3a9f95 openchrome: Reinstate the old register used for the pause address.
0x40c isn't implemented on old unichromes, and seems to cause occasional
lockups on newer ones.
2009-04-05 11:15:55 +02:00
Thomas Hellstrom
feb4a2b2de ttm: Work around a locking order reversal in fault().
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-03-23 09:11:48 +01:00
Thomas Hellstrom
7f38882b15 ttm: Clear the bo->vm_node pointer
a) When the vm_node is freed in ttm_bo.c
b) When we transfer a buffer object in ttm_bo_util.c

Reported by Jerome Glisse.
2009-03-23 08:56:53 +01:00
Thomas Hellstrom
b771b6a6c3 ttm: Fix a bo vm error path.
Reported by Jerome Glisse.
2009-03-22 21:46:25 +01:00
Thomas Hellstrom
4455b5f532 ttm: Optimize delayed buffer destruction.
Don't walk through the delayed delete list completely on each try,
but stop after the first buffer with an unsignaled fence.

Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-03-22 17:39:52 +01:00
Thomas Hellstrom
145c81299d ttm: Fix buffer object transfer.
Fix destruction and initalization of "ghost" buffer objects
that are created on pipelined buffer moves.

Reported and suggestions by Jerome Glisse.

Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-03-19 10:08:02 +01:00
Thomas Hellstrom
649b5f8471 openchrome: Fix a performance regression.
Unichrome's don't like small command submissions, so pad the
command stream with dummy data.
Also use 0x40c as pause address register instead of 0x418, as
reading the latter seems to sometimes stall the PCI bus until
the AGP command reader has completed a cycle.
2009-03-11 09:03:47 +01:00
Thomas Hellstrom
a5c936345b openchrome: Adjust DMA tracker interval. 2009-03-05 08:58:29 +01:00
Thomas Hellstrom
cb2416e1a2 openchrome: Further deferred fencing tweaks. 2009-03-05 08:58:28 +01:00
Thomas Hellstrom
780e793629 openchrome: Add deferred fence emission. 2009-03-05 08:58:28 +01:00
Thomas Hellstrom
bcfe35e32c ttm: Some commenting fixups. 2009-02-23 21:04:56 +01:00
Thomas Hellstrom
6c083adee8 ttm: Don't take a buffer object off lru lists if reservation fails. 2009-02-23 21:01:07 +01:00
Thomas Hellstrom
875a6ae217 ttm: Adjust swapping target so that current allocation will succeed. 2009-02-17 09:07:49 +01:00
Thomas Hellstrom
e8eb30ad8b ttm: Fix a spinlock bug. 2009-02-17 09:03:05 +01:00
Thomas Hellstrom
99825d5eac Fix refcounting bugs in swap code. 2009-02-13 22:07:48 +01:00
Thomas Hellstrom
8be10a790e More bool conversion. 2009-02-13 21:58:33 +01:00
Thomas Hellstrom
a520b3ed01 Another checkpoint: Use bool for boolean. 2009-02-13 21:18:47 +01:00
Thomas Hellstrom
41c3f1ac56 Checkpoint: Use bool for boolean. 2009-02-13 09:00:35 +01:00
Jerome Glisse
5c7574555d ttm: indentation fixes 2009-02-11 17:04:19 +01:00
Thomas Hellstrom
815856d5de Fix openchrome backwards compat. 2009-02-10 20:11:26 +01:00
Thomas Hellstrom
97302ed5c7 Fix TTM backwards compat to 2.6.25 2009-02-10 20:08:48 +01:00
Thomas Hellstrom
8a2a4eb445 openchrome: Use ttm_lock_set_kill functionality to kill processes attempting to use the TTM functionality when it is gone. 2009-02-05 15:44:02 +01:00
Thomas Hellstrom
a0f198572a openchrome: Use the BKL for old drm ioctls as some of them don't appear thread-safe, but keep unlocked_ioctl for opencrhome- and TTM code. 2009-02-05 15:38:31 +01:00
Thomas Hellstrom
72ee1c68ba drm_core: Avoid dri client deadlocks when master disappears by 1) Notify lock waiters when we close the master file descriptor. Not when the master structure is removed. 2) Send a SIGTERM to all clients waiting for the lock. 2009-02-05 15:33:51 +01:00
Thomas Hellstrom
b909e98de7 Work around some X86 PAT oddities by using VM_MIXEDMAP instead
of VM_PFNMAP.
2009-02-05 14:12:41 +01:00
Thomas Hellstrom
869f60aa62 drm core: Wake up _all_ lock waiters when the master is gone. 2009-02-05 13:59:48 +01:00
Thomas Hellstrom
ddadcb67da Don't return -ERESTARTSYS to user-space. 2009-02-04 15:53:07 +01:00
Thomas Hellstrom
dc150a1ef2 ttm: Add a kill capability to the ttm lock. 2009-02-04 09:17:36 +01:00
Thomas Hellstrom
2a0c9d9652 Silence a couple of compilation warnings. 2009-02-03 22:22:43 +01:00
Thomas Hellstrom
6a16de23d9 openchrome: s/1/true/ 2009-02-03 22:22:43 +01:00
Thomas Hellstrom
2e3f86c2a0 Fix for 2.6.29 2009-02-03 21:56:52 +01:00
Thomas Hellstrom
3eb288903c Fix a segfault due to the ttm file object disappearing at release while we still hold a reference to identify object creator. 2009-02-03 21:56:46 +01:00
Thomas Hellstrom
17ca5f8ee1 openchrome: Fix for 2.6.29 2009-02-03 21:51:57 +01:00
Thomas Hellstrom
465d690edc Check for null pointer when determining VRAM start.
(Reported by Erik-Jan on openchrome-devel)
2009-01-26 23:14:02 +01:00
Thomas Hellstrom
43d880df02 Silence error message. 2009-01-26 22:50:26 +01:00
Thomas Hellstrom
73fce7bc76 Take bo off lru list when reserving, as ttm_bo_reserve_locked doesn't do that. 2009-01-21 21:56:38 +01:00
Thomas Hellstrom
72f10b46d4 Don't free object while information in them are used for accounting purposes.
Fix by Alan Hourihane.
2009-01-21 14:11:11 +01:00
Thomas Hellstrom
2eb3922aa6 Build and install openchrome. 2009-01-17 13:02:46 +01:00
Thomas Hellstrom
d93fd75f4d Add reworked via driver as "openchrome". 2009-01-17 12:57:04 +01:00
Thomas Hellstrom
8bce9b9ee2 Add the new TTM code. Adjust drm_hashtab include and exports. 2009-01-17 12:52:39 +01:00