Commit graph

1095 commits

Author SHA1 Message Date
Linas Vepstas
4980d5eb75 [POWERPC] EEH: restructure multi-function support
Rework how multi-function PCI devices are identified and traversed.
This fixes a bug with multi-function recovery on Power4 that was
introduced by a recent Power4 EEH patch.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:57 +11:00
Linas Vepstas
fa1be476a2 [POWERPC] EEH: verify state change
After requesting a state change, verify that the state change
actually ocurred, and the system ends up in the expected state.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:56 +11:00
Linas Vepstas
d0ab95ca98 [POWERPC] EEH: rm un-needed data
The EEH event notification system passes around data that is
not needed or at least, not used properly. Stop passing this
data; get it in a more reliable fashion.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:55 +11:00
Linas Vepstas
9c547768e7 [POWERPC] EEH: wait for slot status
Modify routine that returns PCI slot status to wait for slot status
to become available. This is needed, as slots that are in some remote
card cage may go offline for extended periods of time. New users for
this routine in following patches.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:54 +11:00
Linas Vepstas
90375f5396 [POWERPC] EEH: handle reset state high
Some firmware versions will return a slot reset state of "1"
when a slot is EEH frozen. Recognize this as a state that can be
handled.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:54 +11:00
Linas Vepstas
5794dbcbab [POWERPC] EEH: multifunction recovery bugfix
If the second or higher function of a multi-function device fails
to recover, this failure is not reported upwards. Fix this.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:53 +11:00
Linas Vepstas
90fdd6130f [POWERPC] EEH: hotplug recovery bugfix
If a device driver does not have native PCI error recovery,
a hotplug error recovery will be attemped. In this case,
the device driver will not report back whether its healthy
or not; simply assume that it is.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:52 +11:00
Linas Vepstas
147d6a3750 [POWERPC] EEH: support ibm,get-config-addr-info2 RTAS call
Provide support for the new ibm,get-config-addr-info2 RTAS token,
whenever it is actually available.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:52 +11:00
Linas Vepstas
2fd30be8da [POWERPC] EEH: Tolerate high mmio
Some drivers will attempt to perform a lot of mmio even after
an EEH event was detected. This is especially the case for fast cpu's
and PCI-E slots. Be a bit more lenient in allowing this.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:51 +11:00
Linas Vepstas
e0f90b6418 [POWERPC] EEH: Add clarifying messages.
There are multiple code patchs tht resuls in a "permanent
failure"; when examining rare events, it can be hard to see
which was taken. This patch adds printk's to assist.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:50 +11:00
Linas Vepstas
39d16e2959 [POWERPC] EEH: modify order of EEH state checking
Change the order in which pci error state is examined;
the "capabilites" is not valid if "reset state" is 5.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 22:52:49 +11:00
Anton Blanchard
4f5fa2fb12 [POWERPC] Bypass hcall stats until cpu features have run
I noticed that we execute hcalls before cpu feature code has run (eg
for setting up the bolted kernel region).  This means that we may be
executing code that is not appropriate for the processor we have.
Create an unconditional branch that we nop out all the time to fix this.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 15:01:43 +11:00
Mohan Kumar M
b4aea36b79 [POWERPC] Avoid hypervisor statistics calculation in real mode
kexec invokes plpar_hcall hypervisor call in real mode.  plpar_hcall
refers to per cpu variables for accounting hypervisor statistics.
These variables may not be in the RMO region, so accesses to them
in real mode may result in a data storage exception.

This fixes this problem by using a new plpar_hcall_raw function which
does not update the hypervisor call statistics.  Thanks to Anton for
suggesting this idea.

Signed-off-by: Mohan Kumar M <mohan@in.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-22 15:01:43 +11:00
Robert P. J. Day
e85f008d01 [POWERPC] Correct apparently misspelled "XMON" preprocessor symbol.
Correct the apparent misspelling of "XMON" to "CONFIG_XMON".

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-16 16:38:19 +11:00
Mariusz Kozlowski
a782a9e3a1 [POWERPC] 8xx parenthesis balance
This balances parenthesis in powerpc 8xx header files.

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-16 16:38:19 +11:00
Al Viro
abad95f736 [PATCH] pasemi trivial iomem annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-14 15:27:50 -07:00
Geert Uytterhoeven
ef596c697a [POWERPC] ps3: always make sure were running on a PS3
Add missing checks to PS3 specific drivers ps3av and sys-manager to verify that
we are actually running on a PS3 (pointed out by Arnd).

Correct existing checks in other subsystems/drivers to return -ENODEV instead
of zero.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
2007-03-10 00:07:51 +01:00
Benjamin Herrenschmidt
94b2a4393c [POWERPC] Fix spu SLB invalidations
The SPU code doesn't properly invalidate SPUs SLBs when necessary,
for example when changing a segment size from the hugetlbfs code. In
addition, it saves and restores the SLB content on context switches
which makes it harder to properly handle those invalidations.

This patch removes the saving & restoring for now, something more
efficient might be found later on. It also adds a spu_flush_all_slbs(mm)
that can be used by the core mm code to flush the SLBs of all SPEs that
are running a given mm at the time of the flush.

