Trond Myklebust [Sun, 25 Jun 2006 10:44:44 +0000 (06:44 -0400)]
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Alexey Dobriyan [Sun, 25 Jun 2006 09:41:28 +0000 (02:41 -0700)]
nfs: remove nfs_put_link()
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Andrew Morton [Sun, 25 Jun 2006 09:41:27 +0000 (02:41 -0700)]
nfs-build-fix-99
fs/built-in.o:(__param+0x20): undefined reference to `nfs_idmap_cache_timeout'
fs/built-in.o:(__param+0x48): undefined reference to `nfs_callback_set_tcpport'
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Andreas Gruenbacher <agruen@suse.de>
Cc: Andy Adamson <andros@citi.umich.edu>
Cc: Chuck Lever <cel@netapp.com>
Cc: David Howells <dhowells@redhat.com>
Cc: J. Bruce Fields <bfields@fieldses.org>
Cc: Manoj Naik <manoj@almaden.ibm.com>
Cc: Marc Eshel <eshel@almaden.ibm.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Andrew Morton [Sun, 25 Jun 2006 09:41:26 +0000 (02:41 -0700)]
git-nfs-build-fixes
Fix various problems with nfs4 disabled. And various other things.
In file included from fs/nfs/inode.c:50:
fs/nfs/internal.h:24: error: static declaration of 'nfs_do_refmount' follows non-static declaration
include/linux/nfs_fs.h:320: error: previous declaration of 'nfs_do_refmount' was here
fs/nfs/internal.h:65: warning: 'struct nfs4_fs_locations' declared inside parameter list
fs/nfs/internal.h:65: warning: its scope is only this definition or declaration, which is probably not what you want
fs/nfs/internal.h: In function 'nfs4_path':
fs/nfs/internal.h:97: error: 'struct nfs_server' has no member named 'mnt_path'
fs/nfs/inode.c: In function 'init_once':
fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'open_states'
fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'delegation'
fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'delegation_state'
fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'rwsem'
distcc[26452] ERROR: compile fs/nfs/inode.c on g5/64 failed
make[1]: *** [fs/nfs/inode.o] Error 1
make: *** [fs/nfs/inode.o] Error 2
make: *** Waiting for unfinished jobs....
In file included from fs/nfs/nfs3xdr.c:26:
fs/nfs/internal.h:24: error: static declaration of 'nfs_do_refmount' follows non-static declaration
include/linux/nfs_fs.h:320: error: previous declaration of 'nfs_do_refmount' was here
fs/nfs/internal.h:65: warning: 'struct nfs4_fs_locations' declared inside parameter list
fs/nfs/internal.h:65: warning: its scope is only this definition or declaration, which is probably not what you want
fs/nfs/internal.h: In function 'nfs4_path':
fs/nfs/internal.h:97: error: 'struct nfs_server' has no member named 'mnt_path'
distcc[26486] ERROR: compile fs/nfs/nfs3xdr.c on g5/64 failed
make[1]: *** [fs/nfs/nfs3xdr.o] Error 1
make: *** [fs/nfs/nfs3xdr.o] Error 2
In file included from fs/nfs/nfs3proc.c:24:
fs/nfs/internal.h:24: error: static declaration of 'nfs_do_refmount' follows non-static declaration
include/linux/nfs_fs.h:320: error: previous declaration of 'nfs_do_refmount' was here
fs/nfs/internal.h:65: warning: 'struct nfs4_fs_locations' declared inside parameter list
fs/nfs/internal.h:65: warning: its scope is only this definition or declaration, which is probably not what you want
fs/nfs/internal.h: In function 'nfs4_path':
fs/nfs/internal.h:97: error: 'struct nfs_server' has no member named 'mnt_path'
distcc[26469] ERROR: compile fs/nfs/nfs3proc.c on bix/32 failed
make[1]: *** [fs/nfs/nfs3proc.o] Error 1
make: *** [fs/nfs/nfs3proc.o] Error 2
**FAILED**
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Andreas Gruenbacher <agruen@suse.de>
Cc: Andy Adamson <andros@citi.umich.edu>
Cc: Chuck Lever <cel@netapp.com>
Cc: David Howells <dhowells@redhat.com>
Cc: J. Bruce Fields <bfields@fieldses.org>
Cc: Manoj Naik <manoj@almaden.ibm.com>
Cc: Marc Eshel <eshel@almaden.ibm.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Sun, 25 Jun 2006 10:27:31 +0000 (06:27 -0400)]
Merge branch 'odirect'
Linus Torvalds [Sun, 25 Jun 2006 00:48:14 +0000 (17:48 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: (25 commits)
[ARM] 3648/1: Update struct ucontext layout for coprocessor registers
[ARM] Add identifying number for non-rt sigframe
[ARM] Gather common sigframe saving code into setup_sigframe()
[ARM] Gather common sigframe restoration code into restore_sigframe()
[ARM] Re-use sigframe within rt_sigframe
[ARM] Merge sigcontext and sigmask members of sigframe
[ARM] Replace extramask with a full copy of the sigmask
[ARM] Remove rt_sigframe puc and pinfo pointers
[ARM] 3647/1: S3C24XX: add Osiris to the list of simtec pm machines
[ARM] 3645/1: S3C2412: irq support for external interrupts
[ARM] 3643/1: S3C2410: Add new usb clocks
[ARM] 3642/1: S3C24XX: Add machine SMDK2413
[ARM] 3641/1: S3C2412: Fixup gpio register naming
[ARM] 3640/1: S3C2412: Use S3C24XX_DCLKCON instead of S3C2410_DCLKCON
[ARM] 3639/1: S3C2412: serial port support
[ARM] 3638/1: S3C2412: core clocks
[ARM] 3637/1: S3C24XX: Add mpll clock, and set as fclk parent
[ARM] 3636/1: S3C2412: Add selection of CPU_ARM926
[ARM] 3635/1: S3C24XX: Add S3C2412 core cpu support
[ARM] 3633/1: S3C24XX: s3c2410 gpio bugfix - wrong pin nos
...
Linus Torvalds [Sun, 25 Jun 2006 00:47:09 +0000 (17:47 -0700)]
Revert "[PATCH] usb: drivers/usb/core/devio.c dereferences a userspace pointer"
This reverts commit
786dc1d3d7333f269e17d742886eac2188a2d9cc.
As Al so eloquently points out, the patch is crap. The old code was fine,
the new code was bogus.
It never dereferenced a user pointer, the "->" operator was to an array
member, which gives the _address_ of the member (in user space), not an
actual dereference at all.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Russell King [Sat, 24 Jun 2006 22:53:01 +0000 (23:53 +0100)]
Merge signal handler branch
Daniel Jacobowitz [Sat, 24 Jun 2006 22:46:21 +0000 (23:46 +0100)]
[ARM] 3648/1: Update struct ucontext layout for coprocessor registers
Patch from Daniel Jacobowitz
In order for userspace to find saved coprocessor registers, move them from
struct rt_sigframe into struct ucontext. Also allow space for glibc's
sigset_t, so that userspace and kernelspace can use the same ucontext
layout. Define the magic numbers for iWMMXt in the header file for easier
reference. Include the size of the coprocessor data in the magic numbers.
Also define magic numbers and layout for VFP, not yet saved.
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Sat, 24 Jun 2006 21:48:43 +0000 (14:48 -0700)]
Merge branch 'drm-patches' of git://git./linux/kernel/git/airlied/drm-2.6
* 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
drm: radeon constify radeon microcode
Add i915 ioctls to configure pipes for vblank interrupt.
drm: update radeon to 1.25 add r200 vertex program support
drm: radeon add a tcl state flush before accessing tcl vector space
Linus Torvalds [Sat, 24 Jun 2006 21:48:35 +0000 (14:48 -0700)]
Merge branch 'intelfb-patches' of git://git./linux/kernel/git/airlied/intelfb-2.6
* 'intelfb-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/intelfb-2.6:
intelfb delousing
Linus Torvalds [Sat, 24 Jun 2006 21:48:24 +0000 (14:48 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (40 commits)
[SPARC64]: Update defconfig.
[SPARC64]: Make auxio a real driver.
[PARPORT] sunbpp: Convert to new SBUS device framework.
[Documentation]: Update probing info in sbus_drivers.txt
[SCSI] qlogicpti: Convert to new SBUS device framework.
[SCSI] esp: Fix bug in esp_remove_common.
[NET] sunhme: Kill useless loop over sdevs in quattro_sbus_find().
[NET] myri_sbus: Kill unused next_module struct member.
[NET] myri_sbus: Convert to new SBUS device layer.
[NET] sunqe: Convert to new SBUS driver layer.
[NET] sunbmac: Convert over to new SBUS device framework.
[NET] sunlance: Convert to new SBUS driver framework.
[NET] sunhme: Convert to new SBUS driver framework.
[NET] sunhme: Kill __sparc__ and __sparc_v9__ ifdefs.
[SCSI] sparc: Port esp to new SBUS driver layer.
[SOUND] sparc: Port amd7930 to new SBUS device layer.
[SBUS]: Rewrite and plug into of_device framework.
[SPARC]: Port of_device layer and make ebus use it.
[SPARC]: Port sparc64 in-kernel device tree code to sparc32.
[SPARC64]: Add of_device layer and make ebus/isa use it.
...
Linus Torvalds [Sat, 24 Jun 2006 21:32:18 +0000 (14:32 -0700)]
Enable minimal per-device resume tracing
This is the minimal resume trace code to find which device resume (if
any) results in problems. Usually, you'd use the information this
generates as a starting point to adding more fine-grained trace event
points.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Sat, 24 Jun 2006 21:27:42 +0000 (14:27 -0700)]
Add some basic resume trace facilities
Considering that there isn't a lot of hw we can depend on during resume,
this is about as good as it gets.
This is x86-only for now, although the basic concept (and most of the
code) will certainly work on almost any platform.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Russell King [Sat, 24 Jun 2006 21:41:09 +0000 (22:41 +0100)]
[ARM] Add identifying number for non-rt sigframe
GDB couldn't reliably tell the difference between the old and new
non-rt sigframes, so provide it with a number at the beginning which
will never appear in the old sigframe, and hence provide gdb with a
reliable way to tell the two apart.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 24 Jun 2006 21:21:49 +0000 (22:21 +0100)]
Merge S3C24xx branch
Russell King [Sat, 24 Jun 2006 21:21:35 +0000 (22:21 +0100)]
Merge ep93xx branch
Ben Dooks [Sat, 24 Jun 2006 20:22:35 +0000 (21:22 +0100)]
[ARM] 3647/1: S3C24XX: add Osiris to the list of simtec pm machines
Patch from Ben Dooks
Enable power management for Simtec Osiris
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:37 +0000 (21:21 +0100)]
[ARM] 3645/1: S3C2412: irq support for external interrupts
Patch from Ben Dooks
Move the decoding of the IRQ_EXT4 and above out of
the entry macro, and into an chained irq handler
as the EXTINT registers move depending on the CPU
being used.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:36 +0000 (21:21 +0100)]
[ARM] 3643/1: S3C2410: Add new usb clocks
Patch from Ben Dooks
Make the S3C2410 use the same usb clock naming
as the S3C2412
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:35 +0000 (21:21 +0100)]
[ARM] 3642/1: S3C24XX: Add machine SMDK2413
Patch from Ben Dooks
Add basic support for the Samsung/Aiji SMDK2413
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:33 +0000 (21:21 +0100)]
[ARM] 3641/1: S3C2412: Fixup gpio register naming
Patch from Ben Dooks
The current S3C2412 has used to moving S3C24XX_
for the generic form of an register has been
moved from the S3C2410.
Fixup S3C2410_EXTINTx and S3C2410_EINFLTx to
S3C24XX_EXTINTx and S3C24XX_EXTINTx
Depends on Patch #3635/1, Patch #3640/1
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:32 +0000 (21:21 +0100)]
[ARM] 3640/1: S3C2412: Use S3C24XX_DCLKCON instead of S3C2410_DCLKCON
Patch from Ben Dooks
The current S3C2412 support has moved to using
S3C24XX_DCLKCON unless the specific DCLKCON is
required (S3C2412_DCLKCON or S3C2410_DKCLKCON)
Move the few places using S3C2410_DCLKCON to
S3C24XX_DCLKCON
Depends on Patch #3635/1
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:32 +0000 (21:21 +0100)]
[ARM] 3639/1: S3C2412: serial port support
Patch from Ben Dooks
Serial port support for the on-board UART blocks
on the Samsung S3C2412 and S3C2413 UARTs.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:31 +0000 (21:21 +0100)]
[ARM] 3638/1: S3C2412: core clocks
Patch from Ben Dooks
Clock support for the clocks on the Samsung S3C2412
and S3C2413 SoCs. This provides clock enables and
parent selection for all the standard clocks.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:29 +0000 (21:21 +0100)]
[ARM] 3637/1: S3C24XX: Add mpll clock, and set as fclk parent
Patch from Ben Dooks
Update the clocks with the MPLL clock, and
use it as the parent. Also export these to
the rest of arch/arm/mach-s3c2410
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:28 +0000 (21:21 +0100)]
[ARM] 3636/1: S3C2412: Add selection of CPU_ARM926
Patch from Ben Dooks
Select CONFIG_CPU_ARM926 when CONFIG_CPU_S3C2412 is
selected.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:27 +0000 (21:21 +0100)]
[ARM] 3635/1: S3C24XX: Add S3C2412 core cpu support
Patch from Ben Dooks
Add support for the Samsung S3C2412 and S3C2413 range
of SoCs. This patch contains the core identification,
debug macros, and basic register updates to get these
to build.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 24 Jun 2006 20:21:26 +0000 (21:21 +0100)]
[ARM] 3633/1: S3C24XX: s3c2410 gpio bugfix - wrong pin nos
Patch from Ben Dooks
The s3c2410 gpio functions have a pair of bugs where
the code is using the pin function definitions instead
of the pin gpio numbers.
Also remove the changelog
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Chuck Lever [Tue, 20 Jun 2006 16:57:03 +0000 (12:57 -0400)]
NFS: alloc nfs_read/write_data as direct I/O is scheduled
Re-arrange the logic in the NFS direct I/O path so that nfs_read/write_data
structs are allocated just before they are scheduled, rather than
allocating them all at once before we start scheduling requests.
Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Chuck Lever [Tue, 20 Jun 2006 16:56:49 +0000 (12:56 -0400)]
NFS: Eliminate nfs_get_user_pages()
Neil Brown observed that the kmalloc() in nfs_get_user_pages() is more
likely to fail if the I/O is large enough to require the allocation of more
than a single page to keep track of all the pinned pages in the user's
buffer.
Instead of tracking one large page array per dreq/iocb, track pages per
nfs_read/write_data, just like the cached I/O path does. An array for
pages is already allocated for us by nfs_readdata_alloc() (and the write
and commit equivalents).
This is also required for adding support for vectored I/O to the NFS direct
I/O path.
The original reason to pin the user buffer and allocate all the NFS data
structures before trying to schedule I/O was to ensure all needed resources
are allocated on the client before starting to send requests. This reduces
the chance that resource exhaustion on the client will cause a short read
or write.
On the other hand, for an application making very large application I/O
requests, this means that it will be nearly impossible for the application
to make forward progress on a resource-limited client.
Thus, moving the buffer pinning functionality into the I/O scheduling
loops should be good for scalability. The next patch will do the same for
NFS data structure allocation.
Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Chuck Lever [Tue, 20 Jun 2006 16:56:31 +0000 (12:56 -0400)]
NFS: refactor nfs_direct_free_user_pages
Clean-up and fix a minor bug: the logic was dirtying page cache pages on
both read and write operations.
Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Chuck Lever [Tue, 20 Jun 2006 16:56:16 +0000 (12:56 -0400)]
NFS: remove user_addr, user_count, and pos from nfs_direct_req
Make the user_addr, user_count, and pos parameters explicit to the
scheduler routines, and remove the fields from nfs_direct_req. The
iovec API will be passing in a series of these, not just one set.
Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Chuck Lever [Tue, 20 Jun 2006 16:55:45 +0000 (12:55 -0400)]
NFS: "open code" the NFS direct write rescheduler
An NFSv3/v4 client must reschedule on-the-wire writes if the writes are
UNSTABLE, and the server reboots before the client can complete a
subsequent COMMIT request.
To support direct asynchronous scatter-gather writes, the write
rescheduler in fs/nfs/direct.c must not depend on the I/O parameters
in the controlling nfs_direct_req structure. iovecs can be somewhat
arbitrarily complex, so there could be an unbounded amount of information
to save for a rarely encountered requirement.
Refactor the direct write rescheduler so it uses information from each
nfs_write_data structure to reschedule writes, instead of caching that
information in the controlling nfs_direct_req structure.
Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Chuck Lever [Tue, 20 Jun 2006 16:55:19 +0000 (12:55 -0400)]
NFS: Separate functions for counting outstanding NFS direct I/Os
Factor out the logic that increments and decrements the outstanding I/O
count. This will be a commonly used bit of code in upcoming patches.
Also make this an atomic_t again, since it will be very often manipulated
outside dreq->spin lock.
Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Sat, 24 Jun 2006 12:41:41 +0000 (08:41 -0400)]
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Conflicts:
fs/nfs/inode.c
fs/super.c
Fix conflicts between patch 'NFS: Split fs/nfs/inode.c' and patch
'VFS: Permit filesystem to override root dentry on mount'
Andrew Victor [Sat, 24 Jun 2006 08:58:14 +0000 (09:58 +0100)]
[ARM] 3631/1: Remove legacy __mem_isa() definitions
Patch from Andrew Victor
Remove the remaining legacy __mem_isa() definitions for the ARM
platforms.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Sat, 24 Jun 2006 08:57:14 +0000 (09:57 +0100)]
[ARM] 3644/1: ixp2000: export gpio_line_config()
Patch from Lennert Buytenhek
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Sat, 24 Jun 2006 09:33:03 +0000 (10:33 +0100)]
[ARM] 3646/1: ep93xx: instantiate ep93xx-ohci platform device
Patch from Lennert Buytenhek
The ep93xx ohci bits have been merged into the gregkh-2.6 tree, which
means that they will probably go upstream soon, so make the core ep93xx
code instantiate an appropriate ep93xx-ohci platform device.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Sat, 24 Jun 2006 09:33:02 +0000 (10:33 +0100)]
[ARM] 3634/1: ep93xx: initial implementation of the clk_* API
Patch from Lennert Buytenhek
Add an initial implementation of the clk_* API for the cirrus ep93xx
to the tree. The initial implementation is somewhat minimal, with the
intention of extending it as we go along.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Sat, 24 Jun 2006 08:57:13 +0000 (09:57 +0100)]
[ARM] 3632/1: iwmmxt: fix up argument comment for iwmmxt_task_restore()
Patch from Lennert Buytenhek
Commit
d6551e884cf66de072b81f8b6d23259462c40baf forgot to update the
description of what goes into r2 when calling iwmmxt_task_restore().
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dave Airlie [Sat, 24 Jun 2006 07:37:48 +0000 (17:37 +1000)]
drm: radeon constify radeon microcode
From: Tilman (DRM CVS)
Signed-off-by: Dave Airlie <airlied@linux.ie>
Dave Airlie [Sat, 24 Jun 2006 07:07:34 +0000 (17:07 +1000)]
Add i915 ioctls to configure pipes for vblank interrupt.
i915 vblanks can be generated from either pipe a or b, however a disabled
pipe generates no interrupts. This change allows the X server to select
which pipe generates vblank interrupts.
From: Keith Packard <keith.packard@intel.com> via DRM CVS
Signed-off-by: Dave Airlie <airlied@linux.ie>
Dave Airlie [Sat, 24 Jun 2006 07:04:07 +0000 (17:04 +1000)]
drm: update radeon to 1.25 add r200 vertex program support
Add support for r200 vertex programs (R200_EMIT_VAP_PVS_CNTL, and new
packet type for making it possible to address whole tcl vector space
and have a larger count)
From: Roland Scheidegger (DRM CVS)
Signed-off-by: Dave Airlie <airlied@linux.ie>
Dave Airlie [Sat, 24 Jun 2006 06:55:34 +0000 (16:55 +1000)]
drm: radeon add a tcl state flush before accessing tcl vector space
Do a tcl state flush before accessing tcl vector space. This fixes some
more problems with flickering (bug #6637). drm may not be appropriate
place for this, since doing that flush there might both be overkill and
insufficient in some cases. However, it's hard to figure out when that
flush is needed, so this has to suffice. There does not seem to be a
performance penalty associated with it.
From: Roland Scheidegger (DRM CVS)
Signed-off-by: Dave Airlie <airlied@linux.ie>
Al Viro [Fri, 23 Jun 2006 05:05:39 +0000 (06:05 +0100)]
intelfb delousing
ring_head is offset in card memory, not iomem pointer. Fixed, removed
fuckloads of amazingly bogus casts somebody had sprinkled all over the
place.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Dave Airlie <airlied@linux.ie>
David S. Miller [Sat, 24 Jun 2006 06:17:48 +0000 (23:17 -0700)]
[SPARC64]: Update defconfig.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 05:46:49 +0000 (22:46 -0700)]
[SPARC64]: Make auxio a real driver.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 05:22:13 +0000 (22:22 -0700)]
[PARPORT] sunbpp: Convert to new SBUS device framework.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 05:12:39 +0000 (22:12 -0700)]
[Documentation]: Update probing info in sbus_drivers.txt
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 05:00:34 +0000 (22:00 -0700)]
[SCSI] qlogicpti: Convert to new SBUS device framework.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 04:58:34 +0000 (21:58 -0700)]
[SCSI] esp: Fix bug in esp_remove_common.
Do not try to kfree(esp), scsi_host_put() takes care of that.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 04:36:46 +0000 (21:36 -0700)]
[NET] sunhme: Kill useless loop over sdevs in quattro_sbus_find().
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 04:33:44 +0000 (21:33 -0700)]
[NET] myri_sbus: Kill unused next_module struct member.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 04:32:48 +0000 (21:32 -0700)]
[NET] myri_sbus: Convert to new SBUS device layer.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 04:23:01 +0000 (21:23 -0700)]
[NET] sunqe: Convert to new SBUS driver layer.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 01:48:04 +0000 (18:48 -0700)]
[NET] sunbmac: Convert over to new SBUS device framework.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 01:39:40 +0000 (18:39 -0700)]
[NET] sunlance: Convert to new SBUS driver framework.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 01:21:02 +0000 (18:21 -0700)]
[NET] sunhme: Convert to new SBUS driver framework.
And make it a real PCI driver too.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 00:31:12 +0000 (17:31 -0700)]
[NET] sunhme: Kill __sparc__ and __sparc_v9__ ifdefs.
Use CONFIG_SPARC and CONFIG_SPARC64 instead.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 24 Jun 2006 00:29:28 +0000 (17:29 -0700)]
[SCSI] sparc: Port esp to new SBUS driver layer.
This also turns the driver into a new-style scsi driver.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 23:23:12 +0000 (16:23 -0700)]
[SOUND] sparc: Port amd7930 to new SBUS device layer.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 22:55:45 +0000 (15:55 -0700)]
[SBUS]: Rewrite and plug into of_device framework.
I severely apologize, I was still learning how to program
in C when I wrote this stuff 10 years ago...
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 22:55:17 +0000 (15:55 -0700)]
[SPARC]: Port of_device layer and make ebus use it.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 22:53:31 +0000 (15:53 -0700)]
[SPARC]: Port sparc64 in-kernel device tree code to sparc32.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 08:44:10 +0000 (01:44 -0700)]
[SPARC64]: Add of_device layer and make ebus/isa use it.
Sparcspkr and power drivers are converted, to make sure it works.
Eventually the SBUS device layer will use this as a sub-class.
I really cannot cut loose on that bit until sparc32 is given the
same infrastructure.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 05:08:58 +0000 (22:08 -0700)]
[SPARC64]: Expand of_*() interfaces some more.
Import some more stuff from powerpc.
Add of_device_is_compatible(), and of_find_compatible_node().
Export some more of the other routines to modules.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 03:23:56 +0000 (20:23 -0700)]
[SPARC64]: Kill unused local vars in map_prom_timers().
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 03:21:22 +0000 (20:21 -0700)]
[SPARC64]: Kill off some more prom_getproperty() remnants.
The remaining ones occur before we have imported the
device tree.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 03:04:30 +0000 (20:04 -0700)]
[SPARC64]: Convert Cheetah memory controller driver to in-kernel PROM tree.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 02:53:24 +0000 (19:53 -0700)]
[SPARC64]: Convert central bus layer to in-kernel PROM device tree.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 02:31:11 +0000 (19:31 -0700)]
[SPARC64]: Kill ebus/isa range and interrupt mapping struct members.
Unused outside of initial bus probe scan.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 23 Jun 2006 02:12:03 +0000 (19:12 -0700)]
[SPARC64]: Use in-kernel PROM tree for EBUS and ISA.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 23:18:54 +0000 (16:18 -0700)]
[SPARC64]: Convert sparc64 PCI layer to in-kernel device tree.
One thing this change pointed out was that we really should
pull the "get 'local-mac-address' property" logic into a helper
function all the network drivers can call.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 07:49:15 +0000 (00:49 -0700)]
[SPARC64]: Must run smp_setup_cpu_possible_map() after paging_init()
Otherwise the in-kernel PROM device tree isn't built yet,
and therefore the present cpu bits don't get set properly.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 07:01:56 +0000 (00:01 -0700)]
[SPARC64]: Fix for Niagara memory corruption.
On some sun4v systems, after netboot the ethernet controller and it's
DMA mappings can be left active. The net result is that the kernel
can end up using memory the ethernet controller will continue to DMA
into, resulting in corruption.
To deal with this, we are more careful about importing IOMMU
translations which OBP has left in the IO-TLB. If the mapping maps
into an area the firmware claimed was free and available memory for
the kernel to use, we demap instead of import that IOMMU entry.
This is going to cause the network chip to take a PCI master abort on
the next DMA it attempts, if it has been left going like this. All
tests show that this is handled properly by the PCI layer and the e1000
drivers.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 07:00:00 +0000 (00:00 -0700)]
[SPARC64]: Minor bug fix to obp_read_memory().
If we end up zero'ing out the size of one of the entries,
pop it out of the array completely because some code that
examines these things cannot handle a zero length element
properly.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 06:34:02 +0000 (23:34 -0700)]
[SPARC64]: Convert cpu_find_by_*() interface to in-kernel PROM device tree.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 06:07:29 +0000 (23:07 -0700)]
[SPARC64]: Add of_getintprop_default().
This encodes a common idiomatic coding pattern used when
dealing with integer properties.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 05:56:20 +0000 (22:56 -0700)]
[SPARC64]: Convert sun4v virtual-device layer to in-kernel PROM device tree.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 05:31:08 +0000 (22:31 -0700)]
[SPARC64]: Rate limited kernel unaligned trap logging, ala IA64.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 05:07:21 +0000 (22:07 -0700)]
[SPARC64]: Disable verbose PCI IRQ probing messages by default.
Allow them to be enabled with "pci=irq_verbose" on the
boot command line.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 22 Jun 2006 01:18:47 +0000 (18:18 -0700)]
[SPARC64]: Use in-kernel OBP device tree for PCI controller probing.
It can be pushed even further down, but this is a first step.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 21 Jun 2006 23:33:54 +0000 (16:33 -0700)]
[SPARC64]: Add of_find_node_by_{name,type}().
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 21 Jun 2006 22:35:28 +0000 (15:35 -0700)]
[SPARC64]: Import OBP device tree into kernel data structures.
The basic framework is based on the PowerPC OF code.
This code even tries to get the device addressing components
correct in the full path names.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Tue, 20 Jun 2006 22:23:28 +0000 (15:23 -0700)]
[SBUS]: Start cleaning up generic sbus support layer.
In particular, move the IRQ probing out to sparc32/sparc64
arch specific code where it belongs.
Signed-off-by: David S. Miller <davem@davemloft.net>
Dave Jones [Sat, 24 Jun 2006 04:33:08 +0000 (00:33 -0400)]
[PATCH] fix typo in acpi video brightness changes.
Prevent possible null dereference due to misplaced ;
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 23 Jun 2006 22:58:44 +0000 (15:58 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (258 commits)
[libata] conversion to new debug scheme, part 1 of $N
[PATCH] libata: Add ata_scsi_dev_disabled
[libata] Add host lock to struct ata_port
[PATCH] libata: implement per-dev EH action mask eh_info->dev_action[]
[PATCH] libata-dev: move the CDB-intr DMA blacklisting
[PATCH] ahci: disable NCQ support on vt8251
[libata] ahci: add JMicron PCI IDs
[libata] sata_nv: add PCI IDs
[libata] ahci: Add NVIDIA PCI IDs.
[PATCH] libata: convert several bmdma-style controllers to new EH, take #3
[PATCH] sata_via: convert to new EH, take #3
[libata] sata_nv: s/spin_lock_irqsave/spin_lock/ in irq handler
[PATCH] sata_nv: add hotplug support
[PATCH] sata_nv: convert to new EH
[PATCH] sata_nv: better irq handlers
[PATCH] sata_nv: simplify constants
[PATCH] sata_nv: kill struct nv_host_desc and nv_host
[PATCH] sata_nv: kill not-working hotplug code
[libata] Update docs to reflect current driver API
[PATCH] libata: add host_set->next for legacy two host_sets case, take #3
...
Tony Luck [Fri, 23 Jun 2006 20:49:25 +0000 (13:49 -0700)]
[IA64] fix ia64 build (fadt_descriptor)
arch/ia64/kernel/acpi.c got forgotten when include/acpi/actbl.h
got a cleanup.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tony Luck [Fri, 23 Jun 2006 20:46:23 +0000 (13:46 -0700)]
Auto-update from upstream
Nicolas Pitre [Fri, 23 Jun 2006 15:40:53 +0000 (11:40 -0400)]
[PATCH] fix silly ARM non-EABI build error
My bad.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Fri, 23 Jun 2006 11:01:35 +0000 (04:01 -0700)]
[PATCH] s390_hypfs filesystem: get_sb_single() fix
Update hypfs for dhowells API changes.
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Ingo Oeser <ioe-lkml@rameria.de>
Cc: Joern Engel <joern@wohnheim.fh-wedel.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Fri, 23 Jun 2006 10:31:19 +0000 (03:31 -0700)]
[PATCH] cpufreq build fix
drivers/cpufreq/cpufreq_ondemand.c: In function 'do_dbs_timer':
drivers/cpufreq/cpufreq_ondemand.c:374: warning: implicit declaration of function 'lock_cpu_hotplug'
drivers/cpufreq/cpufreq_ondemand.c:381: warning: implicit declaration of function 'unlock_cpu_hotplug'
drivers/cpufreq/cpufreq_conservative.c: In function 'do_dbs_timer':
drivers/cpufreq/cpufreq_conservative.c:425: warning: implicit declaration of function 'lock_cpu_hotplug'
drivers/cpufreq/cpufreq_conservative.c:432: warning: implicit declaration of function 'unlock_cpu_hotplug'
Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Wed, 21 Jun 2006 12:48:09 +0000 (14:48 +0200)]
[BLOCK] Fix bounce limit address check
Do a safer check for when to enable DMA. Currently we enable ISA DMA
for cases that do not need it, resulting in OOM conditions when ZONE_DMA
runs out of space.
Signed-off-by: Jens Axboe <axboe@suse.de>
Jens Axboe [Wed, 21 Jun 2006 07:36:18 +0000 (09:36 +0200)]
[PATCH] rbtree: support functions used by the io schedulers
They all duplicate macros to check for empty root and/or node, and
clearing a node. So put those in rbtree.h.
Signed-off-by: Jens Axboe <axboe@suse.de>
Jens Axboe [Tue, 20 Jun 2006 13:01:12 +0000 (15:01 +0200)]
[PATCH] splice: retrieve mapping after locking the page
Otherwise we could be racing with truncate/mapping removal.
Problem found/fixed by Nick Piggin <npiggin@suse.de>, logic rewritten
by me.
Signed-off-by: Jens Axboe <axboe@suse.de>
Jens Axboe [Fri, 16 Jun 2006 13:35:39 +0000 (15:35 +0200)]
[PATCH] cfq-iosched: rq update fixes
- Remember to set ->last_sector so that the cfq_choose_req() logic
works correctly.
- Remove redundant call to cfq_choose_req()
Signed-off-by: Jens Axboe <axboe@suse.de>
Jens Axboe [Fri, 16 Jun 2006 09:23:00 +0000 (11:23 +0200)]
[PATCH] cfq-iosched: many performance fixes
This is a collection of patches that greatly improve CFQ performance
in some circumstances.
- Change the idling logic to only kick in after a request is done and we
are deciding what to do. Before the idling included the request service
time, so it was hard to adjust. Now it's true think/idle time.
- Take advantage of TCQ/NCQ/queueing for seeky sync workloads, but keep
it in control for sync and sequential (or close to) workloads.
- Expire queues immediately and move on to other busy queues, if we are
not going to idle after the current one finishes.
- Don't rearm idle timer if there are no busy queues. Just leave the
system idle.
Signed-off-by: Jens Axboe <axboe@suse.de>
Jens Axboe [Wed, 14 Jun 2006 07:10:45 +0000 (09:10 +0200)]
[PATCH] cfq-iosched: correctly set ioprio on both targets
Patch originally from Vasily Tarasov <vtaras@sw.ru>
If you set io-priority of process 1 using sys_ioprio_set system call by
another process 2 (like ionice do), then cfq_init_prio_data() function
sets priority of process 2 (current) on queue of process 1 and clears
the flag, that designates change of ioprio. So the process 1 will work
like with priority of process 2.
I propose not to call cfq_init_prio_data() on io-priority change, but
only mark queue as queue with changed prority. Every time when new
request comes cfq-scheduler checks for this flag and atomaticaly changes
priority of queue to new value.
Signed-off-by: Jens Axboe <axboe@suse.de>
Jens Axboe [Mon, 19 Jun 2006 08:06:48 +0000 (10:06 +0200)]
[PATCH] Make CFQ the default IO scheduler
Signed-off-by: Jens Axboe <axboe@suse.de>