Commit Graph

324 Commits

Author SHA1 Message Date
Dave Airlie
7ab984012a drm: update some function so a driver can call them
This patch splits some ioctl functions so that they can be called
in-kernel by a DRM driver. The driver will use them later.

From: Ian Romanick <idr@us.ibm.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 16:56:52 +10:00
Dave Airlie
9c8da5ebbf drm: update support for drm pci buffers
The DRM needs to change the drm_pci interface for FreeBSD compatiblity,
this patch introduces the drm_dma_handle_t and uses it in the Linux code.

From: Tonnerre Lombard, Eric Anholt, and Sergey Vlasov
Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-10 15:38:56 +10:00
Dave Airlie
d59431bf96 Refactor common, boilerplate ioctl code from drm_addbufs_* functions into
drm_addbufs. This makes the code more like the BSD code, and makes the
drm_addbufs_* functions callable in-kernel.

From: Ian Romanick <idr@us.ibm.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 15:00:06 +10:00
Dave Airlie
b84397d639 drm: add framebuffer maps
The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory

The attached patch adds a new buffer type DRM_FB_BUFFER. It works like
AGP memory but uses video memory.

From: Austin Yuan <austinyuan@viatech.com.cn>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 14:46:12 +10:00
Dave Airlie
2d0f9eaff8 drm: add _DRM_CONSISTENT map type
Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It
uses drm_pci_alloc/free for allocating/freeing the memory.

From: Felix Kuhling <fxkuehl@gmx.de>
Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-10 14:34:13 +10:00
Dave Airlie
f179bc77d0 drm: fix stupid missing semicolon.
I fixed this in one git tree but that wasn't the one I pushed...

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 12:46:19 +10:00
Linus Torvalds
0109fd3704 Merge head 'drm-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6 2005-07-09 09:59:23 -07:00
Linus Torvalds
cc14cf46da Merge head 'drm-3264' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6 2005-07-09 09:58:47 -07:00
Dave Airlie
8ca7c1df08 drm: add 32/64 support for MGA/R128/i915
This adds compatiblity ioctls for mga/r128 and i915 DRM drivers.

From: Paul Mackerras, David Airlie, Alan Hourihane, Egbert Eich.
Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-07 21:51:26 +10:00
Dave Airlie
850eb83a6a drm: wrap config.h include in a ifdef KERNEL
This file can be included from userspace so wrap the config.h include.

Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-07 21:09:14 +10:00
Dave Airlie
c94f702985 drm: misc cleanup
This patch contains the following cleanups:
- make needlessly global functions static
- remove the following unused global functions:
 - drm_fops.c: drm_read
 - i915_dma.c: i915_do_cleanup_pageflip

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-07 21:03:38 +10:00
Dave Airlie
b9523249de drm: use kcalloc now that it is available..
Make the DRM drm_calloc call kcalloc now.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-07 20:33:26 +10:00
Dave Airlie
f650130803 drm: ctx release can happen before dev->ctxlist is allocated
From: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-07 20:17:42 +10:00
Dave Airlie
0c7b525c34 drm: fix minor issues caused by core conversion
The conversion to core/driver got this check in-correct.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-07 20:16:08 +10:00
Dave Airlie
22f579c621 drm: Add via unichrome support
Add DRM device driver for VIA Unichrome chipsets

From: Unichrome Project http://unichrome.sf.net, Erdi Chen, Thomas Hellstrom    Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-28 22:48:56 +10:00
Linus Torvalds
8678887e7f Merge 'drm-3264' branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2005-06-26 09:55:39 -07:00
Dave Airlie
6921e33104 drm: fix radeon irq properly
After the previous fix in 2.6.12, this patch should properly fix the
radeon IRQ handling code.

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-26 21:05:59 +10:00
Dave Airlie
bc54fd1ad3 Add missing license texts from Tungsten Graphics.
From: Alan Hourihane
Signed-off-by: David Airlie <airlied@linux.ie>
2005-06-23 22:46:46 +10:00
Dave Airlie
cfd9e15f78 Currently DRM depends on PCI this will need to change for ffb on Sparc to
be fixed but at the moment it is true.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-23 22:43:00 +10:00
Dave Airlie
9a18664506 drm: 32/64-bit DRM ioctl compatibility patch
The patch is against a 2.6.11 kernel tree.  I am running this with a
32-bit X server (compiled up from X.org CVS as of a couple of weeks
ago) and 32-bit DRI libraries and clients.  All the userland stuff is
identical to what I am using under a 32-bit kernel on my G4 powerbook
(which is a 32-bit machine of course).  I haven't tried compiling up a
64-bit X server or clients yet.

In the compatibility routines I have assumed that the kernel can
safely access user addresses after set_fs(KERNEL_DS).  That is, where
an ioctl argument structure contains pointers to other structures, and
those other structures are already compatible between the 32-bit and
64-bit ABIs (i.e. they only contain things like chars, shorts or
ints), I just check the address with access_ok() and then pass it
through to the 64-bit ioctl code.  I believe this approach may not
work on sparc64, but it does work on ppc64 and x86_64 at least.

One tricky area which may need to be revisited is the question of how
to handle the handles which we pass back to userspace to identify
mappings.  These handles are generated in the ADDMAP ioctl and then
passed in as the offset value to mmap.  However, offset values for
mmap seem to be generated in other ways as well, particularly for AGP
mappings.

The approach I have ended up with is to generate a fake 32-bit handle
only for _DRM_SHM mappings.  The handles for other mappings (AGP, REG,
FB) are physical addresses which are already limited to 32 bits, and
generating fake handles for them created all sorts of problems in the
mmap/nopage code.

This patch has been updated to use the new compatibility ioctls.

From: Paul Mackerras <paulus@samba.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-23 21:29:18 +10:00
Dave Airlie
74e8ebc55d [PATCH] remove bogus hack from radeon IRQ handler
This removes a bogus hack from the radeon IRQ handler.
There is a better fix from myself and benh in DRM CVS but I'll wait
until 2.6.13-rc so it gets more testing.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-10 19:27:51 +10:00
Dave Airlie
e98ded32f3 [PATCH] drm add i945G pci id
Add pci identifier for i945G chipset

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-10 18:47:38 +10:00
Dave Airlie
41aac24f8f [PATCH] r128_state.c: break missing in switch statement
drm: fix r128_state.c switch statements..  in drivers/char/drm/r128_state.c
(linux-2.6.12-rc2), some breaks are missing in the switch statement.  See
trivial fix below.

Signed-off-by: Hansjoerg Lipp <hjlipp@web.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:24:04 -07:00
Linus Torvalds
1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00