In order to do that, it adds a spinlock to the list of all SPEs and move
some bits & pieces from spufs to spu_base.c

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2007-03-10 00:07:50 +01:00
Christoph Hellwig
50b520d4ef [POWERPC] avoid SPU_ACTIVATE_NOWAKE optimization
This optimization was added recently but is still buggy,
so back it out for now.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
2007-03-10 00:07:49 +01:00
Arnd Bergmann
aa0ed2bdb6 [POWERPC] spufs: fix possible memory corruption is spufs_mem_write
Due to a buggy unsigned comparison, it was possible to write
beyond the end of the local store file in spufs under some
circumstances.

This rewrites the buggy function to look more like
simple_copy_from_buffer.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Cc: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2007-03-10 00:07:48 +01:00
Zang Roy-r61911
6406063899 [POWERPC] Remove fixed setting of ROOT_DEV for 7448HPC2 platforms
Remove fixed setting of ROOT_DEV for 7448HPC2 platforms.
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:26 +11:00
Stephen Rothwell
bed5927581 [POWERPC] Allow pSeries to build without CONFIG_PCI
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:26 +11:00
Stephen Rothwell
be9e95b17e [POWERPC] Make iSeries build without CONFIG_PCI
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:25 +11:00
Stephen Rothwell
57190708f1 [POWERPC] Create and use get_pci_dma_ops()
This allows us to hide pci_dma_ops.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:25 +11:00
Stephen Rothwell
9874777016 [POWERPC] Create and use set_pci_dma_ops
This will allow us to build without PCI easier.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:25 +11:00
Segher Boessenkool
44d7631bdb [POWERPC] PowerPC: select default image for Linkstation
Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: G. Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:23 +11:00
Geert Uytterhoeven
8170f52489 [POWERPC] ps3: always make sure we're running on a PS3
Add missing checks to PS3 specific drivers ps3av and sys-manager to verify that
we are actually running on a PS3 (pointed out by Arnd).

Correct existing checks in other subsystems/drivers to return -ENODEV instead
of zero.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:23 +11:00
Kumar Gala
f194bda4ce [POWERPC] 85xx: Enable CONFIG_SERIAL_8250_SHARE_IRQ
On chip 8250 UARTs share an interrupts on existing 85xx processors.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-03-07 23:14:57 -06:00
Segher Boessenkool
49fdf3f078 [POWERPC] Select u-image as default image for Linkstation
Fixes image build error:

