Commit Graph

88504 Commits

Author SHA1 Message Date
Julio M. Merino Vidal
8a476d4955 [POWERPC] spufs: fix marker name for find_victim
Fix a typo in the marker for the find_victim function, which prevented
it from being traced. It previously read find_vitim.

Signed-off-by: Julio M. Merino Vidal <jmerino@ac.upc.edu>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30 15:16:14 +10:00
Julio M. Merino Vidal
534578816f [POWERPC] spufs: add marker for destroy_spu_context
The sputrace module contained a reference to a marker for
destroy_spu_context, but this marker did not appear in the code. Fix
this by adding a marker in the function.

Signed-off-by: Julio M. Merino Vidal <jmerino@ac.upc.edu>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30 15:12:30 +10:00
Julio M. Merino Vidal
d6508aaf27 [POWERPC] spufs: add sputrace marker parameter names
The markers facility defines the marker parameters to be of the form
'name %format'. Add parameter names to sputrace, to specify the context
and %spu paramerters,  instead of just specifying the '%format' part.

Signed-off-by: Julio M. Merino Vidal <jmerino@ac.upc.edu>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30 15:06:39 +10:00
Christoph Hellwig
5158e9b521 [POWERPC] spufs: add context switch notification log
There are userspace instrumentation tools that need to monitor spu
context switches. This patch adds a new file called 'switch_log' to
each spufs context directory that can be used to monitor the context
switches.

Context switch in/out and exit from spu_run are monitored after the
file was first opened and can be read from it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30 15:01:54 +10:00
Paul Mackerras
14b3ca4022 [POWERPC] Fix compile breakage for 64-bit UP configs
The rearrangements in 945feb174b
("[POWERPC] irqtrace support for 64-bit powerpc") caused 64-bit
non-SMP configs to fail to compile with a message about
local_irq_save being undefined in include/linux/proportions.h.
This follows the lead of x86 in including <linux/irqflags.h> in
asm/system.h, which fixes the problem.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-20 17:57:10 +10:00
Roland McGrath
9c0c44dbd9 [POWERPC] Define copy_siginfo_from_user32
Define the copy_siginfo_from_user32 entry point for powerpc, so
that generic CONFIG_COMPAT code can call it.  We already had the
code rolled into compat_sys_rt_sigqueueinfo, this just moves it
out into the canonical function that other arch's define.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-20 13:03:36 +10:00
Andreas Schwab
e4cc58944c [POWERPC] Add compat handler for PTRACE_GETSIGINFO
Current versions of gdb require a working implementation of
PTRACE_GETSIGINFO for proper watchpoint support.  Since struct siginfo
contains pointers it must be converted when passed to a 32-bit debugger.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-20 13:03:36 +10:00
Jochen Friedrich
585468e5d5 [POWERPC] i2c: Fix build breakage introduced by OF helpers
Fix build breakage introduced in commit "[POWERPC] i2c: OF helpers for
the i2c API".  If i2c-core is compiled as a module, the helper needs
to be compiled as a module, as well.  Rename i2c.c to of_i2c.c to
avoid name space conflict.

[paulus@samba.org: Changed dependency from OF to PPC_OF to avoid
sparc{32,64} allmodconfig breakage.]

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-20 13:03:35 +10:00
Paul Mackerras
9f264be610 [POWERPC] Optimize fls64() on 64-bit processors
64-bit powerpc processors can find the leftmost 1 bit in a 64-bit
doubleword in one instruction, so use that rather than using the
generic fls64(), which does two 32-bit fls() calls.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 16:25:15 +10:00
Benjamin Herrenschmidt
945feb174b [POWERPC] irqtrace support for 64-bit powerpc
This adds the low level irq tracing hooks to the powerpc architecture
needed to enable full lockdep functionality.

