Commit graph

2714 commits

Author SHA1 Message Date
David Woodhouse
638ebbab54 fix radeon setparam on 32/64 systems, harder.
Commit 9b01bd5b284bbf519b726b39f1352023cb5e9e69 introduced a
    compat_ioctl handler for RADEON_SETPARAM, the sole purpose of which was
    to handle the fact that on i386, alignof(uint64_t)==4.

    Unfortunately, this handler was installed for _all_ 64-bit
    architectures, instead of only x86_64 and ia64.  And thus it breaks
    32-bit compatibility on every other arch, where 64-bit integers are
    aligned to 8 bytes in 32-bit mode just the same as in 64-bit mode.

    Arnd has a cunning plan to use 'compat_u64' with appropriate alignment
    attributes according to the 32-bit ABI, but for now let's just make the
    compat_radeon_cp_setparam routine entirely disappear on 64-bit machines
    whose 32-bit compat support isn't for i386.  It would be a no-op with
    compat_u64 anyway.

    Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-06-18 12:46:00 +10:00
Michel Dänzer
3d5d41fa98 i915: Fix handling of breadcrumb counter wraparounds. 2007-06-15 17:13:11 +02:00
Thomas Hellstrom
84bea38353 Fix i915 sequence mask. 2007-06-15 10:35:52 +02:00
Thomas Hellstrom
3ee31a1f35 Indentation fixes. 2007-06-15 10:31:32 +02:00
Thomas Hellstrom
d34b2c7b9e Fix refcounting / lock race.
Reported by Steve Wilkins / Michel Dnzer.
2007-06-15 10:26:51 +02:00
Thomas Hellstrom
e1b8eabeee Locking fixes and instrumentation. 2007-06-15 10:26:51 +02:00
Thomas Hellstrom
2407ce57de Fix drmMMUnlock / drmMMLock return values. 2007-06-13 15:59:28 +02:00
Thomas Hellstrom
62082ab3e6 Make sure we read fence->signaled while spinlocked. 2007-06-13 15:38:59 +02:00
Thomas Hellstrom
5156f1c897 Fix fence object deref race. 2007-06-13 15:19:30 +02:00
Thomas Hellstrom
f984b1b8d1 Fix some obvious bugs. 2007-06-12 12:30:33 +02:00
Thomas Hellstrom
b6b5df24b9 Try to make buffer object / fence object ioctl args 64-bit safe.
Introduce tile members for future tiled buffer support.
Allow user-space to explicitly define a fence-class.
Remove the implicit fence-class mechanism.
64-bit wide buffer object flag member.
2007-06-12 12:21:38 +02:00
Dave Airlie
280083d4a2 use krh's idr mods to remove lists from idr code 2007-06-10 15:40:21 +10:00
Oliver McFadden
3181573073 r300: Added the CP maximum fetch size and ring rptr update variables. 2007-06-08 19:40:57 +00:00
Dave Airlie
7426da7538 oops must fix this properly at some point 2007-06-07 18:45:00 +10:00
Dave Airlie
e22f428f5f drm: fix radeon setparam alignment issues on 32/64-bit 2007-06-07 18:41:18 +10:00
Oliver McFadden
39625f9621 r300: Small correction to the previous commit. 2007-06-05 19:19:42 +00:00
Alex Deucher
9e0bd88c61 r300: Document more of the RADEON_RBBM_STATUS register. 2007-06-05 19:05:49 +00:00
Wang Zhenyu
109e2a10f2 Add support for the G33, Q33, and Q35 chipsets.
These require that the status page be referenced by a pointer in GTT, rather
than phsyical memory.  So, we have the X Server allocate that memory and tell
us the address, instead.
2007-06-05 11:15:29 -07:00
Dave Airlie
5bd0ca125e remove include of linux ioctl32.h from drm drivers 2007-06-05 18:16:44 +10:00
Maurice van der Pot
4327d7f314 nouveau: fix RAMHT wrapping 2007-06-04 10:49:30 +10:00
Dave Airlie
a05d4fecd3 radeon: refine irq acking for vbl on crtc 2 2007-06-03 18:30:52 +10:00
root
a4cddc6596 Revert "drm: add new drm_wait_on function to replace macro"
This reverts commit 6e860d08d0.

As I said not a good plan - this macro will have to stay for now,
trying to do the vbl code with the inline was a bit messy - may need specialised
drm wait on functions
2007-06-03 18:12:28 +10:00
root
8d95f4bd91 Revert "move i915 to new drm_wait_on function"
This reverts commit feb6803778.