ln: accessing `arch/powerpc/boot/zImage': No such file or directory
make[1]: *** [arch/powerpc/boot/zImage] Error 1
make: *** [zImage] Error 2

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: G. Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-03-07 23:04:47 -06:00
Li Yang
aea12b7548 [POWERPC] 83xx: Minor fixes for 834x_mds USB setup code
Fix broken node manipulating code, and clarify inaccurate comment.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-03-07 22:46:03 -06:00
Benjamin Herrenschmidt
b5d99e64bc [POWERPC] Fix warning in powermac pci.c
This fixes a warning due to unused result from pci_enable_device() in
powermac pci.c

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-08 04:09:34 +11:00
Benjamin Herrenschmidt
e71c5c38ed [POWERPC] Fix warning in powermac feature.c
This fixes a warning due to unused return from pci_enable_device() in
powermac feature.c core99_ata100_enable() function.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-08 04:09:34 +11:00
Ishizaki Kou
8388374f1c [POWERPC] Celleb: bug fix caused by not casting pointer types
This fixes a bug caused by changes of pointer type in
commit f1fda89522.

hose->cfg_addr type is "volatile unsigned int __iomem *", so
"hose->cfg_addr + X" will not make an intended address.

This patch also adds comments for usage of cfg_addr and cfg_data in
pci_controller structure.  We use them in irregular way, and the
original code is short of explanations about them.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-08 04:09:33 +11:00
Dale Farnsworth
84dd619e4d mv643xx_eth: Place explicit port number in mv643xx_eth_platform_data
We were using the platform_device.id field to identify which ethernet
port is used for mv643xx_eth device.  This is not generally correct.
It will be incorrect, for example, if a hardware platform uses a single
port but not the first port.  Here, we add an explicit port_number field
to struct mv643xx_eth_platform_data.

This makes the mv643xx_eth_platform_data structure required, but that
isn't an issue since all users currently provide it already.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-03-06 06:14:54 -05:00
Geert Uytterhoeven
3f555c700b [PATCH] ps3: introduce CONFIG_PS3_ADVANCED
ps3: Introduce CONFIG_PS3_ADVANCED, as suggested by Roman Zippel, and use
it to control questions about PS3 subsystems that may not be obvious for
the casual user.

This gets rid of the following warning on non-powerpc platforms: |
drivers/video/Kconfig:1604:warning: 'select' used by config symbol 'FB_PS3'
refer to undefined symbol 'PS3_PS3AV'

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-01 14:53:38 -08:00
Richard Purdie
599a52d126 backlight: Separate backlight properties from backlight ops pointers
Per device data such as brightness belongs to the indivdual device
and should therefore be separate from the the backlight operation
function pointers. This patch splits the two types of data and
allows simplifcation of some code.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
2007-02-20 09:26:53 +00:00
Richard Purdie
28ee086d5b backlight: Fix external uses of backlight internal semaphore
backlight_device->sem has a very specific use as documented in the
header file. The external users of this are using it for a different
reason, to serialise access to the update_status() method.

backlight users were supposed to implement their own internal
serialisation of update_status() if needed but everyone is doing
things differently and incorrectly. Therefore add a global mutex to
take care of serialisation for everyone, once and for all.

Locking for get_brightness remains optional since most users don't
need it.

Also update the lcd class in a similar way.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
2007-02-20 08:38:45 +00:00
Linus Torvalds
5c56f46683 Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (34 commits)
  [POWERPC] 86xx: Cleaned up platform dts files
  [POWERPC] 85xx: Renamed MPC8568 MDS board code to match other boards
  [POWERPC] 85xx: Cleaning up machine probing
  [POWERPC] QE: clean up ucc_slow.c and ucc_fast.c
  [POWERPC] 85xx: Cleaned up platform dts files
  [POWERPC] 83xx: Renamed MPC8323 MDS dts and defconfig to match other boards
  [POWERPC] 83xx: Updated and renamed MPC8360PB to MPC836x MDS
  [POWERPC] 83xx: Use of_platform_bus_probe to setup QE devices
  [POWERPC] 83xx: use default value of loops_per_jiffy
  [POWERPC] 83xx: Remove obsolete setting of ROOT_DEV.
  [POWERPC] 83xx: Cleaning up machine probing and board initcalls
  [POWERPC] Dispose irq mapping when done in mpc52xx_serial.c
  [POWERPC] 86xx: Add missing of_node_put() in mpc86xx_hpcn_init_irq().
  [POWERPC] 8[56]xx: Remove obsolete setting of ROOT_DEV for 85xx and 86xx platforms.
  [POWERPC] pseries: Enabling auto poweron after power is restored.
  [POWERPC] use winbond libata instead of ide driver for pseries CD drives
  [POWERPC] powerpc: remove references to the obsolete linux,platform property
  [POWERPC] add of_get_mac_address and update fsl_soc.c to use it
  [POWERPC] 83xx: Cleaned up 83xx platform dts files
  [POWERPC] Fix bug with early ioremap and 64k pages
  ...
2007-02-19 13:05:14 -08:00
Kumar Gala
56d7b79402 Merge branch '85xx' into for_paulus 2007-02-17 16:32:46 -06:00
Kumar Gala
ffd8488171 Merge branch '83xx' into for_paulus 2007-02-17 16:32:41 -06:00
Kumar Gala
23f510bcd3 [POWERPC] 85xx: Renamed MPC8568 MDS board code to match other boards
Renamed the MPC8568 MDS platform code to follow other 85xx boards.  There
isn't anything specific about the 8568 MDS code that wouldn't apply to another
85xx MDS system at this point.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-17 16:29:36 -06:00
Kumar Gala
6936c62571 [POWERPC] 85xx: Cleaning up machine probing
Cleaned up the probing functionality to be more consistent across all 85xx
boards and actually check to see if we should be running on a given board.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-17 16:19:34 -06:00
Kumar Gala
975b893996 Merge branch 'master' into 85xx 2007-02-17 10:18:34 -06:00
Kumar Gala
322d05a1c4 [POWERPC] 83xx: Updated and renamed MPC8360PB to MPC836x MDS
The MPC836x PB board is really just one part of the MPC836x MDS.  We currently
name all other PB boards as MDS.  Removed all references to PB and replaced
with MDS.  Additionally renamed the .dts to match the defconfig (mpc836x_mds*).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-17 10:13:56 -06:00
Kumar Gala
f7993ed57a [POWERPC] 83xx: Use of_platform_bus_probe to setup QE devices
Use of_platform_bus_probe to setup devices on the of_platform_bus since its
much cleaner.  We explicitly specify the bus ids since the we want to get rid
of the default mechanism in the future.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-17 09:56:49 -06:00
Kumar Gala
7c90c800d9 [POWERPC] 83xx: use default value of loops_per_jiffy
Use the default value setup by initialization of loops_per_jiffy, its close
enough for 83xx and will get fixed up by calibrate_delay().

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-17 09:42:18 -06:00
Kumar Gala
1eccad01ac [POWERPC] 83xx: Remove obsolete setting of ROOT_DEV.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-17 09:25:57 -06:00
Kumar Gala
336c3c2ec7 [POWERPC] 83xx: Cleaning up machine probing and board initcalls
Cleaned up the probing functionality to be more consistent across all 83xx
boards and added machine_is() protection around board initcalls to ensure they
only do something if we are actually running on that board.

Additionally, removed some dead code on mpc832x_mds.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-17 09:10:44 -06:00
Kumar Gala
834aba0959 Merge branch '85xx' into for_paulus 2007-02-16 18:21:18 -06:00
Jon Loeliger
00e402d066 [POWERPC] 86xx: Add missing of_node_put() in mpc86xx_hpcn_init_irq().
Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-02-16 18:17:00 -06:00