Linus Torvalds
807249d3ad
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
...
Pull MIPS updates from Ralf Baechle:
"This is the main pull request for 4.3 for MIPS. Here's the summary:
Three fixes that didn't make 4.2-stable:
- a -Os build might compile the kernel using the MIPS16 instruction
set but the R2 optimized inline functions in <uapi/asm/swab.h> are
implemented using 32-bit wide instructions which is invalid.
- a build error in pgtable-bits.h for a particular kernel
configuration.
- accessing registers of the CM GCR might have been compiled to use
64 bit accesses but these registers are onl 32 bit wide.
And also a few new bits:
- move the ATH79 GPIO driver to drivers/gpio
- the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h,
change ATH79 accordingly.
- fix definition of pgprot_writecombine
- add an implementation of dma_map_ops.mmap
- fix alignment of quiet build output for vmlinuz link
- BCM47xx: Use kmemdup rather than duplicating its implementation
- Netlogic: Fix 0x0x prefixes of constants.
- merge Bjorn Helgaas' series to remove most of the weak keywords
from function declarations.
- CP0 and CP1 registers are best considered treated as unsigned
values to avoid large values from becoming negative values.
- improve support for the MIPS GIC timer.
- enable common clock framework for Malta and SEAD3.
- a number of improvments and fixes to dump_tlb().
- document the MIPS TLB dump functionality in Magic SysRq.
- Cavium Octeon CN68XX improvments.
- NetLogic improvments.
- irq: Use access helper irq_data_get_affinity_mask.
- handle MSA unaligned accesses.
- a number of R6-related math-emu fixes.
- support for I6400.
- improvments to MSA support.
- add uprobes support.
- move from deprecated __initcall to arch_initcall.
- remove finish_arch_switch().
- IRQ cleanups by Thomas Gleixner.
- migrate to new 'set-state' interface.
- random small cleanups"
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits)
MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16.
MIPS: Fix alignment of quiet build output for vmlinuz link
MIPS: math-emu: Remove unused handle_dsemul function declaration
MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction
MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction
MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction
MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction
MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction
MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction
MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction
MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction
MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction
MIPS: inst.h: Add new MIPS R6 FPU opcodes
MIPS: Octeon: Fix management port MII address on Kontron S1901
MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation
STAGING: Octeon: Use common helpers for determining interface and port
MIPS: Octeon: Support interfaces 4 and 5
MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports
MIPS: Octeon: Initialize CN68XX PKO
STAGING: Octeon: Support CN68XX style WQE
...
2015-09-03 16:55:55 -07:00
Ezequiel Garcia
fc6a6772f8
CLOCKSOURCE: mips-gic: Update clockevent frequency on clock rate changes
...
This commit introduces the clockevent frequency update, using
a clock notifier. It will be used to support CPUFreq on platforms
using MIPS GIC based clockevents.
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com >
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Andrew Bresticker <abrestic@chromium.org >
Cc: James Hartley <James.Hartley@imgtec.com >
Cc: Govindraj Raja <Govindraj.Raja@imgtec.com >
Cc: Damien Horsley <Damien.Horsley@imgtec.com >
Cc: James Hogan <James.Hogan@imgtec.com >
Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar >
Patchwork: https://patchwork.linux-mips.org/patch/10782/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2015-09-03 12:08:07 +02:00
Ezequiel Garcia
67d4e669c1
CLOCKSOURCE: mips-gic: Split clocksource and clockevent initialization
...
This is preparation work for the introduction of clockevent frequency
update with a clock notifier. This is only possible when the device
is passed a clk struct, so let's split the legacy and devicetree
initialization.
Reviewed-by: Andrew Bresticker <abrestic@chromium.org >
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com >
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: James Hartley <James.Hartley@imgtec.com >
Cc: Govindraj Raja <Govindraj.Raja@imgtec.com >
Cc: Damien Horsley <Damien.Horsley@imgtec.com >
Cc: James Hogan <James.Hogan@imgtec.com >
Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar >
Patchwork: https://patchwork.linux-mips.org/patch/10781/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2015-09-03 12:08:06 +02:00
Ezequiel Garcia
f95ac8558b
CLOCKSOURCE: mips-gic: Add missing error returns checks
...
This commit adds the required checks on the functions that return
an error. Some of them are not critical, so only a warning is
printed.
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com >
Reviewed-by: Andrew Bresticker <abrestic@chromium.org >
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: James Hartley <James.Hartley@imgtec.com >
Cc: Govindraj Raja <Govindraj.Raja@imgtec.com >
Cc: Damien Horsley <Damien.Horsley@imgtec.com >
Cc: James Hogan <James.Hogan@imgtec.com >
Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar >
Patchwork: https://patchwork.linux-mips.org/patch/10780/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2015-09-03 12:08:06 +02:00
Ezequiel Garcia
eb811c73b6
CLOCKSOURCE: mips-gic: Enable the clock before using it
...
For the clock to be used (e.g. get its rate through clk_get_rate)
it should be prepared and enabled first.
Also, while the clock is enabled the driver must hold a reference to it,
so let's remove the call to clk_put.
Reviewed-by: Andrew Bresticker <abrestic@chromium.org >
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com >
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: James Hartley <James.Hartley@imgtec.com >
Cc: Govindraj Raja <Govindraj.Raja@imgtec.com >
Cc: Damien Horsley <Damien.Horsley@imgtec.com >
Cc: James Hogan <James.Hogan@imgtec.com >
Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar >
Patchwork: https://patchwork.linux-mips.org/patch/10779/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2015-09-03 12:08:05 +02:00
Viresh Kumar
d47409347e
clockevents/drivers/mips-gic: Migrate to new 'set-state' interface
...
Migrate mips-gic driver to the new 'set-state' interface provided by
clockevents core, the earlier 'set-mode' interface is marked obsolete
now.
This also enables us to implement callbacks for new states of clockevent
devices, for example: ONESHOT_STOPPED.
We weren't doing anything in the ->set_mode() callback. So, this patch
doesn't provide any set-state callbacks.
Cc: Andrew Bresticker <abrestic@chromium.org >
Cc: Steven J. Hill <Steven.Hill@imgtec.com >
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org >
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2015-08-10 11:40:32 +02:00
Andrew Bresticker
5b4e845393
CLOCKSOURCE: mips-gic: Allow GIC clock to be specified in device-tree
...
As an alternative to the "clock-frequency" property, allow the GIC
timer operating clock to be specified in the device-tree instead.
This is useful on systems which use common clock or where the GIC
is not fixed to a particular frequency and is instead, for example,
derived from the CPU clock.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: James Hogan <james.hogan@imgtec.com >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Pawel Moll <pawel.moll@arm.com >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk >
Cc: Kumar Gala <galak@codeaurora.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: devicetree@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/9309/
2015-04-01 17:22:11 +02:00
Markos Chandras
7d9cd1f518
CLOCKSOURCE: mips-gic-timer: Ensure GIC counter is running
...
Start the GIC counter after configuring the clocksource since there
are no guarantees the counter will be running after a CPU reset.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9595/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2015-03-31 12:04:13 +02:00
Andrew Bresticker
e12aa828ff
clocksource: mips-gic: Add device-tree support
...
Parse the GIC timer frequency and interrupt from the device-tree.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Pawel Moll <pawel.moll@arm.com >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk >
Cc: Kumar Gala <galak@codeaurora.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: John Crispin <blogic@openwrt.org >
Cc: David Daney <ddaney.cavm@gmail.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: James Hogan <james.hogan@imgtec.com >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8421/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:30 +01:00
Andrew Bresticker
a45da56598
clocksource: mips-gic: Bump up rating of GIC timer
...
Bump up the rating of the GIC timer so that it gets prioritized
over the CP0 timer.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8141/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:16 +01:00
Andrew Bresticker
b695d8e6ad
clocksource: mips-gic: Use clockevents_config_and_register
...
Use clockevents_config_and_register to setup the clock_event_device
based on frequency and min/max ticks instead of doing it ourselves.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8140/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:16 +01:00
Andrew Bresticker
e4752dbbc3
clocksource: mips-gic: Use CPU notifiers to setup the timer
...
Instead of requiring an explicit call to gic_clockevent_init in the SMP
startup path, use CPU notifiers to register and enable the GIC timer on
CPU startup.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8139/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:16 +01:00
Andrew Bresticker
f7ea3060b6
clocksource: mips-gic: Use percpu_dev_id
...
Since the GIC timer IRQ is a percpu IRQ, we can use percpu_dev_id
to pass the IRQ handler the correct clock_event_device.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8138/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:15 +01:00
Andrew Bresticker
001f5fe72c
clocksource: mips-gic: Remove gic_event_handler
...
Remove gic_event_handler since it is completely unnecessary.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8136/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:15 +01:00
Andrew Bresticker
b085451453
clocksource: mips-gic: Move gic_frequency to clocksource driver
...
There's no reason for gic_frequency to be global any more and it
certainly doesn't belong in the GIC irqchip driver, so move it to
the GIC clocksource driver.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8137/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:15 +01:00
Andrew Bresticker
5fee56e0dd
clocksource: mips-gic: Staticize local symbols
...
There are a number of variables and functions which are unnecessarily
global. Mark them static.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8135/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:15 +01:00
Andrew Bresticker
a331ce63c8
clocksource: mips-gic: Combine with GIC clockevent driver
...
Combine the GIC clocksource driver with the GIC clockevent driver from
arch/mips/kernel/cevt-gic.c and remove the clockevent driver's separate
Kconfig symbol.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Andrew Bresticker <abrestic@chromium.org >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8132/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:15 +01:00
Andrew Bresticker
fa5635a277
MIPS: Move GIC clocksource driver to drivers/clocksource/
...
Move the GIC clocksource driver to drivers/clocksource/mips-gic-timer.c.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8133/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:45:14 +01:00