Nathan Scott [Wed, 15 Oct 2003 03:17:22 +0000 (20:17 -0700)]
[PATCH] ia64: correct ino_t to be 64 bits wide
This brings the kernel in sync with glibc (and all other 64-bit platforms
other than Alpha and S390x). This fixes ustat() and breaks nfsctl_export,
but the latter is a deprecated interface anyhow (newer versions of
nfsutils use "exportfs" instead).
David Mosberger [Wed, 15 Oct 2003 03:13:31 +0000 (20:13 -0700)]
ia64: Fix __delay() to do The Right Thing. In practice, this may
cause BogoMIPS to drop to half the clock-speed with current
versions of GCC, but this just shows that GCC doesn't generate
very good code for single-cycle loops. Perhaps it will motivate
someone to improve GCC in this area (though it's hardly of
practical value, other than for producing large BogoMIPS values).
Jesse Barnes [Wed, 15 Oct 2003 02:40:18 +0000 (19:40 -0700)]
[PATCH] ia64: force on appropriate generic options
Make sure that generic kernels actually build by forcing on the
necessary options. With this patch I was able to build a generic kernel
out of the to-linus-2.5 tree.
Jesse Barnes [Tue, 14 Oct 2003 09:52:05 +0000 (02:52 -0700)]
[PATCH] ia64: SN2 module fix
Because we're the only platform with seperate in, out, and read
routines, we have to include the file that defines them in our machvec
header so that users of the functions will get the right defines and not
use the non-inline function variants (which are only necessary for
generic kernels).
Tony Luck [Tue, 14 Oct 2003 09:45:42 +0000 (02:45 -0700)]
[PATCH] ia64: Another MCA fix
The definition of the pal_process_state_info_s structure
misses out some useful pieces (e.g. the "mi" bit which indicates
whether we should call PAL_MC_ERROR_INFO to get more details).
Worse yet, some of the bits are in the wrong places (cc/tc/bc).
See Volume 2 of "Intel Itanium Architecture Software Developer's
Manual". (In the Rev 2.1 October 2002 edition, p. 2:268 and 2:276).
Tony Luck [Mon, 13 Oct 2003 07:07:56 +0000 (00:07 -0700)]
[PATCH] ia64: cannot convert region 5 address to physical by clearing bits 63:61
Another no-brainer bug fix snipped out of the quagmire of
the MCA/TLB patch. This one is for 2.6 only, we must use
the new LOAD_PHYSICAL() macro to get the physical address of
the code label that we want to jump to, the INST_VA_TO_PA()
macro just clears the region bits, which only works for region
7 addresses.
Tony Luck [Mon, 13 Oct 2003 07:02:43 +0000 (00:02 -0700)]
[PATCH] ia64: infinite loop in ia64_mca_wakeup_ipi_wait
This bugfix has been hiding inside the MCA TLB patches.
There is an infinite loop in ia64_mca_wakeup_ipi_wait() because
the compiler optimizes away the test at the bottom of the while
loop. It does this because IA64_MCA_WAKEUP_VECTOR is 0xf0, so
irr_bit is known to be the constant 0x30, a.k.a. 48 in decimal.
So when the compiler looks at the expression:
Jesse Barnes [Fri, 10 Oct 2003 11:35:59 +0000 (04:35 -0700)]
[PATCH] ia64: nable SN2 in generic builds
Now that it works, we can enable sn2 in generic builds. This should not
only allow generic kernels to work on sn2, but also fix the build
problems people have been seeing with the qla1280 driver. I tested a
generic kernel built with this patch on zx1 and it worked.
Tony Luck [Fri, 10 Oct 2003 09:53:34 +0000 (02:53 -0700)]
[PATCH] ia64: fix register numbers in MCA save/restore
This corrects the save/restore code in mca_asm.S
which was written long ago, before the assembler understood
mnemonic names for 'cr' and 'ar' registers (in fact it
appears to have been written pre-silicon, some of the
control register numbers don't match with what actually
got built). There were other goofs too (like using
0, 1, 2, etc. for region register subscripts).
David Mosberger [Fri, 10 Oct 2003 09:17:14 +0000 (02:17 -0700)]
ia64: Patch by Jesse Barnes:
This patch fixes the combination of CONFIG_DISCONTIGMEM and
CONFIG_VIRTUAL_MEM_MAP so that generic kernels will work on all ia64
platforms, including sn2, and also makes sn2 specific kernels work
(which I think is a first).
I've cleaned this patch up heavily based on feedback from yourself,
Christoph and others. I've tested sn2, zx1, and dig (thanks Xavier!)
specific configurations, as well as a generic configuration that allows
the same binary to boot on zx1, dig, and sn2.
Peter Chubb [Thu, 9 Oct 2003 10:19:19 +0000 (03:19 -0700)]
[PATCH] ia64: drop stale check for GAS_HAS_LOCAL_TAGS
GAS_HAS_LOCAL_TAGS was removed a long time ago, but uaccess.h never got
updated. Without this fix, bad syscall args may cause a SEGFAULT instead
of failing gracefully.
Kenneth W. Chen [Thu, 9 Oct 2003 09:02:14 +0000 (02:02 -0700)]
[PATCH] ia64: fix NUMA hugetlb support
Here is a patch that adds numa support for hugetlb page on ia64. It is
taken from x86 numa implementation. The low level hugetlb page
pre-allocation is done in round robin fashion on each numa node and
allocation for user level code is node local aware.
Jesse Barnes [Thu, 9 Oct 2003 06:59:30 +0000 (23:59 -0700)]
[PATCH] ia64: deal with lack of SRAT in GENERIC kernels
n platforms without an SRAT (e.g. zx1), the cpu_to_node_map will get
built incorrectly without this fix, making generic kernels fail when
they try to alloc_pages_node() from a nodeid of -1.
Jesse Barnes [Thu, 9 Oct 2003 06:51:05 +0000 (23:51 -0700)]
[PATCH] ia64: fix is_headless_node() for systems w/<64p
I didn't realize that any_online_cpu() wouldn't work for
is_headless_node(), so this patch reverts the function back to using the
node_to_cpu_mask[] array, fixing sn2 for systems with less than 64p.
Janet Morgan [Wed, 8 Oct 2003 10:45:05 +0000 (03:45 -0700)]
[PATCH] ia64: sys_ia32.c fix for epoll
I ran into some bugs testing epoll in ia32-emulation mode on ia64.
The attached patch fixes the problems and is well tested.
Here is a summary of the changes:
Changes to sys32_epoll_ctl() and sys32_epoll_wait():
- changed epoll_event32.data to an array (this is subjective, but seems
to make the code more readable)
Changes to sys32_epoll_wait():
- added call to __get_free_pages if kmalloc(epoll_event array) fails. This
provides needed scalability and fixes the -ENOMEM failure during
epoll-pipetest.
- deleted copy-in of epoll_event array since this is not a user-inputsyscall
- changed to check numevents > 0 as indicator of success on call to
sys_epoll_wait.
- changed to loop on numevents not maxevents when copying out to userspace.
Michael Hunold [Wed, 8 Oct 2003 01:48:03 +0000 (18:48 -0700)]
[PATCH] some more av7110 dvb-driver updates
- some progress on DVB-C analog module: experimentally fix frequency
offset, initialize msp3400 for analog TV sound
- Reduce the number of dropped TS packets when an error is detected
(Jon Burgess)
- If somebody calls G_TUNER for a DVB-C card w/ analog module, then
check for the selected tuner, not if the currently selected channel
has a tuner.
- play_iframe may be used to play stillpicture frames, that can either
by complete i-frames or partial p-frames. In any case, the av7110
needs about 400kB of video data, before the internal video decoder
starts displaying anything. for stillframes, this is bad, so we
*always* loop writing the frame until the magic amount is reached.
stupid, but works...
- applied 64bit fixes by Pedro Miguel Teixeira <pmsjt@warner.homeip.net
Michael Hunold [Wed, 8 Oct 2003 01:47:54 +0000 (18:47 -0700)]
[PATCH] Kconfig and Makefile updates, inspired by Adrian Bunk and Roman Zippel
- split up saa7146 compilation in core part (saa7146.o) and video+vbi
part (saa7146_vv). some drivers need both (av7110.c), some drivers
only need the core stuff (budget*.c)
- add entry for sp887x DVB-T modulator to corresponding Kconfig
- use new SELECT facility of Kconfig, first mentioned by Adrian Bunk
and Roman Zippel in DVB subsystem
- use SELECT in media/video/Kconfig, too.
Michael Hunold [Wed, 8 Oct 2003 01:47:45 +0000 (18:47 -0700)]
[PATCH] update dvb frontend drivers
- add budget driver as possible client of the ves1820 frontend driver
- fix wrong include in sp887x.c frontend driver
- fix wrong chip description in tda1004xh frontend driver
- fixed detection of stv0299 if chip is in standby mode
- change some #ifdef to #if, for easier debug enable/disable
- ves1820: patch by Peter Bieringer: nicer log output
- ves1820: allow PWM (tuner calibaration) value from EEPROM to be
overridden on command line (based on patch by Peter Bieringer). New
module paramters: "pwm" (max 4 ints, range -1..0xff) and "verbose"
(to print AFC value aftger tuning).
Michael Hunold [Wed, 8 Oct 2003 01:47:27 +0000 (18:47 -0700)]
[PATCH] various patches for non-av7110 dvb-drivers
- patch by Jon Burgess to fix DMA issues
- reduce the number of dropped TS packets when an error is detected
(Jon Burgess)
- use budget-ci driver for new TT DVB-T cards with onboard MSP430.
Michael Hunold [Wed, 8 Oct 2003 01:47:11 +0000 (18:47 -0700)]
[PATCH] update copyright and licensing
- fix copyright stuff in various files:
- remove e-mail addresses that don't exist anymore, but of course keep
the names
- change license from GPL to LGPL in dvb_i2c.h (Convergence code)
- change license from GPL to LGPL in dvb_ringbuffer.h (ack by original
author Oliver Endriss)
- add LGPL license to dvb_functions
Michael Hunold [Wed, 8 Oct 2003 01:46:54 +0000 (18:46 -0700)]
[PATCH] video capture updates for saa7146 core
- some Kconfig simplifications
- FIELD_ALTERNATE capture was broken, add a "wait for vbi" command
before actually waiting for the field change
- improvements regarding streaming capture to gfx card memory.
- captured frames could only be page aligned. fixed.
- fix pgtable_build_single, it should work for all kinds of buffers now
(system memory (kernel/user) and gfx-memory)
- Fix bytesperline-calculation for V4L2_FIELD_ALTERNATE vs.
V4L2_FIELD_INTERLACED capture
Matthew Wilcox [Wed, 8 Oct 2003 01:33:21 +0000 (18:33 -0700)]
[PATCH] unify drivers/Kconfig
It's a pain for architecture maintainers to keep the toplevel Kconfig
files in sync. This addresses part of the problem by moving all the
standard driver includes to drivers/Kconfig. As a bonus, it moves all
the device drivers together in a menu which tames menuconfig somewhat.
This patch only touches i386. Other architectures can join the party
as soon as they feel ready to inflict all the choices on their userbase.
Miles Bader [Wed, 8 Oct 2003 01:32:54 +0000 (18:32 -0700)]
[PATCH] Changes to v850 platform linker-script fragments
This does two things:
(1) Move the v850 platform-specific linker-script fragments into
arch/v850/kernel, from arch/v850. This move was prompted by a
recent (all-architecture) move for vmlinux.lds.S, to keep the
script together, but I think it also makes sense -- this way, all
platform-specific non-header files are in the same directory with
similar names.
(2) Remove some hardwired constants in the linker script fragments,
using already defined cpp macros anyway. This eliminates one
annoying source of duplicate definitions (which had to be kept in
sync).
Miles Bader [Wed, 8 Oct 2003 01:28:30 +0000 (18:28 -0700)]
[PATCH] Move `ptrinfo' function from mm/slab.c to mm/memory.c
This function doesn't compile on non-MMU systems, so put it in a place
where it won't cause problems (mm/memory.c is only compiled if
CONFIG_MMU is defined).
Trond Myklebust [Tue, 7 Oct 2003 16:51:33 +0000 (12:51 -0400)]
NFSv4 state model update
- Hierarchy of state attached to nfs4_client in order to
simplify state recovery.
state_owners hang off nfs4_client, whereas state hangs
off both open_owners and the nfs_inode.
- Model tries to minimize the number of open_owners on
the server by recycling unused open_owners into a pool.
- NFSv4 state attached to file->private_data. Previously
this was used by credentials (and still is for NFSv2/v3)
Abstract out setup/release of struct file and nfs_page
structure initialization in order to cope with these
conflicting uses of private_data.
Trond Myklebust [Tue, 7 Oct 2003 11:59:42 +0000 (07:59 -0400)]
Simplify the synchronous NFS read call interface by
passing a pointer to a filled nfs_read_data structure
(the same struct used by the asynchronous function calls)
Trond Myklebust [Tue, 7 Oct 2003 11:50:48 +0000 (07:50 -0400)]
The NFSv4 state model assumes that the client machine identifies
itself to the server once and once only.
This patch ensures that we do this by sharing the local identifier
struct nfs4_client among all mountpoints that talk to the same
server/ip address.
Trond Myklebust [Tue, 7 Oct 2003 11:35:49 +0000 (07:35 -0400)]
Fix up hangs with the upcall mechanism for RPCSEC_GSS and the
NFSv4 idmapper.
- Correct bugs in idmapper wait code.
- Correct layering bugs in RPCSEC_GSS and idmapper
- Ensure we advance the file pointer in case of partial
reads/writes of a message on the pipes
Trond Myklebust [Tue, 7 Oct 2003 11:30:00 +0000 (07:30 -0400)]
UDP round trip timer fix. Modify Karn's algorithm so that
we inherit timeouts from previous requests.
This means that we lengthen the window of time during which
we accept updates to the RTO estimate if we see an update.
Scheme proposed by Brian Mancuso, but it is standard for TCP
congestion control implementations.