Thomas Hellström
b8567bafff
Don't call fence::poll during irq if there are no waiters.
2008-03-30 15:11:47 +02:00
Thomas Hellstrom
76748efae2
i915: Re-report breadcrumbs on poll to the fence manager,
...
since a breadcrumb may actually turn up before a corresponding fence object
has been placed on the fence ring.
2008-02-05 10:36:49 +01:00
Thomas Hellstrom
f1edb7ad91
Simplify the fencing code and differentiate between flushes and
...
waiting types.
Add a "command_stream_barrier" method to the bo driver.
2008-01-30 22:06:02 +01:00
Dave Airlie
9493ce6ca3
i915: cleanup most of the whitespace
2007-11-06 12:16:07 +10:00
Dave Airlie
7f6bf84c23
drm: remove lots of spurious whitespace.
...
Kernel "cleanfile" script run.
2007-11-05 12:42:22 +10:00
Thomas Hellstrom
c4b3a0f602
Merge branch 'master' into pre-superioctl-branch
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_fence.c
linux-core/drm_objects.h
shared-core/drm.h
2007-09-25 18:03:31 +02:00
Dave Airlie
bb5516f4f4
drm/ttm: fixup fence class naming and interfaces
...
This is some code for nouveau that Ben Skeggs worked on, and also
fixes the naming (having class in a system header file == C++ keyword == bad plan)
2007-09-25 16:17:17 +10:00
Thomas Hellstrom
da63f4ba0f
Add fence error member.
...
Modify the TTM backend bind arguments.
Export a number of functions needed for driver-specific super-ioctls.
Add a function to map buffer objects from the kernel, regardless of where they're
currently placed.
A number of error fixes.
2007-09-22 13:57:13 +02:00
Dave Airlie
be85ad0333
drm: detypedef ttm/bo/fence code
2007-07-16 13:37:02 +10:00
Dave Airlie
21ee6fbfb8
drm: remove drmP.h internal typedefs
2007-07-16 12:32:51 +10:00
Michel Dänzer
3d5d41fa98
i915: Fix handling of breadcrumb counter wraparounds.
2007-06-15 17:13:11 +02:00
Thomas Hellstrom
2b7a9afa09
Some fencing cleanup.
2007-02-22 17:04:20 +01:00
Thomas Hellstrom
7766378d97
Initial support for fence object classes.
...
(Fence objects belonging to different command submission mechanisms).
2007-02-15 12:11:38 +01:00
Thomas Hellstrom
5c9a7b0f94
Remove an intel-specific hack and replace it with a fence driver callback.
2007-02-14 13:31:35 +01:00
Thomas Hellstrom
e8ba62db72
Make sure delayed delete list is empty on lastclose.
...
Fix some refcounting errors.
Fix some error messages.
2006-10-19 16:58:00 +02:00
Thomas Hellstrom
89b9441798
Lindent.
2006-10-17 19:57:06 +02:00
Thomas Hellstrom
273eb7833d
Add /proc filesystem buffer / fence object accounting.
...
Check for NULL pointer in the i915 flush handler.
Remove i915_sync_flush declaration.
2006-09-25 11:51:08 +02:00
Thomas Hellstrom
ca1b15d645
Alternative implementation of page table zeroing using zap page_range.
...
(Disabled for now)
Fix bo_wait_idle bug.
Remove stray debug message.
2006-09-18 20:43:31 +02:00
Thomas Hellstrom
f613022cee
Allow a "native type" to be associated with a fence sequence.
...
In the intel case, we can associate a flush with a sequence.
2006-09-15 16:47:09 +02:00
Thomas Hellstrom
49fbeb339c
Some bugfixes.
...
Change the fence object interface somewhat to allow some more flexibility.
Make list IOCTLS really restartable.
Try to avoid busy-waits in the kernel using immediate return to user-space with an -EAGAIN.
2006-09-15 11:18:35 +02:00
Thomas Hellstrom
99acb79366
Various bugfixes.
2006-09-08 17:24:38 +02:00
Thomas Hellstrom
034fc31292
i915: Only turn on user IRQs when they are needed.
2006-09-05 14:23:18 +02:00
Thomas Hellstrom
44f6d08988
Validation and fencing.
2006-08-31 21:42:29 +02:00
Thomas Hellstrom
23f01c9fe8
Checkpoint commit. Buffer object flags and IOCTL argument list.
2006-08-29 18:40:08 +02:00
Thomas Hellstrom
e089de33e8
i915 fence object driver implementing 2 fence object types:
...
0x00 EXE fence. Signals when command stream interpreter has reached the point
where the fence was emitted.
0x01 FLUSH fence. Signals when command stream interpreter has reached the point
where the fence was emitted, and all previous drawing operations have been
completed and flushed.
Implements busy wait (for fastest response time / high CPU) and
lazy wait (User interrupt or timer driven).
2006-08-21 21:36:00 +02:00