Commit Graph

79 Commits

Author SHA1 Message Date
Dave Airlie
3f9df54d63 drm: remove drm_init.c it is no longer needed
Move drm_cpu_valid into drm_fops.c

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-11-10 22:28:56 +11:00
Dave Airlie
22eae947bf drm: rename driver hooks more understandably
Rename the driver hooks in the DRM to something a little more understandable:
preinit         ->      load
postinit        ->      (removed)
presetup        ->      firstopen
postsetup       ->      (removed)
open_helper     ->      open
prerelease      ->      preclose
free_filp_priv  ->      postclose
pretakedown     ->      lastclose
postcleanup     ->      unload
release         ->      reclaim_buffers_locked
version         ->      (removed)

postinit and version were replaced with generic code in the Linux DRM (drivers
now set their version numbers and description in the driver structure, like on
BSD).  postsetup wasn't used at all.  Fixes the savage hooks for
initializing and tearing down mappings at the right times.  Testing involved at
least starting X, running glxgears, killing glxgears, exiting X, and repeating.

Tested on:      FreeBSD (g200, g400, r200, r128)
                Linux (r200, savage4)

From: Eric Anholt <anholt@freebsd.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-11-10 22:16:34 +11:00
Dave Airlie
d34d7ae266 [PATCH] drm fixup pci gart settings
Fix the PCIGART increment and add a cpu_to_le32 for ppc (untested)

Paulus was unsure if we need to cpu_to_le32 but the old code was definitely
wrong, so make it consistent and let the PPC guys figure it out later.

Signed-off-by: Dave Airlie <airlied@linux.ie>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-09 07:55:51 -08:00
Jesper Juhl
735d5661d5 [PATCH] kfree cleanup: drivers/char
This is the drivers/char/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in drivers/char/.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 07:54:02 -08:00
Linus Torvalds
d8762748ca Merge master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6
Manual fixups for some clashes due to re-indenting.
2005-11-01 21:49:07 -08:00
Tim Schmielau
4e57b68178 [PATCH] fix missing includes
I recently picked up my older work to remove unnecessary #includes of
sched.h, starting from a patch by Dave Jones to not include sched.h
from module.h. This reduces the number of indirect includes of sched.h
by ~300. Another ~400 pointless direct includes can be removed after
this disentangling (patch to follow later).
However, quite a few indirect includes need to be fixed up for this.

In order to feed the patches through -mm with as little disturbance as
possible, I've split out the fixes I accumulated up to now (complete for
i386 and x86_64, more archs to follow later) and post them before the real
patch.  This way this large part of the patch is kept simple with only
adding #includes, and all hunks are independent of each other.  So if any
hunk rejects or gets in the way of other patches, just drop it.  My scripts
will pick it up again in the next round.

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:32 -08:00
Ivan Kokshaysky
b0917bd912 [PATCH] fix radeon_cp_init_ring_buffer()
I've seen similar failure on alpha.

