Commit graph

213 commits

Author SHA1 Message Date
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
Matthew Garrett
b0825488a6 [PATCH] agp: restore APBASE after setting APSIZE
When leaving S3 state, the AGP bridge may not have all PCI configuration
registers set in the same way as they were at boot.  This should be fixed
by pci_restore_state - however, the APBASE register cannot be set to
conflict with the APSIZE register.  If APSIZE is larger than it was before
suspend, pci_restore_state will not restore APBASE correctly.  The attached
patch adds an extra item to the agp_bridge_data structure and uses it to
store the value of APBASE.  On resume, this is then written after APSIZE
has been set.  This patch only touches the path used for Intel chipsets
without integrated graphics, and may need to be extended to work with the
others.

Without this patch, I get the symptoms described in bug 4921 - APBASE ends
up overlapping various PCI devices, and as a result they fail to work after
resume.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-29 15:01:15 -07:00
Linus Torvalds
e0d7ff168a Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2005-07-29 09:48:34 -07:00
Jesper Juhl
77933d7276 [PATCH] clean up inline static vs static inline
`gcc -W' likes to complain if the static keyword is not at the beginning of
the declaration.  This patch fixes all remaining occurrences of "inline
static" up with "static inline" in the entire kernel tree (140 occurrences in
47 files).

While making this change I came across a few lines with trailing whitespace
that I also fixed up, I have also added or removed a blank line or two here
and there, but there are no functional changes in the patch.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:20 -07:00
Olaf Hering
44456d37b5 [PATCH] turn many #if $undefined_string into #ifdef $undefined_string
turn many #if $undefined_string into #ifdef $undefined_string to fix some
warnings after -Wno-def was added to global CFLAGS

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:08 -07:00
Andrew Morton
3dcce8e22b [PATCH] ppc64: tpm_infineon build fix
ppc64 uses symbol `DAR', as does the TPM driver, causing a build failure.
Change the TPM name.

Cc: Marcel Selhorst <selhorst@crypto.rub.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:07 -07:00
Marcel Selhorst
ebb81fdb3d [PATCH] tpm: Support for Infineon TPM
This patch provides a new device driver for the Infineon SLD 9630 TT Trusted
Platform Module (TPM 1.1b) [1] which is embedded on Intel- mainboards or in
HP/ Fujitsu-Siemens / Toshiba-Notebooks.  A nearly complete list where this
module is integrated in can be found in [2].

This kernel module acts as a communication gateway between the linux kernel
and the hardware chip and fits the TPM-specific interfaces created by IBM in
drivers/char/tpm/tpm.h

Further information about this module and a list of succesfully tested and
therefore supported hardware can be found at our project page [3].

[1]
http://www.infineon.com/cgi/ecrm.dll/ecrm/scripts/public_download.jsp?oid=114135&parent_oid=29049

[2]
http://www.tonymcfadden.net/tpmvendors.htm

[3]
http://www.prosec.rub.de/tpm

Signed-off-by: Marcel Selhorst <selhorst@crypto.rub.de>
Acked-by: Kylene Jo Hall <kjhall@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:06 -07:00
Andrew Morton
62b662a309 [PATCH] ppc64: genrtc build fix
genrtc.c won't compile on ppc64.  Seems that ppc32 does support it though?

