Commit Graph

2793 Commits (15f8fd34df11d9fceb3f813c9478ffe66cae3473)

Author SHA1 Message Date
Jesse Barnes 1e2a2babab i915: suspend/resume support
Add suspend/resume support to the i915 driver.  Moves some of the
initialization into the driver load routine, and fixes up places where we
assumed no dev_private existed in some of the cleanup paths.  This allows
us to suspend/resume properly even if X isn't running.
2007-10-26 16:10:02 -07:00
Jesse Barnes 6707ab8626 update DRM sysfs support
Make DRM devices use real Linux devices instead of class devices, which are
going away.  While we're at it, clean up some of the interfaces to take
struct drm_device * or struct device * and use the global drm_class where
needed instead of passing it around.
2007-10-26 16:08:54 -07:00
Stephane Marchesin b9d8ddd3ca nouveau: flip the CHECK_STATE bit off on nv30. This lets you do 8-bit surface destination. 2007-10-26 15:12:04 +02:00
Thomas Hellstrom a4c87d3796 Minor libdrm fixes. 2007-10-26 10:31:14 +02:00
Thomas Hellstrom 1681189e11 Buffer flags and masks are 64-bit.
don't mask off the high dword.
Signed-off-by: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
2007-10-26 10:27:30 +02:00
Thomas Hellstrom b9d9c30474 Tighten permissions on some buffer manager ioctls.
Set bo init minor to 0.
Add the version function to header.
2007-10-25 10:29:15 +02:00
Thomas Hellstrom 11f3e5e53f Buffer manager:
Implement a version check IOCTL for drivers that don't use
drmMMInit from user-space.
Remove the minor check from the kernel code. That's really up
to the driver.
Bump major.
2007-10-25 10:12:21 +02:00
Thomas Hellstrom b5cad27e05 Fix buffer object flag / mask checking. 2007-10-25 09:49:33 +02:00
Thomas Hellstrom 07706c9b79 Merge branch 'master' into drm-ttm-finalize 2007-10-25 09:24:45 +02:00
Dave Airlie a70fe82baf i915: relocate buffers before validation add memory barrier between two 2007-10-25 16:53:18 +10:00
Dave Airlie c5f158abbe i915: remove relocatee kernel mapping sooner stops mutex taking during sleep 2007-10-25 16:52:33 +10:00
Roel Kluin 07abc3384e missing mutex unlock bug 2007-10-25 16:50:23 +10:00
Eric Anholt 83199c257e Fix missing \n on some DRM_ERROR in i915_dma.c 2007-10-24 16:27:51 -07:00
Dave Airlie fd7c24753c i915: use a drm memory barrier define 2007-10-24 11:13:15 +11:00
Dave Airlie a294aa724a i915: require mfence before submitting batchbuffer 2007-10-23 17:54:07 +10:00
Stephane Marchesin 9a115080e8 nouveau: fix IGP 2007-10-23 02:19:17 +02:00
Thomas Hellstrom 3d4b32e916 Remove duplicate file. 2007-10-22 19:16:39 +02:00
Thomas Hellstrom 824330d0e6 Don't clobber the unfenced list with DONT_FENCE operations. 2007-10-22 19:09:36 +02:00
Thomas Hellstrom 919c886b2b A cmdbuf mutex to implement validate-submit-fence atomicity in the absence
of a hardware lock.
2007-10-22 18:59:37 +02:00
Thomas Hellstrom d4ce4be0da Setstatus header. 2007-10-22 13:16:51 +02:00
Dave Airlie 22883ff26b i915: split reloc execution into separate function 2007-10-22 11:54:41 +11:00
Thomas Hellstrom 6420d33b02 Get the lock flags right in libdrm. 2007-10-21 12:57:43 +02:00
Thomas Hellstrom 4ebe7471cb Disable i915 accelerated blit copy moves for now until we can
guarantee that it doesn't clash with the X server.
2007-10-21 12:31:00 +02:00
Thomas Hellstrom 9ddff6d15f Adapt i915 super-ioctl for lock-free operation. 2007-10-21 12:26:26 +02:00
Thomas Hellstrom 3b19b50cb5 Remove the need for the hardware lock in the buffer manager.
Add interface entry cleaning a memory type without touching NO_EVICT buffers.
2007-10-21 12:20:56 +02:00
Thomas Hellstrom 48b5eaf303 Simple replacement for hardware lock in some cases.
Fix i915 since last commit.
2007-10-20 16:49:43 +02:00
Thomas Hellstrom c0e3537e77 Some comment updates pending removal of the init mutex. 2007-10-19 16:44:12 +02:00
Thomas Hellstrom 733ff56834 No fence_class argument on drmBOSetStatus since it's not
associated with a particular command submission.
2007-10-19 16:28:47 +02:00
Thomas Hellstrom cf2d1bba55 Remove the clean_unfenced function.
Change the restriction that non-creators can't change the buffer flags to
non-creators can't change EVICT and NO_MOVE flags.
2007-10-19 16:24:36 +02:00
Robert Noland 2c5c18fbd3 Bug #12838: Fix lock test client vs. server master race and misplaced closes. 2007-10-17 13:26:10 -07:00
Robert Noland e7523d3379 Fix a race in the auth test where client prevents server from being master. 2007-10-17 13:20:46 -07:00
Jung-uk Kim 36120264ca Bug #11870: FreeBSD hardware lock cleanup fix with multiple opens by a process.
Previously, the lock would get released on the first close by the X Server
(during AIGLX setup), and the Radeon driver would then hang in initialization
due to unexpected failure in DRM calls that required the lock to be held.

