Commit Graph

40179 Commits

Author SHA1 Message Date
Paul Mundt
dde5e3ffb7 sh: rework nommu for generic cache.c use.
This does a bit of reorganizing for allowing nommu to use the new
and generic cache.c, no functional changes.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 09:49:32 +09:00
Paul Mundt
cbbe2f68f6 sh: rename pg-mmu.c -> cache.c, enable generically.
This builds in the newly created cache.c (renamed from pg-mmu.c) for both
MMU and NOMMU configurations. The kmap_coherent() stubs and alias
information recorded by each CPU family takes care of doing the right
thing while enabling the code to be commonly shared.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 09:30:39 +09:00
Paul Mundt
2739742c24 sh: Provide the kmap_coherent() interface generically.
This plugs in kmap_coherent() for the non-SH4 cases to permit the
pg-mmu.c bits to be used generically across all CPUs. SH-5 is still in
the TODO state, but will move over to fixmap and the generic interface
gradually.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 09:19:19 +09:00
Paul Mundt
8edcfcbbd1 sh: Bail from kmap_coherent_init() if we have no dcache aliases.
This kills off the ifdef from kmap_coherent_init() and just bails if
there are no cache aliases. This permits the kmap coherent code to be
used on other CPUs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 09:03:59 +09:00
Matt Fleming
180aa6e6aa sh: Set the cfa_offset to 0 if we see a DW_CFA_def_cfa_register op
The way that the CFA is calculated can change as we progress through a
function. If we see a DW_CFA_def_cfa_register op we need to reset the
frame's cfa_offset value which may have been previously setup.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 08:07:43 +09:00
Paul Mundt
7dd6662a92 sh: delay slot future proofing via EXPMASK on SH-4A parts.
This implements EXPMASK initialization code for SH-4A parts, where it is
possible to disable compat features that will go away in newer cores.
Presently this includes disabling support for non-nop instructions in the
rte delay slot, as well as a sleep instruction being placed in a delay
slot (neither of which the kernel does any longer). As a result of this,
any future offenders will have illegal slot exceptions generated for
them.

Associative writes for the memory-mapped cache array are still left
enabled, until such a point that special cache operations for SH-4A are
provided to move off of the current (and rather dated) SH-4 versions.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 07:43:21 +09:00
Paul Mundt
7a90e00dda sh: Make sure rte delay slots are nopped out on all parts.
Future SH parts do not support any instruction but a nop in the rte delay
slot, so make the change for all offending parts. SH-5 is excluded from
this, and already has its own set of restrictions with regards to rte
delay slot handling.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 07:41:45 +09:00
Paul Mundt
d2dcd9101b Merge branch 'master' into sh/cachetlb 2009-08-15 05:58:45 +09:00
H. Peter Anvin
58c41d2825 x86, intel_txt: Factor out the code for S3 setup
S3 sleep requires special setup in tboot.  However, the data
structures needed to do such setup are only available if
CONFIG_ACPI_SLEEP is enabled.  Abstract them out as much as possible,
so we can have a single tboot_setup_sleep() which either is a proper
implementation or a stub which simply calls BUG().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Acked-by: Shane Wang <shane.wang@intel.com>
Cc: Joseph Cihula <joseph.cihula@intel.com>
2009-08-14 12:14:19 -07:00
Paul Mundt
8010fbe7a6 sh: TLB fast path optimizations for load/store exceptions.
This only bothers with the TLB entry flush in the case of the initial
page write exception, as it is unecessary in the case of the load/store
exceptions.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 03:06:41 +09:00
Paul Mundt
112e58471d sh: TLB protection violation exception optimizations.
This adds a bit of rework to have the TLB protection violations skip the
TLB miss fastpath and go directly in to do_page_fault(), as these require
slow path handling.

