Jerome Glisse [Mon, 19 Nov 2007 13:37:21 +0000 (14:37 +0100)]
drm: fix dead lock in drm_buffer_object_transfer
Jesse Barnes [Fri, 16 Nov 2007 21:58:43 +0000 (13:58 -0800)]
Fix connection status ABI
Userspace expects a 1 based enum for connection status so fix up the kernel
definition.
Jesse Barnes [Fri, 16 Nov 2007 21:57:42 +0000 (13:57 -0800)]
Fix typo in copy_to_user calls
We want to copy to card_res->modes + copied, not &card_res->modes + copied.
Jesse Barnes [Fri, 16 Nov 2007 01:14:03 +0000 (17:14 -0800)]
Use user copy routines for writing modes & ids back to userspace
Since the drm_mode_card_res structure contains user pointers, we have to use
put_user and copy_to_user to write stuff out. The DRM ioctl wrapper will only
take care of copying the base drm_mode_card_res struct, not the included
arrays.
Thomas Hellstrom [Thu, 15 Nov 2007 09:42:47 +0000 (10:42 +0100)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Thomas Hellstrom [Thu, 15 Nov 2007 09:38:55 +0000 (10:38 +0100)]
mm fixups.
Dave Airlie [Thu, 15 Nov 2007 08:22:01 +0000 (19:22 +1100)]
libdrm: return crtc id to userspace
Dave Airlie [Thu, 15 Nov 2007 07:31:50 +0000 (18:31 +1100)]
libdrm: add crtc/output ids to userspace interface
Dave Airlie [Thu, 15 Nov 2007 07:31:23 +0000 (18:31 +1100)]
drm: send correct fb id to userspace
Dave Airlie [Thu, 15 Nov 2007 05:52:04 +0000 (16:52 +1100)]
modes: pass type to userspace for preferred showing
Dave Airlie [Thu, 15 Nov 2007 05:51:48 +0000 (16:51 +1100)]
drm: don't remove mappings added by the driver
Dave Airlie [Thu, 15 Nov 2007 05:51:35 +0000 (16:51 +1100)]
intel: fixup || vs |
Dave Airlie [Thu, 15 Nov 2007 05:51:15 +0000 (16:51 +1100)]
tests: update for new drm interface
Dave Airlie [Thu, 15 Nov 2007 04:04:19 +0000 (15:04 +1100)]
Merge branch 'master' into modesetting-101
Conflicts:
shared-core/i915_dma.c
tests/ttmtest/src/ttmtest.c
Dave Airlie [Thu, 15 Nov 2007 03:43:23 +0000 (14:43 +1100)]
i915: remove excess debug output
Stephane Marchesin [Thu, 15 Nov 2007 02:43:22 +0000 (03:43 +0100)]
nouveau: Copy the PPC bios to RAMIN on init, that lets us do proper output detection in user space.
Dave Airlie [Thu, 15 Nov 2007 02:29:55 +0000 (13:29 +1100)]
intel: add flushing for i8xx chipsets.
Add a nut vs hammer style chipset flush for the i8xx chipsets - reenable TTM
code paths
Patrice Mandin [Wed, 14 Nov 2007 22:31:59 +0000 (23:31 +0100)]
nouveau: nv30: missing ramin init, does it brake other hw?
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
Jerome Glisse [Fri, 9 Nov 2007 16:28:56 +0000 (17:28 +0100)]
drm: check edid data, so we deal well with broken driver.
Jerome Glisse [Fri, 9 Nov 2007 14:47:24 +0000 (15:47 +0100)]
drm: split edid handling in get_edid & add_edid_mode
This way driver can get_edid in output status detection
(using all workaround which are in get_edid) and then provide
this edid data in get_mode callback of output.
Dave Airlie [Fri, 9 Nov 2007 01:30:50 +0000 (11:30 +1000)]
i915: cleanup pageflip derefs sarea even if no sarea exists
Thomas Hellstrom [Wed, 7 Nov 2007 17:10:46 +0000 (18:10 +0100)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:
shared-core/i915_dma.c
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 09:01:52 +0000 (10:01 +0100)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:
linux-core/Makefile.kernel
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
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:46:06 +0000 (13:46 +0100)]
Merge branch 'master' into modesetting-101
Conflicts:
linux-core/drm_bufs.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
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.
Alan Hourihane [Mon, 5 Nov 2007 10:06:37 +0000 (10:06 +0000)]
remove unused define
Alan Hourihane [Mon, 5 Nov 2007 10:05:01 +0000 (10:05 +0000)]
remove duplicate and obsolete ioctl statements
Alan Hourihane [Mon, 5 Nov 2007 10:03:26 +0000 (10:03 +0000)]
add missing lock
Alan Hourihane [Mon, 5 Nov 2007 10:02:46 +0000 (10:02 +0000)]
Use _size
Alan Hourihane [Mon, 5 Nov 2007 10:00:43 +0000 (10:00 +0000)]
Pass pointer to drmModeRmMode.
Alan Hourihane [Mon, 5 Nov 2007 10:00:11 +0000 (10:00 +0000)]
pass pointer for drmModeRmFB
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:07:36 +0000 (16:07 +0100)]
Merge branch 'master' into modesetting-101
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.
Jesse Barnes [Thu, 1 Nov 2007 22:27:55 +0000 (15:27 -0700)]
Merge branch 'master' into modesetting-101
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_stub.c
linux-core/i915_drv.c
shared-core/i915_dma.c
shared-core/i915_drv.h
Fixup suspend/resume conflicts (basically use what's in DRM master for now).
Also fix up a few other conflicts that snuck in (i915_dma changes etc.).
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.
Jerome Glisse [Sat, 27 Oct 2007 22:55:27 +0000 (00:55 +0200)]
Merge branch 'radeon-ttm' of git://people.freedesktop.org/~airlied/drm into modesetting-101
Conflicts:
linux-core/Makefile.kernel
linux-core/drmP.h
shared-core/radeon_cp.c
shared-core/radeon_drv.h
shared-core/radeon_irq.c
modified: linux-core/Makefile.kernel
modified: linux-core/ati_pcigart.c
modified: linux-core/drmP.h
new file: linux-core/radeon_buffer.c
modified: linux-core/radeon_drv.c
new file: linux-core/radeon_fence.c
modified: shared-core/radeon_cp.c
modified: shared-core/radeon_drm.h
modified: shared-core/radeon_drv.h
modified: shared-core/radeon_irq.c
modified: tests/ttmtest/src/ttmtest.c
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.