Obviously, someone forgot to convert sg->handle stuff for
PCI gart case.

Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-26 10:46:19 -07:00
Dave Airlie
a4e62fa031 drm: remove unused components of drm structures
These haven't been used in quite a long time, takes 1K buffer out of structures.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-10-24 18:45:11 +10:00
Dave Airlie
67e1a014fb drm: fix warning on 64-bit platforms..
This looks ugly, but it is the only thing that makes sense that doesn't
change the API.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-10-24 18:41:39 +10:00
Dave Airlie
5fb4dc9bf5 merge linus head to drm-mm branch 2005-10-22 15:25:01 +10:00
Dave Airlie
23bfc1a339 merge linus head to drm-mm branch 2005-10-22 15:24:35 +10:00
Dave Airlie
e29971f9a4 [PATCH] drm: another mga bug
The wrong state emission routines were being called for G550, and
consistent maps weren't correctly mapped...

Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-21 12:18:09 -07:00
Dave Airlie
312f572605 merge Linus head tree into my drm tree and fix up conflicts 2005-10-20 18:21:33 +10:00
Dave Airlie
11909d6438 [PATCH] fix MGA DRM regression before 2.6.14
I've gotten a report on lkml, of a possible regression in the MGA DRM in
2.6.14-rc4 (since -rc1), I haven't been able to reproduce it here, but I've
figured out some possible issues in the mga code that were definitely
wrong, some of these are from DRM CVS, the main fix is the agp enable bit
on the old code path still used by everyone.....

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-10-19 23:04:31 -07:00
Dave Jones
c0758146ad [PATCH] Fix drm 'debug' sysfs permissions
Just enables some extra printk's, but still..  Only the sysadmin should
be able to do that.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-05 07:38:28 -07:00
Dave Airlie
3d5efad953 drm: fix drm PCIGART
PCI Express support broke PCIGART

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-30 19:12:46 +10:00
Dave Airlie
b3a8363989 drm: fix all sparse warning on 32-bit x86
Finally cleaned up the sparse warnings for the drm.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-30 18:37:36 +10:00
Dave Airlie
689b9d74b1 drm: add option to force writeback off.
In order to get some better debugging from people about certain hangs/crashes
we need to be able to turn AGP writeback off permanently...

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-30 17:09:07 +10:00
Al Viro
666002218d [PATCH] proc_mkdir() should be used to create procfs directories
A bunch of create_proc_dir_entry() calls creating directories had crept
in since the last sweep; converted to proc_mkdir().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-29 08:46:26 -07:00
Dave Airlie
b6ce156c41 drm: fix some lindent damage
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25 15:07:24 +10:00
Dave Airlie
13e4a9c851 drm: cast handle to a pointer to avoid warning
Andrew reported a warning on this line, just case to void *.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25 14:30:09 +10:00
Dave Airlie
b5e89ed53e drm: lindent the drm directory.
I've been threatening this for a while, so no point hanging around.
This lindents the DRM code which was always really bad in tabbing department.
I've also fixed some misnamed files in comments and removed some trailing
whitespace.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25 14:28:13 +10:00
Dave Airlie
99a2657a29 drm: use kernel macros
Make some of the DRM_ macros use the real kernel macros.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25 13:25:41 +10:00
Dave Airlie
4e0c1159d8 update from upstream 2005-09-25 13:14:45 +10:00
Dave Airlie
ea98a92ff1 drm: add radeon PCI express support
Add support for Radeon PCI Express cards (needs a new X.org DDX)
Also allows PCI GART table to be stored in VRAM for non PCIE cards

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-11 20:28:11 +10:00
Dave Airlie
9d17601c4e drm: update radeon driver to 1.18
Add support for GL_ATI_fragment_shader, new packets R200_EMIT_PP_AFS_0/1,
R200_EMIT_PP_TXCTLALL_0-5 (replaces R200_EMIT_PP_TXFILTER_0-5, 2 more regs)
and R200_EMIT_ATF_TFACTOR (replaces R200_EMIT_TFACTOR_0 (8 consts instead of 6)

From: Roland Scheidegger, David Airlie
Signed-off-by: David Airlie <airlied@linux.ie>
2005-09-11 19:55:53 +10:00
Dave Airlie
70dfcfea4b drm: missing drm_vm.c changes for consistent maps
This adds a missing change from CVS for consistent maps.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-11 19:37:29 +10:00
Adrian Bunk
982245f017 [PATCH] PCI: remove CONFIG_PCI_NAMES
This patch removes CONFIG_PCI_NAMES.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-08 14:57:23 -07:00
Dave Airlie
908f9c4850 drm: fix MGA on non AGP systems
Al Viro noticed that MGA wouldn't build on non AGP systems.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-05 21:51:30 +10:00
Dave Airlie
f210973bb6 drm: small cleanups
This patch contains the following small cleanups:
- make two needlessly global functions static
- drm_sysfs.c: every file should #include the header with the prototypes
              of the global functions it is offering

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-05 21:33:44 +10:00
Dave Airlie
89625eb186 drm: fix issue with handle lookup for a 0 handle
On 32-bit PPC a 0 handle is valid for AGP space, the 32/64 lookup
doesn't handle 0 correctly.

From: Ben Herrenschmidt <benh@kernel.crashing.org> and Paul Mackerras <paulus@samba.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-05 21:23:23 +10:00
Dave Airlie
7a9aff3cff drm: fix a bad VERSION check.
I found why my G5 was crashing when using the linux-2.6 version of the
DRM + git-drm.patch from 2.6.13-rc6-mm1, but not with the CVS DRM.
The reason was that dev->agp->cant_use_aperture wasn't getting set,
and the reason for that was that <linux/version.h> no longer gets
included and the #if LINUX_VERSION_CODE < 0x020408 in drm_agpsupport.c
was going the wrong way.  With this patch (and a few others) a 32-bit
server works correctly, as does DRI.

From: Paul Mackerras <paulus@samba.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-23 12:15:43 +10:00
Dave Airlie
88f399cd0a drm: fixes for powerpc
Remove a bogus check on whether an area is memory (we need a better interface)
also change pgprot flags for powerpc
don't check on x86-64 either

From: Paul Mackerras <paulus@samba.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-20 17:43:33 +10:00
Dave Airlie
ffbbf7a3cc drm: add new texture upload code from r300 project
Paul Mackerras did some new upload code for r300, I forgot to add it
to the kernel with r300 merge.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-20 17:40:04 +10:00
Dave Airlie
c8b432dc0c drm: update pci ids for savage and via
Fixup savage and via pci ids

From: Dave Airlie <airlied@linux.ie>
2005-08-16 20:54:18 +10:00
Dave Airlie
414ed53799 drm: add initial r300 3D support.
This adds initial r300 3D support to the radeon DRM.

From: Nicolai Haehnle, Vladimir Dergachev, and others.
Signed-off-by: David Airlie <airlied@linux.ie>
2005-08-16 20:43:16 +10:00
Dave Airlie
282a16749b drm: add savage driver
Add driver for savage chipsets.

From: Felix Kuehling
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-07 15:43:54 +10:00
Dave Airlie
d27c9b548a drm: remove version.h and any version checks..
This patch removes all the drm kernel conditionals from the kernel DRM tree.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-07 15:19:58 +10:00
Dave Airlie
aa0ca6b4bb drm: fix warning in drm_pci.c
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 23:09:14 +10:00
Dave Airlie
1fad99499a drm: remove the gamma driver
The gamma driver has been broken for quite a while, it doesn't build,
we don't have a userspace, mine is in Ireland etc...

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:40:34 +10:00
Dave Airlie
db215327c6 drm: switch drm_handle_t to unsigned int
This converts the drm_handle_t to unsigned int.
This is currently safe to do as we don't pass these across the kernel/user
boundary, but userspace does use these, but no-one builds userspace against
the kernel headers at present so it is okay to switch over the kernel copy
of drm.h at this point. (The CVS tree will switch over soon in sync with
some Mesa changes)

From: Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:13:15 +10:00
Dave Airlie
d1f2b55ad2 drm: updated DRM map patch for 32/64 bit systems
I basically combined Paul's patches with additions that I had made
for PCI scatter gather.
I also tried more carefully to avoid problems with the same token
assigned multiple times while trying to use the base address in the
token if possible to gain as much backward compatibility as possible
for broken DRI clients.

From: Paul Mackerras <paulus@samba.org> and Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:11:22 +10:00
Dave Airlie
c73681e77b drm: copy the right data back to userspace for getreserved contexts ioctl
This fixes the information copied back to userspace by the get reserved
contexts ioctl.

From: Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:02:48 +10:00
Dave Airlie
24d1094227 drm: fix ioctl direction in r128 getparam
Set the IOWR correctly for r128 getparam.

From: Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 21:52:18 +10:00
Dave Airlie
bdf242eeb0 Merge ../linux-2.6/ 2005-07-30 14:37:43 +10:00
Alexey Dobriyan
bbaf364103 [PATCH] drm: via: fix sparse warnings
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:54 -07:00
Dave Airlie
836cf0465c drm: cleanup buffer/map code
This is a patch from DRM CVS that cleans up some code that was in CVS
that I never moved to the kernel, this patch produces the result of the
cleanups and puts it into the kernel drm.

From: Eric Anholt <anholt@freebsd.org>, Jon Smirl, Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 19:27:04 +10:00
Dave Airlie
d01cff4080 drm: add mga driver callbacks
Add some missing driver callback for the PCI support

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 19:24:35 +10:00
Dave Airlie
6795c985a6 Add support for PCI MGA cards to MGA DRM.
This patch adds serveral new ioctls and a new query to get_param query to
support PCI MGA cards.

Two ioctls were added to implement interrupt based waiting.  With this change,
the client-side driver no longer needs to map the primary DMA region or the
MMIO region.  Previously, end-of-frame waiting was done by busy waiting in the
client-side driver until one of the MMIO registers (the current DMA pointer)
matched a pointer to the end of primary DMA space.  By using interrupts, the
busy waiting and the extra mappings are removed.

A third ioctl was added to bootstrap DMA.  This ioctl, which is used by the
X-server, moves a *LOT* of code from the X-server into the kernel.  This allows
the kernel to do whatever needs to be done to setup DMA buffers.  The entire
process and the locations of the buffers are hidden from user-mode.

Additionally, a get_param query was added to differentiate between G4x0 cards
and G550 cards.  A gap was left in the numbering sequence so that, if needed,
G450 cards could be distinguished from G400 cards.  According to Ville
Syrjälä, the G4x0 cards and the G550 cards handle anisotropic filtering
differently.  This seems the most compatible way to let the client-side driver
know which card it's own.  Doing this very small change now eliminates the
need to bump the DRM minor version twice.

http://marc.theaimsgroup.com/?l=dri-devel&m=106625815319773&w=2

(airlied - this may not work at this point, I think the follow on buffer
 cleanup patches will be needed)

From: Ian Romanick <idr@us.ibm.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 18:20:09 +10:00
Dave Airlie
b5d499cfde drm: make drm_alloc_agp take a dev arg.
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 18:17:42 +10:00