Based on an earlier patch by SUGIOKA Toshinobu.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 02:49:40 +09:00
Paul Mundt
e7b8b7f16e sh: NO_CONTEXT ASID optimizations for SH-4 cache flush.
This optimizes for the cases when a CPU does not yet have a valid ASID
context associated with it, as in this case there is no work for any of
flush_cache_mm()/flush_cache_page()/flush_cache_range() to do. Based on
the the MIPS implementation.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 02:21:16 +09:00
Paul Mundt
795687265d sh64: Wire up the shared __flush_xxx_region() flushers.
Now with all of the prep work out of the way, kill off the SH-5 variants
and use the SH-4 version directly. This also takes advantage of the
unrolling that was previously done for the new version.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 02:00:54 +09:00
Paul Mundt
43bc61d86f sh: Add register alignment helpers for shared flushers.
This plugs in some register alignment helpers for the shared flushers,
allowing them to also be used on SH-5. The main rationale here is that
in the SH-5 case we have a variable ABI, where the pointer size may not
equal the register width. This register extension is taken care of by
the SH-5 code already today, and is otherwise unused on the SH-4 code.
This combines the two and allows us to kill off the SH-5 implementation.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 01:57:36 +09:00
Paul Mundt
606b4c992f sh: stacktrace: Properly terminate the trace entry buffer.
This inserts a ULONG_MAX entry at the end of the valid entries in the
stack trace buffer so the default code doesn't need to scan to the end of
available slots. This also makes the trace buffer termination behaviour
consistent with the other architectures.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 01:11:37 +09:00
Paul Mundt
f9967e23c1 sh: flag the default unwinder as reliable.
This flags the default unwinder as reliable, as it tends to be reliable
enough for the purposes of the stacktrace buffer. We leave the unreliable
cases for the unwind methods that we know to be completely broken.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 01:09:03 +09:00
Paul Mundt
48e4d4604b sh: stacktrace: Add reliability checks in address saving ops.
This adopts the reliability checks from the x86 stacktrace code so known
bad addresses are not recorded in the stack trace buffer.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-15 01:05:46 +09:00
Paul Mundt
0fc11e3618 sh: unwinder: Convert frame allocations to GFP_ATOMIC.
save_stack_trace_tsk() and friends can be called from atomic context (as
triggered by latencytop), and subsequently hit two problematic allocation
points that were using GFP_KERNEL (these were dwarf_unwind_stack() and
dwarf_frame_alloc_regs()). Convert these over to GFP_ATOMIC and get
latencytop working with the DWARF unwinder.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-14 23:58:37 +09:00
Ben Dooks
b282e29b54 Merge branch 'next-s3c64xx-moves' into next-s3c 2009-08-14 15:24:06 +01:00
Ben Dooks
c378aa275e Merge branch 'next-s3c64xx' into next-s3c 2009-08-14 15:24:01 +01:00
Ben Dooks
215ed3236a Merge branch 'next-s3c24xx-cpufreq' into next-s3c 2009-08-14 15:23:45 +01:00
Ben Dooks
0fbdd27007 Merge branch 'next-s3c24xx' into next-s3c 2009-08-14 15:23:34 +01:00
Ben Dooks
69e3728967 Merge branch 'next-s3c-machines' into next-s3c 2009-08-14 15:23:22 +01:00
Ben Dooks
63c949ea1d Merge branch 'next-s3c-hwmon' into next-s3c 2009-08-14 15:23:15 +01:00
Sascha Hauer
c35d3a4181 mx21ads: Fix framebuffer platform data
struct imx_fb_platform_data has changed and the mx21ads was
forgotten to change. Fix it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:16 +02:00
Sascha Hauer
f6d2fa7dcb MX21: Compilation fix for devices.c
The OTG devices are only available on i.MX27, so ifdef
them out for i.MX21.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:15 +02:00
Valentin Longchamp
2718c15c5f mx31moboard: two GPIOS are used to reset other microcontrolers on the robot
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:13 +02:00
Valentin Longchamp
8b1a540c24 mx31moboard: initialize 4 input gpios for mx31moboard
These gpios are exported to userspace and are here to be used as
a selector

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:11 +02:00
Valentin Longchamp
77aa561db1 mx31moboard: support for the 4 leds used on mx31moboard
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:10 +02:00
Valentin Longchamp
4bd1527a64 mx31: define various GPIOs used on mx31moboard
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:09 +02:00
Luotao Fu
e0fd4db372 pcm037: mux configuration for predefined gpio line
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
2009-08-14 12:41:08 +02:00
Luotao Fu
8d5c1ed3f6 pcm043: mux configuration for predefined gpio line
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
2009-08-14 12:41:06 +02:00
Luotao Fu
0160651a65 pcm038: mux configuration for predefined gpio line
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
2009-08-14 12:41:04 +02:00
Sascha Hauer
3fd2691a1d MX31 Fix spi clock names
Fix the SPI clock names to match the device names.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:03 +02:00
Sascha Hauer
7bc07ebc7d mx3x: Fixup USB base addresses
The i.MX31 and the i.MX35 have different USB base addresses. Adjust
the resources accordingly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:01 +02:00
Luotao Fu
337316986f mx27: add support for phytec pca100 (phyCARD-s) board
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:59 +02:00
Sascha Hauer
547270a3b9 i.MX35 clock support: Add USB clocks
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:57 +02:00
Sascha Hauer
d37ba97d49 MX31: add spi controller devices/resources
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:54 +02:00
Sascha Hauer
f420db843b MX2: Add SPI devices/resources
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:52 +02:00
Valentin Longchamp
88b0564717 mx31moboard: move usb otg support back to moboard common file
since all boards finally have this device

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:50 +02:00
Valentin Longchamp
b23f1534bb mx31moboard: added usb xcvr reset for mx31moboard
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:49 +02:00
Valentin Longchamp
89829d5fe3 mx31: added one more pin definition
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:48 +02:00
Dmitriy Taychenachev
94da274b49 MXC: add iomux pins configuration support for MXC91231
Signed-off-by: Dmitriy Taychenachev <dimichxp@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:47 +02:00
Dmitriy Taychenachev
fd6ac7bb9d MXC: add basic MXC91231 support
Signed-off-by: Dmitriy Taychenachev <dimichxp@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:46 +02:00
Lothar Waßmann
8e5be212cb i.MX25 iomux definitions (corrected version)
Signed-off-by: Lothar Wassmann <LW@KARO-electronics.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:45 +02:00
Sascha Hauer
cf983c93ae fix mx35 wrong clock
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:44 +02:00
Sascha Hauer
635baf6b40 Freescale i.MX25 PDK (3ds) board support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:43 +02:00
Sascha Hauer
8c25c36f33 Add i.MX25 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:42 +02:00
Sascha Hauer
a058cbc179 mxc pwm: add mx25 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:41 +02:00
Sascha Hauer
6134b2cbb0 iomux-v3: Allow for a runtime base address
also, check for a valid pad_ctrl_ofs before changing the
pad control register.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:41 +02:00