Based on a patch by Kostik Belousov.
2007-10-17 12:52:12 -07:00
Thomas Hellstrom bb29ba7fa7 Only allow creator to change shared buffer mask. 2007-10-17 10:59:48 +02:00
Thomas Hellstrom 086c058a41 Remove the op ioctl, and replace it with a setuser ioctl.
Remove need for lock for now.
May create races when we clean memory areas or on takedown.
Needs to be fixed.
Really do a validate on buffer creation in order to avoid problems with
fixed memory buffers.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom 0d1926d36e Revert "Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning."
This reverts cf2d569dac commit.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom cd276d9cab Revert "Copy the important parts of object_validate into object_create()."
This reverts f9c27aa50b commit.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom 12b989a710 Revert "Remove the pinned buffer from the LRU when pinning."
This reverts 3a0bc518e3 commit.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom 646560d1d1 Revert "Add some more verbosity to drm_bo_set_pin_req comments."
This reverts e7bfeb3031 commit.
2007-10-17 10:59:48 +02:00
Dave Airlie ec1162b212 i915: lock struct mutex about buffer object lookups 2007-10-17 15:36:14 +10:00
Michel Dänzer db1709f2f3 Revert part of earlier commit that caused an unresolved symbol for i915. 2007-10-16 15:10:22 +02:00
Dave Airlie 3f1aa15503 drm: drop drm bo list handling code 2007-10-16 22:28:00 +11:00
Dave Airlie efc4fd7c4d drm: rename drmBOUnReference to drmBOUnreference for consistency 2007-10-16 22:08:55 +11:00
Kristian Høgsberg a69c85fec8 Drop destroy ioctls for fences and buffer objects.
We now always create a drm_ref_object for user objects and this is then the only
things that holds a reference to the user object.  This way unreference on will
destroy the user object when the last drm_ref_object goes way.
2007-10-16 22:03:05 +11:00
Kristian Høgsberg dccefba71a Take bo type argument out of the ioctl interface.
The buffer object type is still tracked internally, but it is no longer
part of the user space visible ioctl interface.  If the bo create ioctl
specifies a non-NULL buffer address we assume drm_bo_type_user,
otherwise drm_bo_type_dc.  Kernel side allocations call
drm_buffer_object_create() directly and can still specify drm_bo_type_kernel.
Not 100% this makes sense either, but with this patch, the buffer type
is no longer exported and we can clean up the internals later on.
2007-10-16 22:03:05 +11:00
[utf-8] Kristian Høgsberg 440fc5113e Eliminate support for fake buffers. 2007-10-16 21:59:38 +11:00
Ben Skeggs 9fdab5b5c5 nouveau: revert unintended change. 2007-10-16 14:43:57 +11:00
Ben Skeggs 677753047f nouveau: Cleanup PGRAPH handler, attempt to survive PGRAPH exceptions. 2007-10-16 14:42:26 +11:00
Ben Skeggs 3af053779c nouveau: Survive PFIFO_CACHE_ERROR. 2007-10-16 13:32:03 +11:00
Ben Skeggs 6398325ba1 nouveau: Handle multiple PFIFO exceptions per irq, cleanup output. 2007-10-16 13:27:27 +11:00
Stephane Marchesin 30353c8efc nouveau: PPC fixes. These regs are very touchy. 2007-10-14 23:08:36 +02:00