We do this wrong btw - we should be selecting GEN_RTC in each
arch/xxx/Kconfig.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:57 -07:00
Andrey Panin
4bfdf37830 [PATCH] consolidate CONFIG_WATCHDOG_NOWAYOUT handling
Attached patch removes #ifdef CONFIG_WATCHDOG_NOWAYOUT mess duplicated in
almost every watchdog driver and replaces it with common define in
linux/watchdog.h.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:54 -07: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
Rolf Eike Beer
b7343f01e3 [PATCH] watchdog: add missing 0x in alim1535_wdt.c
Usually the device IDs are given in hex.  This one is a bit strange: it is
without 0x in the first place and used with it some lines later.  I suspect
the first one to be the wrong.

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:51 -07:00
Andrew Morton
479d0f41e5 [PATCH] softdog build fix
drivers/char/watchdog/softdog.c:94: too many arguments to function `emergency_restart'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 21:48:54 -07:00
Andrew Morton
cc1d3a9a78 [PATCH] eurotechwdt build fix
drivers/char/watchdog/eurotechwdt.c:165: too many arguments to function `emergency_restart'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 21:48:54 -07:00
Eric W. Biederman
68acc05d01 [PATCH] pcwd.c: Call kernel_power_off not machine_power_off
The call appears to come from process context so kernel_power_off
should be safe.  And acpi_power_off won't necessarily work if you just
call machine_power_off.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:44 -07:00
Eric W. Biederman
970d32443e [PATCH] In hangcheck-timer.c call emergency_restart()
If we've hung a clean reboot does not sound like a real
option.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:44 -07:00
Eric W. Biederman
f82567e55f [PATCH] Fix watchdog drivers to call emergency_reboot()
If a watchdog driver has decided it is time to reboot the system
we know something is wrong and we are in interrupt context
so emergency_reboot() is what we want.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:43 -07:00
Eric W. Biederman
4de8b9b760 [PATCH] Update sysrq-B to use emergency_restart()
sysrq calls into the reboot path from an interrupt handler
we can either push the code do into process context and
call kernel_restart and get a clean reboot or we can simply
reboot the machine, and increase our chances of actually
rebooting.  emergency_reboot() seems like the closest match
to what we have previously done, and what we want.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:43 -07:00
Vojtech Pavlik
5ac7ba3ff5 Input: check keycodesize when adjusting keymaps
When changing key mappings we need to make sure that the new
keycode value can be stored in dev->keycodesize bytes.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-24 00:50:03 -05:00
Michal Ostrowski
a1287ba1ba [PATCH] rocket.c: Fix ldisc ref count handling
If bailing out because there is nothing to receive in rp_do_receive(),
tty_ldisc_deref is not called.  Failure to do so increases the ref count
and causes release_dev() to hang since it can't get the ref count to 0.

Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15 09:54:51 -07:00
Nishanth Aravamudan
030babac6a [PATCH] vt.c build fix
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15 09:54:50 -07:00
Yoichi Yuasa
6e498c1080 [PATCH] TB0219: add PCI IRQ initialization
This patch adds PCI IRQ initialization to TB0219 driver.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 16:01:02 -07:00
Dmitry Torokhov
e0d21d9cca Merge rsync://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2005-07-11 00:58:04 -05: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
Dave Airlie
93f453f3ff drm: add new mga ids and types
From: Ian Romanick <idr@us.ibm.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 17:45:34 +10:00
Dave Airlie
cda1738066 drm: add test for AGP devices and driver override for it.
Added device_is_agp callback to drm_driver.  This function is called by the
platform-specific drm_device_is_agp function.  Added implementation of this
function the the Linux-specific portion of the MGA driver to detect PCI G450
cards.  Added code to the Linux-specific portion of the generic DRM layer to
not initialize AGP infrastructure if the card is not AGP (this matches what
already existed in BSD).

Fix up i810/i830 and i915 drivers to always return AGP as they don't always
report the capability.

Fix the MGA to not report AGP for a card that has an AGP chip behind a PCI
bridge.

From: Ian Romanick, Dave Airlie, Alan Hourihane
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 17:31:26 +10:00
Dave Airlie
ceb9c27aa7 drm: destatic exported function.
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 17:07:23 +10:00
Dave Airlie
d84f76d37c drm: export symbols for use by drivers
This just exports symbols for use in drivers.

From: Ian Romanick <idr@us.ibm.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 17:04:22 +10:00
Dave Airlie
aff138ab8e drm: fix minor function header issue
From: Ian Romanick <idr@us.ibm.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 16:58:40 +10:00
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