This is partly based on Johannes Berg's initial version.  I removed
the asm trampoline that isn't needed (thus improving performance) and
modified all sorts of bits and pieces, reworking most of the assembly,
etc...

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:38:47 +10:00
Christoph Hellwig
fd3e0bbc60 [POWERPC] Stacktrace support for lockdep
This adds stacktrace support for powerpc, which will be needed for
lockdep.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:37:19 +10:00
Benjamin Herrenschmidt
ec2b36b9f2 [POWERPC] Move stackframe definitions to common header
This moves various definitions used all over the place to parse stack
frames to ptrace.h so only one definition is needed.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:37:18 +10:00
Benjamin Herrenschmidt
f4ac7b5eb7 [POWERPC] Fix device-tree locking vs. interrupts
Lockdep found out that we can occasionally take the device-tree
lock for reading from softirq time (from rtas_token called
by the rtas real time clock code called by the NTP code),
while we take it occasionally for writing without masking
interrupts. The combination of those two can thus deadlock.

While some of those cases of interrupt read lock could be fixed
(such as caching the RTAS tokens) I figured that taking the
lock for writing is so rare (device-tree modification) that we
may as well penalize that case and allow reading from interrupts.

Thus, this turns all the writers to take the lock with irqs
masked to avoid the situation.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:37:16 +10:00
Trent Piepho
f13f4ca803 [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const
A) It's not modified and so it can be made const.  const is good.
B) If one has a function that was given a const pci_bus pointer and you
want to get a pointer to its pci_controller, you'll get a warning from gcc
when you use pci_bus_to_host().  This is the right way to stop that
warning.

