Ralf Baechle
475032564e
MIPS: Hardwire detection of DSP ASE Rev 2 for systems, as required.
...
Most supported systems currently hardwire cpu_has_dsp to 0, so we also
can disable support for cpu_has_dsp2 resulting in a slightly smaller
kernel.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2012-10-11 11:10:43 +02:00
Steven J. Hill
05857c64ec
MIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'.
...
Remove usage of the 'kernel_uses_smartmips_rixi' macro from all files
and use new 'cpu_has_rixi' instead.
Signed-off-by: Steven J. Hill <sjhill@mips.com >
Acked-by: David Daney <david.daney@cavium.com >
2012-09-13 17:00:34 -05:00
David Daney
2f19d080fb
MIPS: Octeon: Enable C0_UserLocal probing.
...
Octeon2 processor cores have a UserLocal register. Remove the hard
coded negative probe and allow the standard probing to detect this
feature.
Signed-off-by: David Daney <david.daney@cavium.com >
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2578/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2011-09-24 01:44:41 +02:00
David Daney
f92a6b0875
MIPS: Octeon: Enable Read Inhibit / eXecute Inhibit on Octeon II.
...
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
Patchwork: http://patchwork.linux-mips.org/patch/1666/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2010-10-29 19:08:38 +01:00
David Daney
57575b5c81
MIPS: Octeon: Adjust top of DMA32 zone.
...
On OCTEON, we reserve the last 256MB of 32-bit PCI address space, mapping
the RAM in this region at a high DMA address. This makes memory in this
region unavailable for 32-bit DMA.
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
Patchwork: http://patchwork.linux-mips.org/patch/1634/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2010-10-29 19:08:29 +01:00
David Daney
ca148125e6
MIPS: Octeon: Implement delays with cycle counter.
...
Power throttling make deterministic delay loops impossible.
Re-implement delays using the cycle counter. This also allows us to
get rid of the code that calculates loops per jiffy.
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1317/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2010-08-05 13:26:20 +01:00
David Daney
1d1929c766
MIPS: Octeon: Define ARCH_HAS_USABLE_BUILTIN_POPCOUNT for OCTEON.
...
OCTEON implements __builtin_popcount with a single instruction, so lets use it.
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
To: linux-mips@linux-mips.org
Cc: David Daney <ddaney@caviumnetworks.com >
Patchwork: https://patchwork.linux-mips.org/patch/1431/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2010-08-05 13:26:03 +01:00
David Daney
27a5bd6457
MIPS: Enable Read Inhibit/eXecute Inhibit for Octeon+ CPUs
...
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
To: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/955/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2010-02-27 12:53:26 +01:00
David Daney
9d24bafb0d
MIPS: Octeon: Set kernel_uses_llsc to false on non-SMP builds.
...
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2009-09-17 20:07:50 +02:00
David Daney
4bb1a1089e
MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h
...
We had an ugly #ifdef for Cavium Octeon hwrena bits in traps.c, remove
it to mach-cavium-octeon/cpu-feature-overrides.h
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2009-06-17 11:06:31 +01:00
David Daney
9e290a19f2
MIPS: Remove execution hazard barriers for Octeon.
...
The Octeon has no execution hazards, so we can remove them and save an
instruction per TLB handler invocation.
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
Reviewed by: David VomLehn <dvomlehn@cisco.com >
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2009-06-17 11:06:26 +01:00
David Daney
5b3b16880f
MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon.
...
These are the rest of the new files needed to add OCTEON processor
support to the Linux kernel. Other than Makefile and Kconfig which
should be obvious, we have:
csrc-octeon.c -- Clock source driver for OCTEON.
dma-octeon.c -- Helper functions for mapping DMA memory.
flash_setup.c -- Register on-board flash with the MTD subsystem.
octeon-irq.c -- OCTEON interrupt controller managment.
octeon-memcpy.S -- Optimized memcpy() implementation.
serial.c -- Register 8250 platform driver and early console.
setup.c -- Early architecture initialization.
smp.c -- OCTEON SMP support.
octeon_switch.S -- Scheduler context switch for OCTEON.
c-octeon.c -- OCTEON cache controller support.
cex-oct.S -- OCTEON cache exception handler.
asm/mach-cavium-octeon/*.h -- Architecture include files.
Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com >
Signed-off-by: David Daney <ddaney@caviumnetworks.com >
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
create mode 100644 arch/mips/cavium-octeon/Kconfig
create mode 100644 arch/mips/cavium-octeon/Makefile
create mode 100644 arch/mips/cavium-octeon/csrc-octeon.c
create mode 100644 arch/mips/cavium-octeon/dma-octeon.c
create mode 100644 arch/mips/cavium-octeon/flash_setup.c
create mode 100644 arch/mips/cavium-octeon/octeon-irq.c
create mode 100644 arch/mips/cavium-octeon/octeon-memcpy.S
create mode 100644 arch/mips/cavium-octeon/serial.c
create mode 100644 arch/mips/cavium-octeon/setup.c
create mode 100644 arch/mips/cavium-octeon/smp.c
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/irq.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/war.h
create mode 100644 arch/mips/include/asm/octeon/octeon.h
create mode 100644 arch/mips/kernel/octeon_switch.S
create mode 100644 arch/mips/mm/c-octeon.c
create mode 100644 arch/mips/mm/cex-oct.S
2009-01-11 09:57:21 +00:00