Kristian Høgsberg [Wed, 14 Nov 2007 19:28:34 +0000 (14:28 -0500)]
Add new shared header file drm_internal.h.
This header file is shared across linux and bsd, but is not installed
for user space to access. It's the place to put prototypes and data
types that aren't platform or chipset specific, but still internal to
the drm.
Stephane Marchesin [Wed, 14 Nov 2007 01:52:55 +0000 (02:52 +0100)]
nouveau: adjust the size of the NV34 context. That fixes mobile PPC cards.
Thomas Hellstrom [Tue, 13 Nov 2007 14:42:08 +0000 (15:42 +0100)]
Fix ttmtest.
Ben Skeggs [Tue, 13 Nov 2007 18:36:20 +0000 (05:36 +1100)]
nouveau: Also wait until CACHE1 gets emptied.
Ben Skeggs [Tue, 13 Nov 2007 18:11:11 +0000 (05:11 +1100)]
Revert "nouveau: stub superioctl"
This reverts commit
2370ded79b4176d76cda1ec5f495fd33c2d566ed.
Err.. didn't mean for that to slip in :)
Ben Skeggs [Tue, 13 Nov 2007 18:09:07 +0000 (05:09 +1100)]
Merge branch 'fifo-cleanup' into upstream-master
Ben Skeggs [Tue, 13 Nov 2007 17:24:36 +0000 (04:24 +1100)]
nouveau: Attempt to wait for channel idle before we destroy it.
Ben Skeggs [Tue, 13 Nov 2007 17:15:13 +0000 (04:15 +1100)]
nouveau: Use "new" NV40 USER control regs.
Probably entirely pointless, but a simple change in any case.
Ben Skeggs [Tue, 13 Nov 2007 17:05:48 +0000 (04:05 +1100)]
nouveau: store user control reg offsets in channel struct
Ben Skeggs [Tue, 13 Nov 2007 16:27:37 +0000 (03:27 +1100)]
nouveau: funcs to determine active channel on PFIFO.
Ben Skeggs [Thu, 8 Nov 2007 17:27:23 +0000 (04:27 +1100)]
nouveau: stub superioctl
Jesse Barnes [Sat, 10 Nov 2007 22:39:36 +0000 (14:39 -0800)]
Make sure PLLs are enabled before writing pipe configuration regs
Fix from the X driver. Make sure the PLLs are enabled and not in VGA mode
before writing PIPE(A|B)CONF regs to avoid hangs or crashes.
Patrice Mandin [Fri, 9 Nov 2007 17:08:08 +0000 (18:08 +0100)]
suspend() and resume() need kernel 2.6.22 or later
Thomas Hellstrom [Wed, 7 Nov 2007 17:07:10 +0000 (18:07 +0100)]
Don't overwrite TTM page flags.
Dave Airlie [Wed, 7 Nov 2007 13:10:24 +0000 (23:10 +1000)]
i915: oops disable TTM is backwards
Thomas Hellstrom [Tue, 6 Nov 2007 08:47:57 +0000 (09:47 +0100)]
Avoid buffers not ending up on a list in some cases.
Thomas Hellstrom [Tue, 6 Nov 2007 08:36:25 +0000 (09:36 +0100)]
Add missing drm_regman.c file.
Dave Airlie [Tue, 6 Nov 2007 07:13:46 +0000 (18:13 +1100)]
i915: disable TTM on 8xx chips for now until flushing is solved
Dave Airlie [Tue, 6 Nov 2007 07:00:10 +0000 (18:00 +1100)]
i915: compat code doesn't work in i8xx hw.
Zhenyu Wang [Tue, 6 Nov 2007 06:59:14 +0000 (17:59 +1100)]
[PATCH] i915: fix missing G33 detect in IS_I9XX
G33 detect seems missing with Jesse's suspend/resume patch.
Dave Airlie [Tue, 6 Nov 2007 02:12:10 +0000 (12:12 +1000)]
drm/agp: kernel style fixes
Dave Airlie [Tue, 6 Nov 2007 01:32:58 +0000 (11:32 +1000)]
i915: cleanup most of the whitespace
Thomas Hellstrom [Mon, 5 Nov 2007 12:22:00 +0000 (13:22 +0100)]
Export a symbol.
Thomas Hellstrom [Mon, 5 Nov 2007 12:20:16 +0000 (13:20 +0100)]
Fix a user-buffer check.
Dave Airlie [Mon, 5 Nov 2007 09:14:23 +0000 (19:14 +1000)]
drm: more kernel coding style cleanups
Dave Airlie [Mon, 5 Nov 2007 09:09:18 +0000 (19:09 +1000)]
drm/ttm: apply linux kernel coding style to bo_lock/move/object/ttm.c
Dave Airlie [Mon, 5 Nov 2007 09:05:32 +0000 (19:05 +1000)]
drm/ttm: kernel coding style for bo.c and objects.h
Dave Airlie [Mon, 5 Nov 2007 08:56:46 +0000 (18:56 +1000)]
drm: fix the the typo
Li Zefan [Mon, 5 Nov 2007 08:48:27 +0000 (18:48 +1000)]
drm: fix memset size error
The size passing to memset is wrong.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Dave Airlie [Mon, 5 Nov 2007 02:56:55 +0000 (12:56 +1000)]
drm: update kernel generator script using v4l script
Dave Airlie [Mon, 5 Nov 2007 02:42:22 +0000 (12:42 +1000)]
drm: remove lots of spurious whitespace.
Kernel "cleanfile" script run.
Dave Airlie [Mon, 5 Nov 2007 02:10:52 +0000 (12:10 +1000)]
drm: move some of the OS stuff into the OS header
Pekka Paalanen [Thu, 25 Oct 2007 19:34:45 +0000 (22:34 +0300)]
nouveau: more nv20_graph_init.
This patch is originally from malc0_, but since it used some NV40_*
regs, I edited them into hex values with a comment.
This seems to correspond quite well with my own mmio-trace,
for the parts I cared to check.
Ben Skeggs [Sun, 4 Nov 2007 18:42:08 +0000 (05:42 +1100)]
nouveau: Use a sw method instead of notify interrupt to signal fence completion.
Ben Skeggs [Sun, 4 Nov 2007 18:15:32 +0000 (05:15 +1100)]
nouveau: disable m2mf buffer move for the moment
Ben Skeggs [Sun, 4 Nov 2007 17:44:40 +0000 (04:44 +1100)]
Fill fence sequence after emit ioctl.
Ben Skeggs [Sun, 4 Nov 2007 16:53:46 +0000 (03:53 +1100)]
nouveau: cleanups
Ben Skeggs [Sun, 4 Nov 2007 15:35:56 +0000 (02:35 +1100)]
nouveau: only pass annoying messages if irq isn't handled fully.
Ben Skeggs [Sun, 4 Nov 2007 15:32:46 +0000 (02:32 +1100)]
nouveau: vram is bar1
Ben Skeggs [Sun, 4 Nov 2007 15:20:35 +0000 (02:20 +1100)]
nouveau: hook up an inital fence irq handler
Ben Skeggs [Sun, 4 Nov 2007 13:01:38 +0000 (00:01 +1100)]
nouveau: crappy ttm mm init, disabled for now.
Dave Airlie [Sun, 4 Nov 2007 00:01:27 +0000 (11:01 +1100)]
drm: fix oops since user objects..
Jeremy Kolb [Fri, 2 Nov 2007 23:46:27 +0000 (19:46 -0400)]
nouveau: add darktama's email address to authors section.
Jeremy Kolb [Fri, 2 Nov 2007 23:44:30 +0000 (19:44 -0400)]
nouveau: put it all together.
Jeremy Kolb [Fri, 2 Nov 2007 23:43:53 +0000 (19:43 -0400)]
nouveau: Add darktama's fencing code. Restructure some stuff.
Jeremy Kolb [Fri, 2 Nov 2007 03:35:46 +0000 (23:35 -0400)]
nouveau: incorporate darktama's buffer object work.
Jeremy Kolb [Thu, 1 Nov 2007 23:04:38 +0000 (19:04 -0400)]
nouveau: more filling in for ttm. Change copyright since it's based off of radeon code.
Thomas Hellstrom [Fri, 2 Nov 2007 15:03:41 +0000 (16:03 +0100)]
User buffer support.
Thomas Hellstrom [Fri, 2 Nov 2007 14:52:00 +0000 (15:52 +0100)]
Return fence errors.
Time out properly in the presence of signals.
Dave Airlie [Fri, 2 Nov 2007 14:39:44 +0000 (00:39 +1000)]
radeon: set the address to access the aperture on the CPU side correctly
This code relied on the CPU and GPU address for the aperture being the same,
On some r5xx hardware I was playing with I noticed that this isn't always true.
I wonder if this will fix some of those r4xx DRI issues we've seen in the past.
Stephane Marchesin [Thu, 1 Nov 2007 14:48:46 +0000 (15:48 +0100)]
nouveau: don't use AGP on PPC. It's a hopeless case.
Jeremy Kolb [Thu, 1 Nov 2007 01:27:00 +0000 (21:27 -0400)]
nouveau: add missing file.
Jeremy Kolb [Thu, 1 Nov 2007 00:14:48 +0000 (20:14 -0400)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm
Jeremy Kolb [Thu, 1 Nov 2007 00:13:01 +0000 (20:13 -0400)]
nouveau: ttm stubs
Dave Airlie [Wed, 31 Oct 2007 23:34:11 +0000 (10:34 +1100)]
drm/ttm: add support for cached un-snooped mappings.
This mapping allows cached objects to be mapped in/out of the TT space
with the appropriate flushing calls.
It should put back the old CACHED functionality for snooped mappings
Dave Airlie [Wed, 31 Oct 2007 16:00:36 +0000 (02:00 +1000)]
i915: fix compat code on 965/g33
Dave Airlie [Wed, 31 Oct 2007 00:33:34 +0000 (11:33 +1100)]
drm: add chipset flushing via agp support
Dave Airlie [Wed, 31 Oct 2007 00:27:44 +0000 (11:27 +1100)]
i915: add backwards compat chipset flushing code
Dave Airlie [Wed, 31 Oct 2007 00:21:05 +0000 (11:21 +1100)]
drm: call driver load after initing agp subsystem
Stephane Marchesin [Tue, 30 Oct 2007 15:55:17 +0000 (16:55 +0100)]
Nouveau: add a comment about SKIPS for next API breakage.
Stephane Marchesin [Tue, 30 Oct 2007 15:54:57 +0000 (16:54 +0100)]
Nouveau: fold some loops.
Dave Airlie [Tue, 30 Oct 2007 07:51:59 +0000 (17:51 +1000)]
drm/i915: add driver cache flush entry point
Use clflush on Intel hardware to flush cached objects.
Kristian Høgsberg [Mon, 29 Oct 2007 23:32:32 +0000 (19:32 -0400)]
Move struct drm_drawable_info out of public header file.
Jesse Barnes [Mon, 29 Oct 2007 17:51:11 +0000 (10:51 -0700)]
Remove unused memory save areas
These need to be kmalloc'd separately anyway or we may hit kmalloc size
limits.
Stephane Marchesin [Sat, 27 Oct 2007 23:59:11 +0000 (01:59 +0200)]
nouveau: don't touch PMC_BOOT_1 on x86, it seems to be undefined on some early cards.
Jesse Barnes [Fri, 26 Oct 2007 23:10:02 +0000 (16:10 -0700)]
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.
Jesse Barnes [Fri, 26 Oct 2007 23:08:54 +0000 (16:08 -0700)]
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.
Stephane Marchesin [Fri, 26 Oct 2007 13:11:38 +0000 (15:11 +0200)]
nouveau: flip the CHECK_STATE bit off on nv30. This lets you do 8-bit surface destination.
Thomas Hellstrom [Fri, 26 Oct 2007 08:31:14 +0000 (10:31 +0200)]
Minor libdrm fixes.
Thomas Hellstrom [Fri, 26 Oct 2007 08:25:57 +0000 (10:25 +0200)]
Buffer flags and masks are 64-bit.
don't mask off the high dword.
Signed-off-by: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Thomas Hellstrom [Thu, 25 Oct 2007 08:29:15 +0000 (10:29 +0200)]
Tighten permissions on some buffer manager ioctls.
Set bo init minor to 0.
Add the version function to header.
Thomas Hellstrom [Thu, 25 Oct 2007 08:12:21 +0000 (10:12 +0200)]
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.
Thomas Hellstrom [Thu, 25 Oct 2007 07:49:33 +0000 (09:49 +0200)]
Fix buffer object flag / mask checking.
Thomas Hellstrom [Thu, 25 Oct 2007 07:24:45 +0000 (09:24 +0200)]
Merge branch 'master' into drm-ttm-finalize
Dave Airlie [Thu, 25 Oct 2007 06:53:18 +0000 (16:53 +1000)]
i915: relocate buffers before validation add memory barrier between two
Dave Airlie [Thu, 25 Oct 2007 06:52:33 +0000 (16:52 +1000)]
i915: remove relocatee kernel mapping sooner stops mutex taking during sleep
Roel Kluin [Thu, 25 Oct 2007 00:24:55 +0000 (10:24 +1000)]
missing mutex unlock bug
Eric Anholt [Wed, 24 Oct 2007 23:27:46 +0000 (16:27 -0700)]
Fix missing \n on some DRM_ERROR in i915_dma.c
Dave Airlie [Wed, 24 Oct 2007 00:13:15 +0000 (11:13 +1100)]
i915: use a drm memory barrier define
Dave Airlie [Tue, 23 Oct 2007 07:54:07 +0000 (17:54 +1000)]
i915: require mfence before submitting batchbuffer
Stephane Marchesin [Tue, 23 Oct 2007 00:18:56 +0000 (02:18 +0200)]
nouveau: fix IGP
Thomas Hellstrom [Mon, 22 Oct 2007 17:16:39 +0000 (19:16 +0200)]
Remove duplicate file.
Thomas Hellstrom [Mon, 22 Oct 2007 17:09:36 +0000 (19:09 +0200)]
Don't clobber the unfenced list with DONT_FENCE operations.
Thomas Hellstrom [Mon, 22 Oct 2007 16:59:37 +0000 (18:59 +0200)]
A cmdbuf mutex to implement validate-submit-fence atomicity in the absence
of a hardware lock.
Thomas Hellstrom [Mon, 22 Oct 2007 11:16:51 +0000 (13:16 +0200)]
Setstatus header.
Dave Airlie [Mon, 22 Oct 2007 00:54:41 +0000 (11:54 +1100)]
i915: split reloc execution into separate function
Thomas Hellstrom [Sun, 21 Oct 2007 10:57:43 +0000 (12:57 +0200)]
Get the lock flags right in libdrm.
Thomas Hellstrom [Sun, 21 Oct 2007 10:31:00 +0000 (12:31 +0200)]
Disable i915 accelerated blit copy moves for now until we can
guarantee that it doesn't clash with the X server.
Thomas Hellstrom [Sun, 21 Oct 2007 10:26:26 +0000 (12:26 +0200)]
Adapt i915 super-ioctl for lock-free operation.
Thomas Hellstrom [Sun, 21 Oct 2007 10:20:56 +0000 (12:20 +0200)]
Remove the need for the hardware lock in the buffer manager.
Add interface entry cleaning a memory type without touching NO_EVICT buffers.
Thomas Hellstrom [Sat, 20 Oct 2007 14:49:43 +0000 (16:49 +0200)]
Simple replacement for hardware lock in some cases.
Fix i915 since last commit.
Thomas Hellstrom [Fri, 19 Oct 2007 14:44:12 +0000 (16:44 +0200)]
Some comment updates pending removal of the init mutex.
Thomas Hellstrom [Fri, 19 Oct 2007 14:28:47 +0000 (16:28 +0200)]
No fence_class argument on drmBOSetStatus since it's not
associated with a particular command submission.
Thomas Hellstrom [Fri, 19 Oct 2007 14:24:36 +0000 (16:24 +0200)]
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.
Robert Noland [Wed, 17 Oct 2007 20:25:31 +0000 (13:25 -0700)]
Bug #12838: Fix lock test client vs. server master race and misplaced closes.
Robert Noland [Wed, 17 Oct 2007 20:20:46 +0000 (13:20 -0700)]
Fix a race in the auth test where client prevents server from being
Jung-uk Kim [Wed, 17 Oct 2007 19:50:29 +0000 (12:50 -0700)]
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.
Thomas Hellstrom [Wed, 17 Oct 2007 08:57:12 +0000 (10:57 +0200)]
Only allow creator to change shared buffer mask.
Thomas Hellstrom [Wed, 17 Oct 2007 08:55:21 +0000 (10:55 +0200)]
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.
Thomas Hellstrom [Thu, 4 Oct 2007 08:14:41 +0000 (10:14 +0200)]
Revert "Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning."
This reverts
cf2d569daca6954d11a796f4d110148ae2e0c827 commit.