Signed-off-by: Trent Piepho <tpiepho@freescale.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:37:14 +10:00
Olof Johansson
49a9997884 [POWERPC] Remove unused __max_memory variable
Remove the __max_memory variable, as it is not referenced anywhere
in the tree besides some code in arch/ppc.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:37:11 +10:00
Michael Ellerman
1af9fa8994 [POWERPC] Simplify xics direct/lpar irq_host setup
The xics code currently has a direct and lpar variant of
xics_host_map, the only difference being which irq_chip they use.  If
we remember which irq_chip we're using we can combine these two
routines.  That also allows us to have a single irq_host_ops instead
of two.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:36:11 +10:00
Michael Ellerman
f01567d6d5 [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ()
pseries_mpic_init_IRQ() implements the same logic as the xics code did to
find the i8259 cascade irq.  Now that we've pulled that logic out into
pseries_setup_i8259_cascade() we can use it in the mpic code.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:36:10 +10:00
Michael Ellerman
30d6ad251b [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade()
Remove the xics references from xics_setup_8259_cascade(), and merge the
good bits from the almost identical logic in pseries_mpic_init_IRQ().

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:36:10 +10:00
Michael Ellerman
032ace7e17 [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c
The code in xics.c to setup the i8259 cascaded irq handler is not really
xics specific, so move it into setup.c - we will clean this up further in
a subsequent patch.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:36:10 +10:00
Alexander van Heukelum
47b9d9bddf [POWERPC] Use asm-generic/bitops/find.h in bitops.h
Powerpc and ppc have some code in their bitops.h that is exactly the
same as asm-generic/bitops/find.h.  Include this header instead of the
private implementation.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 14:03:30 +10:00
Paul Mackerras
11a55f2274 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc 2008-04-18 13:34:30 +10:00
Paul Mackerras
858c52d15f Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs 2008-04-18 13:33:43 +10:00
Anton Vorontsov
1a9ebc0cd2 [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup
Currently USB Host isn't functional on the MPC8315E boards, for two
reasons as described below.

MPC8315 Reference Manual says:
"The USB DR unit must have the same clock ratio as the encryption core
unit, unless one of them has its clock disabled."

The encryption core also drives I2C clock, so it is enabled and is equal
to 01. That means USBDRCM should be 01 here.

Plus, according to MPC8315E-RDB schematics, USB unit consumes CLK_IN
clock from the 24.00MHz oscillator, which means we must adjust REFSEL
bits as well.

p.s.
Idially we should rework whole 83xx/usb.c code, in two steps:
1. Move SCCR code to the U-Boot;
2. Implement fsl,usb-clock property in the device tree, so usb.c could
   decide what clock exactly to use on per-board basis.

Though, today we're not in a hurry since there is just one 8315e board
out there.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 09:52:50 -05:00
Haiying Wang
8bdf573334 [POWERPC] 85xx: Fix the size of qe muram for MPC8568E
MPC8568E has 64K byte MURAM, so the size should be 0x10000, not 0xc000.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 09:52:18 -05:00
Paul Gortmaker
16787b430d [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier.
As suggested by Timur Tabi, we match on the old compat node ID for one
version and warn accordingly.  If we don't do this, we plunge people who
try to use an old DTB into silent boot death with no clear indication of
what the problem is.

This patch should be removed at the beginning of the 2.6.27 dev cycle.
It is only meant to ease the transition in the short term.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 09:51:59 -05:00
Paul Gortmaker
06f35b4ba6 [POWERPC] 86xx: mark functions static, other minor cleanups
Cleanups as suggested by Stephen Rothwell and Dale Farnsworth, which
incudes marking a bunch of functions static and add a vendor prefix to
the compat node check for uniqueness.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 09:51:29 -05:00
Timur Tabi
3a2f020c5a [POWERPC] Make rheap safe for spinlocks
The rheap allocation function, rh_alloc, could call kmalloc with GFP_KERNEL.
This can sleep, which means you couldn't hold a spinlock while called rh_alloc.
Change all kmalloc calls to use GFP_ATOMIC so that it won't sleep.  This is
safe because only small blocks are allocated.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 09:50:38 -05:00
Kumar Gala
998c610363 [POWERPC] fsl: Convert dts to v1 syntax
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 09:40:48 -05:00
Kumar Gala
280bb34bc0 [POWERPC] 85xx: minor .dts cleanups
* remove #cpus from mpc8544ds.dts (not used anywhere else)
* remove memreserve from mpc8568mds.dts (not needed)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:29:14 -05:00
Kumar Gala
32f960e943 [POWERPC] 85xx: Convert dts to v1 syntax
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:28:15 -05:00
Kumar Gala
a5dc66e2ab [POWERPC] 85xx: Fix compile warning
arch/powerpc/platforms/85xx/mpc85xx_ads.c: In function ‘init_ioports’:
arch/powerpc/platforms/85xx/mpc85xx_ads.c:168: warning: initialization discards qualifiers from pointer target type

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:41 -05:00
Kumar Gala
f9b9908cf9 [POWERPC] 83xx: Enable FCM NAND and OF partitions in defconfig
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:41 -05:00
Paul Gortmaker
81fad217b3 [POWERPC] 86xx: Add device tree source for Wind River SBC8641D
This adds in the device tree source for the SBC8641D, based
largely on the mpc8641_hpcn.dts.  The biggest differences are
the lack of a complex IRQ mapping (since no Uli/i8259 cascade)
and the different layout of devices on the localbus node.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:41 -05:00
Paul Gortmaker
1c37dca5e3 [POWERPC] 86xx: Add defconfig for Wind River SBC8641D board
This adds a sample defconfig for the Wind River SBC8641D
board, with SMP, PCI and NFS root enabled.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:41 -05:00
Paul Gortmaker
4e8aae89a3 [POWERPC] 86xx: Add support for Wind River SBC8641D board
This adds support for the Wind River SBC8641D board, based
largely on the mpc86xx_hpcn support.  The biggest difference is
the lack of the Uli and the i8259 cascade, which simplifies things.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:40 -05:00
Scott Wood
1e31de7aae [POWERPC] 83xx: mpc8313erdb - Enable FCM NAND and OF partitions in defconfig
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:40 -05:00
Scott Wood
378458d865 [POWERPC] cuboot-pq2: PCI fixes
1. Detect (and bail out on) more conditions that violate the
assumptions of the setup code -- we assume in such cases that the device
tree is correct and reflects what the firmware did.

2. The inbound memory mask calculation was wrong.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:40 -05:00
Scott Wood
3866409541 [POWERPC] fsl_soc: Factor fsl_get_sys_freq() out of the wdt and spi inits.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:40 -05:00
Anton Vorontsov
9c432797d3 [POWERPC] 83xx: mpc837x_rdb: add simple-bus compatible matching
This is needed to probe nor and nand flashes on the localbus.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:40 -05:00
Kumar Gala
4eaddb4d7e [POWERPC] Make Book-E debug handling SMP safe
global_dbcr0 needs to be a per cpu set of save areas instead of a single
global on all processors.

Also, we switch to using DBCR0_IDM to determine if the user space app is
being debugged as its a more consistent way.  In the future we should
support features like hardware breakpoint and watchpoints which will
have DBCR0_IDM set but not necessarily DBCR0_IC (single step).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:40 -05:00
Scott Wood
3dd82a1ea7 [POWERPC] CPM: Always use new binding.
The kconfig entry can go away once arch/ppc and references to the config in
drivers are removed.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:40 -05:00
Anton Vorontsov
632395e19c [POWERPC] QE: fix sparse warnings
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:39 -05:00
Anton Vorontsov
7f0a6fc812 [POWERPC] QE: export qe_get_brg_clk()
qe_get_brg_clk() will be used by the fsl_gtm routines.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:39 -05:00
Anton Vorontsov
ab1220d5ac [POWERPC] QE: immap_qe.h should include asm/io.h
Headers should include prototypes they use, otherwise build will
break if we use it without explicitly including io.h:

  CC      arch/powerpc/sysdev/qe_lib/gtm.o
In file included from include/asm/qe.h:20,
                 from arch/powerpc/sysdev/qe_lib/gtm.c:18:
include/asm/immap_qe.h: In function ‘immrbar_virt_to_phys’:
include/asm/immap_qe.h:480: error: implicit declaration of function ‘virt_to_phys’
make[2]: *** [arch/powerpc/sysdev/qe_lib/gtm.o] Error 1
make[1]: *** [arch/powerpc/sysdev/qe_lib] Error 2

gtm.c needs qe.h (which includes immap_qe.h) to use qe_get_brg_clk().

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:39 -05:00
Anton Vorontsov
0b51b02edf [POWERPC] QE: implement qe_muram_offset
qe_muram_offset is the reverse of the qe_muram_addr, will be
used for the Freescale QE USB Host Controller driver.

This patch also moves qe_muram_addr into the qe.h header, plus
adds __iomem hints to use with sparse.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:39 -05:00
Anton Vorontsov
acaa7aa30a [POWERPC] fsl_lbc: implement few UPM routines
Freescale UPM can be used to adjust localbus timings or to generate
orbitrary, pre-programmed "patterns" on the external Localbus signals.
This patch implements few routines so drivers could work with UPMs in
safe and generic manner.

So far there is just one user of these routines: Freescale UPM NAND
driver.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:38 -05:00
Anton Vorontsov
d4a32fe40a [POWERPC] fsl_elbc_nand: factor out localbus defines
This is needed to support other localbus peripherals, such as
NAND on FSL UPM.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:38 -05:00
Anton Vorontsov
56626f335b [POWERPC] QE: UCC nodes cleanup
- get rid of `model = "UCC"' in the ucc nodes
  It isn't used anywhere, so remove it. If we'll ever need something
  like this, we'll use compatible property instead.
- replace last occurrences of device-id with cell-index.
  Drivers are modified for backward compatibility's sake.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:38 -05:00
Laurent Pinchart
e24e788abe [POWERPC] CPM: Move opcodes common to CPM1 and CPM2 to include/asm-powerpc/cpm.h
Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:37 -05:00
Laurent Pinchart
872a15deed [POWERPC] CPM2: Reset the CPM when early debugging is not enabled.
Similarly to what is done for PQ1-based platforms, this patch resets the
PQ2 Communication Processor Module in cpm2_reset() when early debugging is
not enabled. This helps avoiding conflicts when the boot loader configured
the CPM in an unexpected way.

Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17 01:01:37 -05:00