This was a bad idea, the macro is actually a bit harder to convert
to a static for the other use cases
2007-06-03 18:11:44 +10:00
Dave Airlie
4e9d215bdf radeon: add support for vblank on crtc2
This add support for CRTC2 vblank on radeon similiar to the i915 support
2007-06-03 16:28:21 +10:00
Dave Airlie
638c8087de drm: fixup initialisation of list heads and idr 2007-06-01 19:00:24 +10:00
Wang Zhenyu
5c394b309d i915: Add support for 945GME chip 2007-05-31 11:09:15 +01:00
Wang Zhenyu
3917f85c73 i915: Add support for 965GME/GLE chip. 2007-05-31 11:09:07 +01:00
Jung-uk Kim
b0c8d885ce Update a bunch of FreeBSD port code.
Tested on r200/r300.  i915 updates still remain to be done.
2007-05-29 15:02:44 -07:00
Brian
fdc293d40c reformatting, clean-ups 2007-05-29 14:56:17 -06:00
Brian
ccd7b6e8dd Clean-ups and reformatting.
Use 4-space indentation consistently.
Replace occurances of:
	if (cond) code;
with:
	if (cond)
		code;
to facilitate putting breakpoints on code.
2007-05-29 14:54:00 -06:00
Dave Airlie
056c2f249a drm: move context handling code to use linux idr 2007-05-27 08:44:38 +10:00
Dave Airlie
f64674743a drm: convert drawable handling to use Linux idr
This cleans this code up a lot and uses the generic Linux idr which is
designed for this.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-05-27 07:26:52 +10:00
Thomas Gleixner
2bb7703698 drm: spinlock initializer cleanup 2007-05-26 05:20:59 +10:00
Michel Dänzer
8e083c522e drm: make sure the drawable code doesn't call malloc(0).
Signed-off-by: Michel Dänzer <michel@tungstengraphics.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-05-26 04:35:54 +10:00
Dave Airlie
ad02c536df radeon: add other IGP chipsets 2007-05-26 04:02:55 +10:00
Dave Airlie
58b2ed7832 Revert "drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls."
This reverts commit 3fdef0dc20.

ditto not on master yet
2007-05-26 03:48:08 +10:00
Dave Airlie
375f3f2884 Revert "drm/ttm: cleanup most of fence ioctl split out"
This reverts commit 3dfc1400e9.

this shouldn't have gone on master yet
2007-05-26 03:47:48 +10:00
Dave Airlie
ce58e53a01 whitespace fixups from kernel 2007-05-26 03:32:34 +10:00
Dave Airlie
adee6f52e6 ati_pcigart: cut to 80 chars 2007-05-26 03:32:34 +10:00
Dave Airlie
3dfc1400e9 drm/ttm: cleanup most of fence ioctl split out 2007-05-26 03:32:34 +10:00
Dave Airlie
3fdef0dc20 drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls.
This is the first bunch of ioctls
2007-05-26 03:32:34 +10:00
Dave Airlie
7b48f0022a drm: cleanup use of Linux list handling macros
This makes the drms use of the list handling macros a lot cleaner
and more along the lines of how they should be used.
2007-05-26 04:26:24 +10:00
Jesse Barnes
fa92e1f2ec Suspend/resume shouldn't call drm_initial_config (seems to work ok for me now),
also we should fail if we can't enable the device at resume time.
2007-05-24 18:41:44 -07:00
Jesse Barnes
462d5a0dfc Suspend/resume support (incomplete). 2007-05-22 17:49:04 -07:00
Jesse Barnes
e918d2b781 Call preallocated space VRAM instead of PRIV0 to be more consistent with
other drivers.
2007-05-22 13:38:58 -07:00
Jesse Barnes
a4929b921e Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
Conflicts:

	linux-core/drm_crtc.c - reconcile with locking changes
2007-05-18 09:42:51 -07:00
Jesse Barnes
f894587221 Add locking. The main lock is dev->mode_config.config_lock. It should be
held across any operations that modify mode lists, crtc config, output
config, etc.  It should be taken at high level entry points (currently just
initial config and user IOCTL).

Seems to work ok on my system, but needs more testing (with lockdep) and
review from some fresh eyes.
2007-05-18 09:40:01 -07:00
Alan Hourihane
d42c1de3fb Change some printk's to DRM_DEBUG's 2007-05-18 14:16:27 +01:00
Alan Hourihane
0c33a2cd2e Move fbo creation to the specified fb driver which gives
it a chance to allocate the memory from whichever buffer it wants to.
2007-05-18 14:16:10 +01:00
Alan Hourihane
3851600b34 Fix merge problem. 2007-05-18 13:59:46 +01:00