ppc64: Add pciconfig_iobase syscall for 32 bits apps only
This syscall is used by XFree to retreive the IO base of the
bus where the video card is plugged. This is only implemented
for compatibility with existing XFree86, I don't plan to do
a 64 bits version, XFree shall be fixed to use proper PCI access
methods
ppc64: Add support for z85c30 SCCs for low level console (PowerMac G5)
This is only used with the "sccdbg" kernel command line option, as
you need a special adapter (www.geethree.com) to get access to the
serial port on those machines.
This involves moving the final fixup to a function pointer in machdep,
turning all the PCI DMA routines into function pointers in a separate
structure and a bit of renaming work. The PowerMac currently use
"direct" PCI DMA bypassing the iommu. The driver for the IOMMU will
come later, allowing us to lift the limitation to 2Gb of RAM
ppc64: Add support for PowerMacs in the OF client interface code (prom.c)
Also move some of the init cruft into separate function to make
things slightly more readable. We sill need to significantly
cleanup that file, but that will come later...
Properly export the OF device-tree accessors to modules
ppc64: Add the head.S changes to boot a PowerMac G5.
Apple's OF boots us with translation enabled. Also move the
copy_and_flush of the CPU holding loop to prom.c as it mustn't
be called on platforms that don't boot in real mode (that space
isn't always mapped)
Wim Van Sebroeck [Wed, 11 Feb 2004 22:14:18 +0000 (23:14 +0100)]
[WATCHDOG] v2.6.2 i8xx_tco-v0.06_update
Version 0.06 of the intel i8xx TCO driver:
* change i810_margin to heartbeat (in seconds)
* use module_param
* added notify system support
* renamed module to i8xx_tco
Matthew Wilcox [Wed, 11 Feb 2004 21:28:51 +0000 (22:28 +0100)]
[WATCHDOG] v2.6.2 watchdog-architecture-cleanup
In order to make the watchdog menu useful for some architectures, we need
to only be able to select the watchdogs that can compile. This patch also
moves the SuperH watchdog from its own Kconfig file to the normal one.
Dave Jones [Wed, 11 Feb 2004 15:09:40 +0000 (15:09 +0000)]
[CPUFREQ] Remove bogus scaling from longhaul driver freqency tables.
This is nonsense. We only use the lower 8 bits, so putting the useful
info in the upper 8 makes no sense at all.
Ingo Molnar [Tue, 10 Feb 2004 23:54:06 +0000 (15:54 -0800)]
[PATCH] open writecount scalability cleanup
This is an obvious scalability improvement for write()s. We used a
global lock to protect the inode writecount (updated on every open for
writing) - this just makes it use the existing inode->i_lock instead.
Dave Jones [Tue, 10 Feb 2004 17:57:45 +0000 (17:57 +0000)]
[CPUFREQ] Pentium-4-M detection fix for speedstep-lib
From Dominik..
The different P-4-M steppings have different "ebx" values. Analyze it
correctly to sort out Pentium-4-based Celerons.
Dave Jones [Tue, 10 Feb 2004 17:06:57 +0000 (17:06 +0000)]
Merge delerium.codemonkey.org.uk:/mnt/nfs/sepia/bar/src/kernel/2.6/trees/bk-linus
into delerium.codemonkey.org.uk:/mnt/nfs/sepia/bar/src/kernel/2.6/trees/cpufreq
Dave Jones [Tue, 10 Feb 2004 16:54:06 +0000 (16:54 +0000)]
[CPUFREQ] Geode register fixes.
From: Hiroshi Miura <miura at da-cha.org>
I mistook a Geode chipset's register meanings. (-.-;
ON is not 'CPU is ON' but 'cpu modulation is ON' that is stops cpu.
this causes a bad freq setting.
This patch fixes this and minor bug that is,
if (new_khz == stock_freq) { /* if new khz == 100% of CPU speed, it is special case */
local_irq_save(flags);
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
cpufreq_notify_transition() called after local_irq_save();
this makes not update cpu_khz.
Keith Owens [Tue, 10 Feb 2004 06:11:17 +0000 (22:11 -0800)]
[PATCH] ia64: Avoid deadlock when using printk() for MCA and INIT records
Port the ia64 mca.c clean up patches from 2.4.25-pre8 to 2.6.2-rc2.
The following 6 patches do :-
1 Avoid deadlock when using printk() for MCA and INIT records.
2 Delete all record printing code, moved to salinfo_decode in user space.
3 Mark variables and functions static where possible.
4 Delete dead variables and functions.
5 Reorder to remove the need for forward declarations and to consolidate
related code.
6 Bjorn's printk cleanup.
Altogether they shrink mca.c from 2432 to 1339 lines and make it much
more readable.
The only functional change is the removal of any attempt to print the
CMC/CPE/MCA/INIT record contents in the kernel plus the addition of an
info printk to ia64_mca_check_errors(), to match 2.4. Now we just get
one line to say that a record has been detected, except for MCA which
prints nothing at all.
Alex Williamson [Tue, 10 Feb 2004 05:45:36 +0000 (21:45 -0800)]
[PATCH] ia64: sba_iommu perf tunning and new functionality
I've been doing some performance tuning and adding some functionality
to sba_iommu for zx1/sx1000 chipsets. This adds:
* Long overdue consistent_dma_mask support
* Long overdue ability to do large mappings in the iommu
* Tightened spinlock usage for better performance/scalability
* Added branch prediction hints for some of the performance paths
* Added explicit data prefetching to some performance paths -
perfmon shows roughly a 20% decrease in L3 misses in the bitmap
search code
* Increased delayed resource freeing depth and added a separate
lock per ioc to avoid contention
* Added code to free up queued pdir entries should we be unable to
find space for new ones (not that I've ever seen the pdir
anywhere close to full)
* Finished cleaning out the hint support code, Grant is
maintaining this separately for now
* Added option to control bypass of sg mappings separately from
single/coherent mappings
Much like the swiotlb, sba_iommu allows devices capable of 64bit
addressing to bypass the iommu and DMA directly to/from memory. Using a
worst case scenario test (64bit bypass disabled, all DMA mapped through
the iommu), I saw a 60% increase in sequential block input throughput
using bonnie++ on a large RAID0 MD array. In fact, this patch provides
the best bonnie++ performance with bypass disabled. This is likely due
to benefits seen from coalescing the scatterlist, allowing better disk
streaming. I assume that network performance will likely be limited by
mapping latency, so I added the last bullet item to allow sg mappings to
get the benefit of coalescing while keeping a low latency path for
single and coherent mappings. If anyone is setup for network
benchmarks, I'd be interested in a before and after with this patch.
Kenneth W. Chen [Tue, 10 Feb 2004 04:55:53 +0000 (20:55 -0800)]
[PATCH] ia64: fix ld.a emulation
This patch fixes a corner-case of ld.a emulation. ld.a should be
emulated such that it always loads a misaligned value and clears the
corresponding ALAT entry. The old emulation was correct for the case
where ld.a was followed by ld.c/chk.a (since ALAT entry was cleared),
but wrong for the case where it _wasn't_ followed by ld.c/chk.a. In
that case, the misaligned value wasn't read from memory, as it should
have been.
Joe Thornber [Tue, 10 Feb 2004 01:24:56 +0000 (17:24 -0800)]
[PATCH] dm: block size bug with 64 bit devs
With 32 bit sector_t the block device size _in bytes_ is also cut to
32 bit in __set_size when the block device is mount (a filesystem
mounted). The argument should be cast to loff_t before expanding the
sector count to a byte count and calling i_size_write.
Jens Axboe [Tue, 10 Feb 2004 00:45:59 +0000 (16:45 -0800)]
[PATCH] DVD-R capability flag set incorrectly, /proc formatting fix
From John McKell <mckellj@iomega.com>:
This patch for scsi/sr.c and cdrom/cdrom.c persuades
/proc/sys/dev/cdrom/info to report that connecting a drive via USB
rather than ATAPI in fact does not make it able to write DVD-R.
Without this patch, when sr0 and hdd are the same type of device
connected via USB and ATAPI respectively, I see:
$ cat /proc/sys/dev/cdrom/info:
drive name: sr1 sr0 hdd
...
Can write CD-R: 1 0 0
Can write CD-RW: 1 0 0
Can read DVD: 0 0 0
Can write DVD-R: 1 1 0
Can write DVD-RAM: 0 0 0
Can read MRW: 0 0 0
Can write MRW: 0 0 0
With this patch applied, instead I see:
$ cat /proc/sys/dev/cdrom/info:
drive name: sr1 sr0 hdd
...
Can write CD-R: 1 0 0
Can write CD-RW: 1 0 0
Can read DVD: 0 0 0
Can write DVD-R: 0 0 0
Can write DVD-RAM: 0 0 0
Can read MRW: 0 0 0
Can write MRW: 0 0 0
The sr1 device in particular is an ordinary CD-RW that in fact cannot
write DVD-R.
While messing with this code, I also thought to tweak the /proc
formatting to align the tabbed columns.
Here's a new version of the patch according to our discussion.
This allows the platform to add its own platform files to the
sysfs PCI device node through a "pcibios_add_platform_entries()"
call.
I added an empty pcibios_add_platform_entries() inline to all
archs that apparently have PCI and implemented the OF stuff for
ppc and ppc64. The name is still "devspec" for now, I doubt
it will conflict and that's consistent with our use of the
"devspec" name in other places.
Andrew Morton [Mon, 9 Feb 2004 10:58:33 +0000 (02:58 -0800)]
[PATCH] getxattr error checking fix
From: Nathan Scott <nathans@sgi.com>,
Andreas Gruenbacher <agruen@suse.de>
XFS regression tests tripped a couple of problems with the recent xattr fix.
When a size of 0 is passed in, the getxattr and listxattr syscalls return the
size that would be required for the value or list of names, without actually
returning the value. The previous patch accidentally removed this test, and
so querying the required size broke.
Andrew Morton [Mon, 9 Feb 2004 10:58:23 +0000 (02:58 -0800)]
[PATCH] Remove duplicated HPPA bits in kernel/sysctl.c
From: "Art Haas" <ahaas@airmail.net>
The following patch removes the duplicated sysctl entries for 'soft-power'
and 'unaligned-trap' for HPPA users. Immediately before these lines these
two entries exist in a C99-style format.
Jean Tourrilhes [Mon, 9 Feb 2004 10:35:34 +0000 (02:35 -0800)]
[IRDA]: Ultra sendto support.
<Original patch from Stephen Hemminger>
o [CORRECT] Always initialise Ultra packet/header size.
o [CORRECT] Don't allow Ultra send on unbound sockets if no
dest address is given.
o [FEATURE] Properly support Ultra sendto on unbound sockets.