Dave Jones [Wed, 8 Jan 2003 10:56:06 +0000 (02:56 -0800)]
[PATCH] signal.h -W cleanup
Next in line for the -W cleanups is this patch from Willy
which I've been carrying since 2.5.29 or so. Should be no
functional differences, just no more warnings when we compile
with -W
Dave Jones [Wed, 8 Jan 2003 10:54:58 +0000 (02:54 -0800)]
[PATCH] Fix up dma_alloc_coherent with 64bit DMA masks on i386.
Cset 1.808 in 2.4 never got propagated forward to 2.5
It's pretty much the same fix as below (s/!=/</), but with the following
changes
- This was a patch to pci_alloc_consistant(), which now wants to be
dma_alloc_coherent()
- Removal of the u32 cast
Dave Jones [Wed, 8 Jan 2003 10:53:48 +0000 (02:53 -0800)]
[PATCH] Fix READ_CD fallback.
From Jens Axboe:
Only fall back to plain READ, if the device says it doesn't
support the READ_CD opcode. This is the true error for which
we want to do the fall back, not for any generic error.
Gerd Knorr [Wed, 8 Jan 2003 02:11:43 +0000 (18:11 -0800)]
[PATCH] media/video i2c updates
This updates a bunch of i2c modules in drivers/media/video. Most of it
are adaptions to the recent i2c changes in the kernel. While being at
it I also did some other cleanups like deleting unused+dead code, using
name-based initialization for some not-yet converted structs, ...
The also has a few small fixes here and there, but no major functional
changes.
Gerd Knorr [Wed, 8 Jan 2003 02:11:35 +0000 (18:11 -0800)]
[PATCH] add bt832 module
This adds a driver module for the bt832 chip. It is needed by the bttv
driver to support the Pixelview Digital Camera. The bt832 is connected
using the GPIO pins of the bt878 chip.
Gerd Knorr [Wed, 8 Jan 2003 02:11:20 +0000 (18:11 -0800)]
[PATCH] bttv driver update.
This updates the bttv driver. Changes:
* adaptions to the video-buf changes send in a previous mail.
* adaptions to recent i2c changes in the kernel.
* first code bits the pixelview digital camera support (not
working yet).
* lots of small fixes/changes for specific TV cards.
Gerd Knorr [Wed, 8 Jan 2003 02:11:13 +0000 (18:11 -0800)]
[PATCH] add v4l1-compat module.
This adds the v4l1-compat module. This is a module which can translate
most (old) v4l1 ioctls into the new v4l2 API. This makes it easier for
v4l2 drivers to present both old v4l and new v4l2 APIs to video4linux
applications. The saa7134 driver uses this for example.
Gerd Knorr [Wed, 8 Jan 2003 02:11:06 +0000 (18:11 -0800)]
[PATCH] video-buf.c update
This updates the video-buf helper module. It changes the field handling
a bit and adds code do deal better with alternating field capture (=
capture even and odd fields to separate video buffers).
Gerd Knorr [Wed, 8 Jan 2003 02:11:00 +0000 (18:11 -0800)]
[PATCH] add tda9887 module
This adds the tda9887 i2c module to the linux kernel. This one is
needed for some TV cards. It also adds the missing #define to
audiochip.h which currently breaks the bttv build.
Paul Mackerras [Thu, 9 Jan 2003 04:11:56 +0000 (15:11 +1100)]
PPC32: Update the support for the IBM 40x embedded PowerPC chips and boards.
Some of this comes from recent work in the 2_4_devel tree, including the
conversion to using an array (core_ocp[]) to describe on-chip peripherals
in a standard format. The other major change is to give the board file
control early on in the boot and let it call back to generic 4xx routines
rather than vice-versa.
Trond Myklebust [Wed, 8 Jan 2003 01:59:37 +0000 (17:59 -0800)]
[PATCH] allow arbitrary alignment of NFS read/write requests
Patch by Chuck Lever to add a new field called wb_pgbase to the
nfs_page struct. This separates the concept of file page offset from
buffer page offset, allowing NFS to specify read and write requests
into buffers at offsets that are independent of the file page
offset. It is a prequisite for direct I/O in NFS.
Andrew Morton [Wed, 8 Jan 2003 01:48:48 +0000 (17:48 -0800)]
[PATCH] Reduced wakeup rate in direct-io code
We don't need to wake up the synchronous waiter for every BIO
completion - just for the final BIO.
This reduces the context switch rate of a 180 megabyte/sec read from
3500/sec to 2200/sec when performing 1400 128k I/Os per second, so it
more than halves the overhead.
Andrew Morton [Wed, 8 Jan 2003 01:48:34 +0000 (17:48 -0800)]
[PATCH] bio dirtying infrastructure
In two cases (AIO-for-direct-IO and some CDROM DMA stuff which Jens
did), we need to run set_page_dirty() in interrupt context. After DMA
hardware has altered userspace pages for direct-IO reads.
But mapping->page_lock, mapping->private_lock and inode_lock are not
irq-safe. And really, we don't want to convert those locks just for this
problem.
So what we do is to dirty the pages *before* starting I/O. Then, in
interrupt completion context, check to see that they are still dirty.
If so then there is nothing to do. But if the pages were cleaned while
the direct-IO is in progress we need to redirty them. The code uses
schedule_work() for that.
Of course, we could use schedule_work() for all BIOs and pages. The
speculative dirty-before-starting-IO is just an optimisation. It's
quite unlikely that any of the pages will be cleaned during the direct
IO.
This code is basically untestable under normal circumstances, because the
relevant pages are pinned via get_user_pages(). This makes
is_page_cache_freeable() evaluate false and the VM doesn't try to write them
out anyway. But if the pages happen to be MAP_SHARED file pages, pdflush
could clean them. The way I tested this code was to disable the call to
bio_set_pages_dirty() in fs/direct-io.c.
Andrew Morton [Wed, 8 Jan 2003 01:48:21 +0000 (17:48 -0800)]
[PATCH] return the correct thing from direct-io
If direct-io encounters an error, it currently returns that error even if it
performed some I/O.
Change it so that if there is an error and we read or wrote something, return
the number of bytes written/read. Only return the error code if zero bytes
were written/read.
Adrian Bunk [Wed, 8 Jan 2003 01:48:06 +0000 (17:48 -0800)]
[PATCH] remove code for 2.0 kernels from drivers/char/ftape/*
The patch below is large but trivial:
It removes old #if'd compatiblity code for 2.0 kernels from
drivers/char/ftape/* (this includes the removal of two header files
including only compatibility code and the #include's of these files).
Justin T. Gibbs [Tue, 7 Jan 2003 12:58:41 +0000 (05:58 -0700)]
aic7xxx and aic79xx driver updates:
o Correct memory mapped I/O test for legacy controllers
that do not have the "auto-access-pause" feature.
o Prevent NMIs from triggering should the MMAP I/O test fail.
o Fix aic7770 (EISA/VLB) controller regression.
o Kill a few compiler warnings.
Linus Torvalds [Tue, 7 Jan 2003 05:50:10 +0000 (21:50 -0800)]
Merge penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/numaq
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
Martin J. Bligh [Tue, 7 Jan 2003 05:48:45 +0000 (21:48 -0800)]
[PATCH] nuke clustered_apic_mode and friends
OK, the grand finale ... NUMA-Q is now moved into subarch, so we can
kill off the last vestiges - CONFIG_CLUSTERED_APIC, clustered_apic_mode,
and smpboot.h (which only contains machine specific stuff now anyway).
the esr_disable switch was the last bit, that goes to subarch too.
If you end up with an empty smpboot.h due to patch / bitkeeper interactions,
please remove it after this ...
Martin J. Bligh [Tue, 7 Jan 2003 05:48:32 +0000 (21:48 -0800)]
[PATCH] remove clustered_apic_mode from smpboot.c
This removes clustered_apic_mode from smpboot.c into subarch,
creating a headerfile "mach_wakecpu" for all the cpu wakeup stuff.
This is pretty much the last of clustered_apic_mode ... ;-)
Martin J. Bligh [Tue, 7 Jan 2003 05:48:19 +0000 (21:48 -0800)]
[PATCH] cleanup apicid <-> cpu mapping
To be honest, I have no idea what I was smoking when I wrote this
originally, and it's kind of coincidental that it works at all currently.
We never use physical apicids after the cpus are all booted, so we should
just store the logical IDs which all subsequent things use. The only things
that were using the apicid->cpu mapping were hokey anyway, and it's hard to
maintain for machines that have a large apic addressing space (eg P4s
in clustered mode). Rips out everything except the mapping from
logical_apic_id -> cpu.
Martin J. Bligh [Tue, 7 Jan 2003 05:47:57 +0000 (21:47 -0800)]
[PATCH] changes do_boot_cpu to return an error code
Patch from James Cleverdon
Changes do_boot_cpu to return an error code, instead of trying to
work it out later by magic and voodoo. Removes the other usage
of apicid->cpu which is hard to maintain cleanly.
Martin J. Bligh [Tue, 7 Jan 2003 05:47:45 +0000 (21:47 -0800)]
[PATCH] make i386 topology caching
Patch originally by Matt Dobson. Reworked a little by me.
Stores the mappings between cpus and nodes in an array, instead of
working them out every time. Gives about 4% off systime for kernel
compile (we use these for every page allocation), and removes one
of the two only usages of apicid->cpu mapping, which is really awkward
to keep for systems with large apic spaces, and is genererally pretty
useless anyway (later patch removes).