linas [Wed, 16 Nov 2005 23:10:41 +0000 (17:10 -0600)]
[PATCH] PCI Error Recovery: header file patch
Various PCI bus errors can be signaled by newer PCI controllers.
Recovering from those errors requires an infrastructure to notify
affected device drivers of the error, and a way of walking through a
reset sequence. This patch adds a set of callbacks to be used by error
recovery routines to notify device drivers of the various stages of
recovery.
Jesse Barnes [Sat, 17 Dec 2005 17:27:50 +0000 (09:27 -0800)]
[PATCH] PCI: update Toshiba ohci quirk DMI table
I upgraded my Toshiba Satellite BIOS recently to see if it would fix an
ACPI related problem I have
(http://bugzilla.kernel.org/show_bug.cgi?id=5727). Unfortunately, it
didn't, and moreover, Toshiba chose to change the system version in the
DMI table with the update, causing the OHCI1394 related quirk to break.
This patch updates the DMI table for the quirk to include Toshiba's new
version name for this machine; I've tested it and it seems to work fine.
Adrian Bunk [Thu, 22 Dec 2005 00:08:52 +0000 (01:08 +0100)]
[PATCH] PCI: drivers/pci: some cleanups
This patch contains the following cleanups:
- hotplug/pciehp_core.c: make the needlessly global hpdriver_context
static
- #if 0 the following unused functions:
- pci.c: pci_bus_max_busnr()
- pci.c: pci_max_busnr()
- proc.c: pci_proc_attach_bus()
- remove.c: pci_remove_device_safe
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[PATCH] PCI Hotplug: fix up the sysfs file in the compaq pci hotplug driver
The Compaq PCI Hotplug driver was creating 2 sysfs files that contained
nothing but debug information, and had way more than "one value" in
them. This patch converts the code to use debugfs for these files
instead.
Compile tested only.
Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jesper Juhl [Sun, 11 Dec 2005 05:42:18 +0000 (06:42 +0100)]
[PATCH] PCI: Reduce nr of ptr derefs in drivers/pci/hotplug/cpqphp_core.c
Here's a small patch to reduce the nr of pointer dereferences in
drivers/pci/hotplug/cpqphp_core.c
Benefits of this patch:
- micro speed optimization due to fewer pointer derefs
- generated code is slightly smaller
- tiny line length and whitespace cleanup
- better readability
Jesse Barnes [Fri, 9 Dec 2005 19:55:03 +0000 (11:55 -0800)]
[PATCH] PCI: document sysfs rom file interface
idr gently pointed out today that not only is the sysfs rom file
interface somewhat unintuitive (despite my efforts and initial
implementation), but it's also undocumented! This patch to
Documentation/filesystems/sysfs-pci.txt corrects the latter problem; the
former is a userland ABI now though, so we're stuck with it for awhile
at least.
The powerpc PCI code sets up the PCI tree without doing config space
accesses in most cases, from the firmware tree. However, it still wants
to call pci_cfg_space_size() under some conditions, thus it needs to
be made non-static (though I don't see a point to export it to modules).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[PATCH] PCI: use bus numbers sparsely, if necessary
Add a warning if a child bus may be inaccessible because the
parent bridge has wrong secondary or subordinate bus numbers.
Note that this may or may not happen on "transparent" bridges,
as can be seen in bug #5557.
Also, if we do not fix up the assignment of bus numbers, try to
make use of the bus number space available.
Thomas Schaefer [Thu, 8 Dec 2005 19:55:57 +0000 (11:55 -0800)]
[PATCH] pciehp: handle sticky power-fault status
This patch disables power fault, MRL sensor and presence detection
interrupts when a PCIe slot is powered-off and enables those
interrupts when it is powered-on again. This is necessary to prevent
the associated events from causing an endless cycle of interrupts
due to the power-fault bit, which stays set till power is restored
to the slot.
Signed-off-by: Thomas Schaefer <thomas.schaefer@kontron.com> Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Daniel Yeisley [Mon, 5 Dec 2005 12:06:43 +0000 (07:06 -0500)]
[PATCH] PCI Quirk: 1K I/O space granularity on Intel P64H2
I've implemented a quirk to take advantage of the 1KB I/O space
granularity option on the Intel P64H2 PCI Bridge. I had to change
probe.c because it sets the resource start and end to be aligned on 4k
boundaries (after the quirk sets them to 1k boundaries). I've tested
this patch on a Unisys ES7000-600 both with and without the 1KB option
enabled. I also tested this on a 2 processor Dell box that doesn't have
a P64H2 to make sure there were no negative affects there.
Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kenji Kaneshige [Mon, 5 Dec 2005 10:31:00 +0000 (19:31 +0900)]
[PATCH] shpchp: Implement get_address callback
The following patch implements .get_address callback of
hotplug_slot_ops for SHPCHP driver. With this patch, we
can see bus address of hotplug slots as follows:
Kenji Kaneshige [Fri, 25 Nov 2005 03:28:53 +0000 (12:28 +0900)]
[PATCH] shpchp: fix improper wait for command completion
Current SHPCHP driver uses msleep_interruptible() function to wait for
a command completion event. But I think this would cause an unnecessary
long wait until timeout, if command completion interrupt came before
task state was changed to TASK_INTERRUPTIBLE. This patch fixes this
issue. With this patch, command completion becomes faster as follows:
Kenji Kaneshige [Thu, 24 Nov 2005 02:39:29 +0000 (11:39 +0900)]
[PATCH] shpchp: fix improper write to Command Completion Detect bit
Current SHPCHP driver writes a '0' to the Command Completion Detect
bit to clear the Command Complete Interrupt Pending. But according to
the SHPC spec (See 4.7.3.1 System Interrupts), SHPCHP driver must
write '1'. This patch fixes this bug.
Kenji Kaneshige [Thu, 24 Nov 2005 02:35:05 +0000 (11:35 +0900)]
[PATCH] shpchp: fix improper reference to Mode 1 ECC Capability" bit
The hpc_get_mode1_ECC_cap() function of SHPCHP driver seems to refer
the wrong bit for refering the "Mode 1 ECC Capability" bit. This bug
seems not to cause any problem so far. But I think this should be
fixed. This patch fixes this bug.
Kenji Kaneshige [Thu, 24 Nov 2005 04:44:01 +0000 (13:44 +0900)]
[PATCH] shpchp: fix improper reference to Slot Avail Regsister
The hpc_get_max_bus_speed() function of the SHPCHP driver seems to
refer wrong bits in the "Slot Avail Register I" and "Slot Avail
Register II". This patch fixes this bug. And this also cleanup the
code.
Sergey Vlasov [Mon, 14 Nov 2005 17:30:50 +0000 (20:30 +0300)]
[PATCH] PCIE: make bus_id for PCI Express devices unique
The bus_id string must be unique for all devices of that bus in the
system, not just for devices with the same parent - otherwise multiple
symlinks with identical names appear in /sys/bus/pci_express/devices.
Knut Petersen [Mon, 9 Jan 2006 14:04:20 +0000 (15:04 +0100)]
[PATCH] Update cyblafb driver
This is a major update to the cyblafb framebuffer driver. Most
of the stuff has been tested in the mm tree.
Main advantages:
============
- vxres > xres support
- ywrap and xpan support
- much faster for almost all modes (e.g. 1280x1024-16bpp
draws more than 41 full screens of text instead of about 25
full screens of text per second on authors Epia 5000)
- module init/exit code fixed
- bugs triggered by console rotation fixed
- lots of minor improvements
- startup modes suitable for high performance scrolling
in all directions
This diff also contains a lot of white space fixes.
No side effects are possible, only one single graphics core is affected.
Dan Williams [Mon, 9 Jan 2006 16:04:31 +0000 (11:04 -0500)]
[patch] ipw2100: support WEXT-18 enc_capa v3
This patch allows ipw2100 driver to advertise the WPA-related encryption
options that it does really support. It's necessary to work correctly
with NetworkManager and other programs that actually check driver & card
capabilities.
Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Denis Vlasenko [Fri, 6 Jan 2006 06:45:47 +0000 (22:45 -0800)]
[PATCH] fix a few "warning: 'cleanup_card' defined but not used"
These warnings are emitted if non-modular network drivers are built.
Fixes just move cleanup_card() definitions into #ifdef MODULE region.
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/wd.c:131: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/3c503.c:152: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/ne.c:216: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/hp.c:106: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/hp-plus.c:142: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/smc-ultra.c:172: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/e2100.c:144: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/es3210.c:159: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/lne390.c:149: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/lance.c:313: warning: 'cleanup_card' defined but not used
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/ac3200.c:127: warning: 'cleanup_card' defined but not used
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Ayaz Abdulla [Fri, 6 Jan 2006 06:45:45 +0000 (22:45 -0800)]
[PATCH] forcedeth: TSO fix for large buffers
This contains a bug fix for large buffers. Originally, if a tx buffer to
be sent was larger then the maximum size of the tx descriptor, it would
overwrite other control bits. In this patch, the buffer is split over
multiple descriptors. Also, the fragments are now setup in forward order.
Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Olaf Hering [Fri, 6 Jan 2006 06:45:45 +0000 (22:45 -0800)]
[PATCH] remove bouncing mail address of mv643xx_eth maintainer
Remove bouncing mail address of mv643xx maintainer.
Signed-off-by: Olaf Hering <olh@suse.de> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Adrian Bunk [Fri, 6 Jan 2006 06:45:41 +0000 (22:45 -0800)]
[PATCH] drivers/net/Kconfig: indentation fix
This patch fixes a wrong indentation.
Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Eric Paris [Fri, 6 Jan 2006 16:57:11 +0000 (11:57 -0500)]
[PATCH] update bonding.txt to not show ip address on slaves
ifenslave, as of abi version 2, does not set the ip address on the slave
interfaces. The documentation example however still shows that the
ensalved interfaces should have the same IP as the master. The patch
simply removes the lines from the example which should no longer appear.
Signed-off-by: Eric Paris <eparis@redhat.com>
bonding.txt | 2 --
1 files changed, 2 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
[PATCH] tulip: enable multiport NIC BIOS fixups for x86_64
A BIOS bug affecting some multiport tulip NICs requires an irq fixup
in tulip_core.c. This has only been enabled for i686, but it is
needed for x86_64 as well.
Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Andrew Chew [Thu, 5 Jan 2006 03:13:04 +0000 (19:13 -0800)]
[PATCH] sata_nv, spurious interrupts at system startup with MAXTOR 6H500F0 drive
This patch works around a problem with spurious interrupts seen at boot time when
a MAXTOR 6H500F0 drive is present. An ATA interrupt condition is mysteriously
present at start of day. If we took too long in issuing the first command,
the kernel would basically get tired of the spurious interrupts and turn the interrupt
off. Issuing the first command essentially causes the interrupt condition to
get acknowledged.
I haven't seen this happen with any other drives.
What I basically do is ack ATA status by reading it regardless of whether we're
expecting to have to handle an interrupt. This clears the start-of-day anomalous
interrupt condition, and keeps the kernel from disabling that interrupt due to
too many spurious interrupts.
Also, I fixed a bug where hotplug interrupts weren't getting acknowledged as handled
in the ISR. This was not the cause of the spurious interrupts, but it's the right
thing to do anyway.
Signed-Off-By: Andrew Chew Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Eugene Surovegin [Tue, 27 Dec 2005 20:36:41 +0000 (12:36 -0800)]
[PATCH] PPC44x EMAC driver: disable TX status deferral in half-duplex mode
Disable TX status deferral (EMACx_MR[MWSW=001]) in half-duplex mode.
I have two reports when EMAC stops transmitting when connected to a
hub. TX ring debug printouts show complete mess when this happens,
probably hardware collision handling doesn't work quite well in this
mode.
This is relevant only for SoCs with EMAC4 core (440GX, 440SP, 440SPe).
Tested on 440GX.
Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Johannes Berg [Sat, 31 Dec 2005 10:35:20 +0000 (11:35 +0100)]
[PATCH] ieee80211: enable hw wep where host has to build IV
This patch fixes some of the ieee80211 crypto related code so that
instead of having the host fully do crypto operations, the host_build_iv
flag works properly (for WEP in this patch) which, if turned on,
requires the hardware to do all crypto operations, but the ieee80211
layer builds the IV. The hardware also has to build the ICV.
Previously, the host_build_iv flag couldn't be used at all for WEP, and
not alone (with both host_decrypt and host_encrypt disabled) because the
crypto algorithm wasn't assigned. This is also fixed.
I have tested this patch both in host crypto mode and in hw crypto mode
(with the Broadcom chipset).
[resent, signing digitally caused it to be MIME-junked, sorry]
Signed-Off-By: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
[PATCH] sk98lin: error handling on dual port board
Sk98lin driver error recovery on two port boards is bad.
If it fails the second allocation, it will not release resources
properly. Also it registers the second port in the pci driver data
If second port fails, might as well go with one port.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Sk98lin 64bit memory handling is wrong. It doesn't set the
highdma flag; i.e. the kernel always does bounce buffers.
It doesn't fallback to 32 bit mask if it can't get 64 bit mask.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
[PATCH] sk98lin: routine called from probe marked __init
Sk98lin driver has a routine marked __init that is called from
the probe code. If using pci hotplug, this could be called after
the initialization so it needs to be marked __devinit.
So if you hot added a sk98lin board, the kernel would crash.
I don't have hot plug hardware to actually try this feat.
Also, there are two routines, only called from SkGeBoardInit that can
be marked __devinit.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jens Axboe [Mon, 9 Jan 2006 15:03:35 +0000 (16:03 +0100)]
[IDE] Use the block layer deferred softirq request completion
This patch makes IDE use the new blk_complete_request() interface.
There's still room for improvement, as __ide_end_request() really
could drop the lock after getting HWGROUP->rq (why does it need to
hold it in the first place? If ->rq access isn't serialized, we are
screwed anyways).
Jens Axboe [Mon, 9 Jan 2006 15:02:34 +0000 (16:02 +0100)]
[BLOCK] ll_rw_blk: Enable out-of-order request completions through softirq
Request completion can be a quite heavy process, since it needs to
iterate through the entire request and complete the bio's it holds.
This patch adds blk_complete_request() which moves this processing
into a dedicated block softirq.
Jens Axboe [Mon, 9 Jan 2006 14:30:20 +0000 (15:30 +0100)]
[BLOCK] Kill blk_attempt_remerge()
It's a broken interface, it's done way too late. And apparently it triggers
slab problems in recent kernels as well (most likely after the generic dispatch
code was merged). So kill it, ide-cd is the only user of it.
Paul Mackerras [Mon, 9 Jan 2006 09:17:01 +0000 (20:17 +1100)]
powerpc: set CONFIG_PPC_OF=y always for ARCH=powerpc
The CONFIG_PPC_OF symbol is used to mean that the firmware device tree
access functions are available. Since we always have a device tree
with ARCH=powerpc, make CONFIG_PPC_OF always Y for ARCH=powerpc.
This fixes some compile errors reported by Kumar Gala, but in a
different way to his patch. This also makes prom_parse.o be compiled
only if CONFIG_PPC_OF so that non-OF ARCH=ppc platforms will compile.
Anton Blanchard [Mon, 9 Jan 2006 04:47:04 +0000 (15:47 +1100)]
[PATCH] powerpc: DABR exceptions should report the address not the PC
When taking a DABR exception we were reporting the PC. It makes more
sense to report the address that caused the exception, and the gdb guys
would like it that way.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Anton Blanchard [Mon, 9 Jan 2006 04:41:31 +0000 (15:41 +1100)]
[PATCH] ppc64: Fix oprofile when compiled as a module
My recent changes to oprofile broke it when built as a module. Fix it by
using an enum instead of a function pointer. This way we still retain
the oprofile configuration in the cputable.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
[PATCH] 4/5 powerpc: Add cpufreq support for all desktop G5
This patch adds cpufreq support for all desktop "tower" G5 models. The
only G5 models still lacking cpufreq support at this point are the
Xserve and possibly the new iMac iSight (not tested). I'll have those
added soon. That patch uses the new platform functions interpreter to
implement frequency and voltage switching on most models.
Note that in order to find the low frequency value, I had to hack
something that might now work properly on all models, so if the
frequency value reported when running low speed looks bogus to you,
please report it to me. (Appart from a bogus reported value, things
should work fine).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This is the platform function interpreter itself along with the backends
for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute
those do-platform-* scripts in the device-tree (at least for most
devices for which a backend is provided). This should replace the clock
spreading hacks properly. It might also have an impact on all sort of
machines since some of the scripts marked "at init" will now be executed
on boot (or some other on sleep/wakeup), those will possibly do things
that the kernel didn't do at all, like setting some values into some i2c
devices (changing thermal sensor calibration or conversion rate) etc...
Thus regression testing is MUCH welcome. Also loook for errors in dmesg.
That's also why I've left rather verbose debugging enabled in this
version of the patch.
(I do expect some Windtunnel G4s to show some errors as they have an i2c
clock chip on the PMU bus that uses some primitives that the i2c backend
doesn't implement yet. I really need users that have one of those
machine to come back to me so we can get that done right, though the
errors themselves should be harmless, I suspect the machine might not
run at full speed).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This is the continuation of the previous patch. This one removes the old
PowerMac i2c drivers (i2c-keywest and i2c-pmac-smu) and replaces them
both with a single stub driver that uses the new PowerMac low i2c layer.
Now that i2c-keywest is gone, the low-i2c code is extended to support
interrupt driver transfers. All i2c busses now appear as platform
devices. Compatibility with existing drivers should be maintained as the
i2c bus names have been kept identical, except for the SMU bus but in
that later case, all users has been fixed.
With that patch added, matching a device node to an i2c_adapter becomes
trivial.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This is the first part of a rework of the PowerMac i2c code. It
completely reworks the "low_i2c" layer. It is now more flexible,
supports KeyWest, SMU and PMU i2c busses, and provides functions to
match device nodes to i2c busses and adapters.
This patch also extends & fix some bugs in the SMU driver related to i2c
support and removes the clock spreading hacks from the pmac feature code
rather than adapting them to the new API since they'll be replaced by
the platform function code completely in patch 3/5
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Anton Blanchard [Fri, 6 Jan 2006 13:49:49 +0000 (00:49 +1100)]
[PATCH] ppc64: fix time syscall
ppc64 has its own version of sys_time. It looks pretty scary, touching
a whole bunch of variables without any locking or memory ordering.
In fact, a recent bugreport has shown it can actually go backwards. Time
to remove it and just use the generic sys_time, which is implemented on
top of do_gettimeofday.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
The addition of the .text section definition in the definition of
_GLOBAL overrides the .relocate_code section definition. As a result,
these two functions don't end up in .relocate_code, so they don't get
relocated correctly, and the boot fails.
There's another suspicious-looking usage at kernel/swsusp.S:37 that
someone should look into. I did not exhaustively search the source
tree, though.
The following is the minimal patch that fixes the immediate problem.
I could easily be convinced that the _GLOBAL definition should be
modified to remove the ".text;" line either instead of, or in addition
to, this fix.
Signed-off-by: Paul Janzen <pcj@linux.sez.to> Signed-off-by: Paul Mackerras <paulus@samba.org>
Arnd Bergmann [Thu, 5 Jan 2006 14:05:29 +0000 (14:05 +0000)]
[PATCH] spufs: set irq affinity for running threads
For far, all SPU triggered interrupts always end up on
the first SMT thread, which is a bad solution.
This patch implements setting the affinity to the
CPU that was running last when entering execution on
an SPU. This should result in a significant reduction
in IPI calls and better cache locality for SPE thread
specific data.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Arnd Bergmann [Wed, 4 Jan 2006 19:31:32 +0000 (20:31 +0100)]
[PATCH] spufs: fix allocation on 64k pages
The size of the local store is architecture defined
and independent from the page size, so it should
not be defined in terms of pages in the first place.
This mistake broke a few places when building for
64kb pages.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Arnd Bergmann [Wed, 4 Jan 2006 19:31:30 +0000 (20:31 +0100)]
[PATCH] spufs: abstract priv1 register access.
In a hypervisor based setup, direct access to the first
priviledged register space can typically not be allowed
to the kernel and has to be implemented through hypervisor
calls.
As suggested by Masato Noguchi, let's abstract the register
access trough a number of function calls. Since there is
currently no public specification of actual hypervisor
calls to implement this, I only provide a place that
makes it easier to hook into.
Arnd Bergmann [Wed, 4 Jan 2006 19:31:29 +0000 (20:31 +0100)]
[PATCH] spufs: move spu_run call to its own file
The logic for sys_spu_run keeps growing and it does
not really belong into file.c any more since we
moved away from using regular file operations to our
own syscall.
No functional change in here.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Arnd Bergmann [Wed, 4 Jan 2006 19:31:28 +0000 (20:31 +0100)]
[PATCH] spufs: clean up use of bitops
checking bits manually might not be synchonized with
the use of set_bit/clear_bit. Make sure we always use
the correct bitops by removing the unnecessary
identifiers.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Arnd Bergmann [Wed, 4 Jan 2006 19:31:24 +0000 (20:31 +0100)]
[PATCH] spufs: serialize sys_spu_run per spu
During an earlier cleanup, we lost the serialization
of multiple spu_run calls performed on the same
spu_context. In order to get this back, introduce a
mutex in the spu_context that is held inside of spu_run.
Noticed by Al Viro.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Arnd Bergmann [Wed, 4 Jan 2006 19:31:23 +0000 (20:31 +0100)]
[PATCH] spufs: check for proper file pointer in sys_spu_run
Only checking for SPUFS_MAGIC is not reliable, because
it might not be unique in theory. Worse than that,
we accidentally allow spu_run to be performed on
any file in spufs, not just those returned from
spu_create as intended.
Noticed by Al Viro.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Arnd Bergmann [Wed, 4 Jan 2006 19:31:22 +0000 (20:31 +0100)]
[PATCH] spufs: dont hold root->isem in spu_forget
spu_forget will do mmput on the DMA address space,
which can lead to lots of other stuff getting triggered.
We better not hold a semaphore here that we might
need in the process.
Noticed by Al Viro.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>