Hi Linus, Here are the main MIPS changes for v5.4; please pull. My apologies that this is arriving at the end of the week; a combination of travel & discovering a MIPS32 page table handling issue later than would have been ideal delayed things. There are a number of minor merge conflicts with current master, my suggested resolutions are as follows: diff --cc Documentation/mips/index.rst index fd9023c8a89f,321b4794f3b8..3616fb872af3 --- a/Documentation/mips/index.rst +++ b/Documentation/mips/index.rst @@@ -1,17 -1,11 +1,18 @@@ .. SPDX-License-Identifier: GPL-2.0 -=========================== -MIPS-specific Documentation -=========================== +================= +MIPS architecture +================= .. toctree:: - :maxdepth: 1 - :numbered: + :maxdepth: 2 + au1xxx_ide + ingenic-tcu + +.. only:: subproject and html + + Indices + ======= + + * :ref:`genindex` diff --cc arch/mips/Kconfig index 904c096fa4da,2f7c050e8cde..cc8e2b1032a5 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@@ -43,8 -44,7 +44,8 @@@ config MIP select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT select HAVE_ARCH_SECCOMP_FILTER select HAVE_ARCH_TRACEHOOK - select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT + select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES + select HAVE_ASM_MODVERSIONS select HAVE_EBPF_JIT if (!CPU_MICROMIPS) select HAVE_CONTEXT_TRACKING select HAVE_COPY_THREAD_TLS diff --cc drivers/video/fbdev/Makefile index aab7155884ea,49502d6256cb..aa6352798cf4 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@@ -116,7 -116,7 +116,6 @@@ obj-y += om obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o obj-$(CONFIG_FB_CARMINE) += carminefb.o obj-$(CONFIG_FB_MB862XX) += mb862xx/ - obj-$(CONFIG_FB_JZ4740) += jz4740_fb.o -obj-$(CONFIG_FB_NUC900) += nuc900fb.o obj-$(CONFIG_FB_PUV3_UNIGFX) += fb-puv3.o obj-$(CONFIG_FB_HYPERV) += hyperv_fb.o obj-$(CONFIG_FB_OPENCORES) += ocfb.o Thanks, Paul The following changes since commit 5f9e832c137075045d15cd6899ab0505cfb2ca4b: Linus 5.3-rc1 (2019-07-21 14:05:38 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git tags/mips_5.4 for you to fetch changes up to 05d013a0366d50f4f0dbebf8c1b22b42020bf49a: MIPS: Detect bad _PFN_SHIFT values (2019-09-20 14:55:07 -0700) ---------------------------------------------------------------- Main MIPS changes for v5.4: - boot_mem_map is removed, providing a nice cleanup made possible by the recent removal of bootmem. - Some fixes to atomics, in general providing compiler barriers for smp_mb__{before,after}_atomic plus fixes specific to Loongson CPUs or MIPS32 systems using cmpxchg64(). - Conversion to the new generic VDSO infrastructure courtesy of Vincenzo Frascino. - Removal of undefined behavior in set_io_port_base(), fixing the behavior of some MIPS kernel configurations when built with recent clang versions. - Initial MIPS32 huge page support, functional on at least Ingenic SoCs. - pte_special() is now supported for some configurations, allowing among other things generic fast GUP to be used. - Miscellaneous fixes & cleanups. And platform specific changes: - Major improvements to Ingenic SoC support from Paul Cercueil, mostly enabled by the inclusion of the new TCU (timer-counter unit) drivers he's spent a very patient year or so working on. Plus some fixes for X1000 SoCs from Zhou Yanjie. - Netgear R6200 v1 systems are now supported by the bcm47xx platform. - DT updates for BMIPS, Lantiq & Microsemi Ocelot systems. ---------------------------------------------------------------- Antoine Tenart (2): MIPS: dts: mscc: describe the PTP register range MIPS: dts: mscc: describe the PTP ready interrupt Arnd Bergmann (1): mips: fix vdso32 build, again Christoph Hellwig (1): mips: remove ioremap_cachable Christophe JAILLET (1): MIPS: Octeon: Fix a typo in #define OCTOEN_SERIAL_LEN Daniel Silsby (5): MIPS: Disallow CPU_SUPPORTS_HUGEPAGES for XPA,EVA MIPS: Add partial 32-bit huge page support MIPS: Decouple CPU_SUPPORTS_HUGEPAGES from 64BIT MIPS: ingenic: Add support for huge pages MIPS: Undefine PMD_ORDER for 32-bit builds Dmitry Korotin (1): MIPS: pte_special()/pte_mkspecial() support Edward Matijević (1): MIPS: BCM47XX: Add support for Netgear R6200 V1 Fabian Mewes (1): MIPS: Kconfig: remove HAVE_LATENCYTOP_SUPPORT Firoz Khan (1): mips: remove nargs from __SYSCALL Florian Fainelli (2): firmware: bcm47xx_nvram: Correct size_t printf format firmware: bcm47xx_nvram: Allow COMPILE_TEST Hauke Mehrtens (1): MIPS: ralink: deactivate PCI support for SOC_MT7621 Jiaxun Yang (9): MIPS: OCTEON: Drop boot_mem_map MIPS: fw: Record prom memory MIPS: malta: Drop prom_free_prom_memory MIPS: msp: Record prom memory MIPS: ip22: Drop addr_is_ram MIPS: xlp: Drop boot_mem_map MIPS: mm: Drop boot_mem_map MIPS: init: Drop boot_mem_map MIPS: Treat Loongson Extensions as ASEs Jonas Gorski (1): MIPS: BMIPS: add clock controller nodes Martin Blumenstingl (1): MIPS: lantiq: update the clock alias' for the mainline PCIe PHY driver Nathan Chancellor (3): MIPS: Don't use bc_false uninitialized in __mm_isBranchInstr MIPS/ptrace: Update mips_get_syscall_arg's return type MIPS: tlbex: Explicitly cast _PAGE_NO_EXEC to a boolean Nick Desaulniers (1): mips: avoid explicit UB in assignment of mips_io_port_base Paul Burton (15): MIPS: Remove unused R4300 CPU support MIPS: Remove unused R5432 CPU support MIPS: Remove unused R5432_CP0_INTERRUPT_WAR MIPS: Remove unused R8000 CPU support MIPS: octeon: Remove cpu_has_saa MIPS: octeon: Remove ARCH_HAS_IRQ_PER_CPU Merge branch 'ingenic-tcu-v5.4' into mips-next MIPS: mm: Fix highmem compile MIPS: Fix build with CONFIG_PROC_VMCORE=y MIPS: Select R3k-style TLB in Kconfig MIPS: tlbex: Simplify r3k check MIPS: tlbex: Remove cpu_has_local_ebase MIPS: Drop Loongson _CACHE_* definitions MIPS: Disable pte_special() for MIPS32 with RiXi MIPS: Detect bad _PFN_SHIFT values Paul Cercueil (27): MIPS: Rename JZRISC to XBURST MIPS: Decode config3 register on Ingenic SoCs MIPS: DTS: jz4740: Add node for the MMC driver MIPS: qi_lb60: Move MMC configuration to devicetree MIPS: DTS: jz4740: Add missing nodes MIPS: qi_lb60: Migrate to devicetree MIPS: configs: LB60: update defconfig ASoC: jz4740: Drop lb60 board code video/fbdev: Drop JZ4740 driver dma: Drop JZ4740 driver mtd: rawnand: Drop obsolete JZ4740 NAND driver power/supply: Drop obsolete JZ4740 driver hwmon: Drop obsolete JZ4740 driver MIPS: jz4740: Drop dead code dt-bindings: ingenic: Add DT bindings for TCU clocks doc: Add doc for the Ingenic TCU hardware dt-bindings: Add doc for the Ingenic TCU drivers mfd/syscon: Add device_node_to_regmap() clk: ingenic: Add driver for the TCU clocks irqchip: Add irq-ingenic-tcu driver clocksource: Add a new timer-ingenic driver clk: jz4740: Add TCU clock MIPS: jz4740: Add DTS nodes for the TCU drivers MIPS: qi_lb60: Reduce system timer and clocksource to 750 kHz MIPS: CI20: Reduce system timer and clocksource to 3 MHz MIPS: GCW0: Reduce system timer and clocksource to 750 kHz MIPS: jz4740: Drop obsolete code Peter Zijlstra (3): mips/atomic: Fix cmpxchg64 barriers mips/atomic: Fix loongson_llsc_mb() wreckage mips/atomic: Fix smp_mb__{before,after}_atomic() Stephen Boyd (1): MIPS: Remove dev_err() usage after platform_get_irq() Thomas Bogendoerfer (1): MIPS: PCI: refactor ioc3 special handling Vincenzo Frascino (6): mips: Add support for generic vDSO mips: Add clock_getres entry point mips: Add clock_gettime64 entry point mips: vdso: Fix source path mips: vdso: Fix flip/flop vdso building bug mips: compat: vdso: Use legacy syscalls as fallback YueHaibing (2): irqchip/irq-ingenic-tcu: Fix COMPILE_TEST building MIPS: Octeon: remove duplicated include from dma-octeon.c Zhou Yanjie (3): MIPS: X1000: Add X1000 system type. MIPS: Ingenic: Fix bugs when detecting X1000's L2 cache. MIPS: Ingenic: Disable broken BTB lookup optimization. .../devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt | 22 - .../devicetree/bindings/timer/ingenic,tcu.txt | 137 ++++ .../bindings/watchdog/ingenic,jz4740-wdt.txt | 17 - Documentation/index.rst | 1 + Documentation/mips/index.rst | 11 + Documentation/mips/ingenic-tcu.rst | 71 +++ arch/mips/Kconfig | 65 +- arch/mips/Makefile | 4 - arch/mips/bcm47xx/board.c | 1 + arch/mips/bcm47xx/buttons.c | 10 + arch/mips/boot/dts/brcm/bcm3368.dtsi | 12 +- arch/mips/boot/dts/brcm/bcm63268.dtsi | 12 +- arch/mips/boot/dts/brcm/bcm6328.dtsi | 6 + arch/mips/boot/dts/brcm/bcm6358.dtsi | 12 +- arch/mips/boot/dts/brcm/bcm6362.dtsi | 12 +- arch/mips/boot/dts/brcm/bcm6368.dtsi | 12 +- arch/mips/boot/dts/ingenic/ci20.dts | 7 + arch/mips/boot/dts/ingenic/gcw0.dts | 10 + arch/mips/boot/dts/ingenic/jz4740.dtsi | 127 +++- arch/mips/boot/dts/ingenic/jz4770.dtsi | 21 + arch/mips/boot/dts/ingenic/jz4780.dtsi | 23 + arch/mips/boot/dts/ingenic/qi_lb60.dts | 325 ++++++++++ arch/mips/boot/dts/mscc/ocelot.dtsi | 7 +- arch/mips/cavium-octeon/dma-octeon.c | 16 +- arch/mips/cavium-octeon/setup.c | 3 +- arch/mips/configs/qi_lb60_defconfig | 44 +- arch/mips/fw/arc/memory.c | 24 +- arch/mips/include/asm/addrspace.h | 9 - arch/mips/include/asm/atomic.h | 19 +- arch/mips/include/asm/barrier.h | 44 +- arch/mips/include/asm/bitops.h | 47 +- arch/mips/include/asm/bootinfo.h | 17 +- arch/mips/include/asm/cmpxchg.h | 18 +- arch/mips/include/asm/cpu-features.h | 19 +- arch/mips/include/asm/cpu-type.h | 15 +- arch/mips/include/asm/cpu.h | 19 +- arch/mips/include/asm/io.h | 21 +- arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 + .../asm/mach-cavium-octeon/cpu-feature-overrides.h | 9 - arch/mips/include/asm/mach-cavium-octeon/war.h | 1 - .../include/asm/mach-dec/cpu-feature-overrides.h | 1 - arch/mips/include/asm/mach-generic/war.h | 1 - arch/mips/include/asm/mach-ip22/war.h | 1 - arch/mips/include/asm/mach-ip27/war.h | 1 - arch/mips/include/asm/mach-ip28/war.h | 1 - arch/mips/include/asm/mach-ip32/war.h | 1 - arch/mips/include/asm/mach-jz4740/gpio.h | 15 - arch/mips/include/asm/mach-jz4740/jz4740_fb.h | 58 -- arch/mips/include/asm/mach-jz4740/jz4740_mmc.h | 12 - arch/mips/include/asm/mach-jz4740/platform.h | 26 - .../asm/mach-loongson64/cpu-feature-overrides.h | 1 - arch/mips/include/asm/mach-malta/war.h | 1 - arch/mips/include/asm/mach-pmcs-msp71xx/war.h | 1 - arch/mips/include/asm/mach-rc32434/war.h | 1 - arch/mips/include/asm/mach-rm/war.h | 1 - arch/mips/include/asm/mach-sibyte/war.h | 1 - arch/mips/include/asm/mach-tx49xx/war.h | 1 - arch/mips/include/asm/mipsregs.h | 4 + arch/mips/include/asm/module.h | 6 - arch/mips/include/asm/octeon/octeon.h | 4 +- arch/mips/include/asm/pgtable-32.h | 62 +- arch/mips/include/asm/pgtable-bits.h | 34 +- arch/mips/include/asm/pgtable.h | 20 +- arch/mips/include/asm/syscall.h | 21 +- arch/mips/include/asm/vdso.h | 78 +-- arch/mips/include/asm/vdso/gettimeofday.h | 222 +++++++ arch/mips/{ => include/asm}/vdso/vdso.h | 16 +- arch/mips/include/asm/vdso/vsyscall.h | 43 ++ arch/mips/include/asm/war.h | 13 - arch/mips/jz4740/Makefile | 7 +- arch/mips/jz4740/board-qi_lb60.c | 523 ---------------- arch/mips/jz4740/platform.c | 250 -------- arch/mips/jz4740/prom.c | 5 - arch/mips/jz4740/setup.c | 7 +- arch/mips/jz4740/time.c | 151 +---- arch/mips/kernel/branch.c | 2 +- arch/mips/kernel/cpu-probe.c | 53 +- arch/mips/kernel/genex.S | 3 - arch/mips/kernel/idle.c | 3 +- arch/mips/kernel/proc.c | 4 + arch/mips/kernel/scall32-o32.S | 2 +- arch/mips/kernel/scall64-n32.S | 2 +- arch/mips/kernel/scall64-n64.S | 2 +- arch/mips/kernel/scall64-o32.S | 2 +- arch/mips/kernel/setup.c | 357 +++-------- arch/mips/kernel/syscall.c | 1 + arch/mips/kernel/syscalls/syscalltbl.sh | 4 +- arch/mips/kernel/vdso.c | 37 +- arch/mips/lantiq/xway/sysctrl.c | 16 +- arch/mips/mm/Makefile | 6 +- arch/mips/mm/c-r4k.c | 2 - arch/mips/mm/init.c | 98 ++- arch/mips/mm/pgtable-32.c | 20 + arch/mips/mm/sc-mips.c | 27 +- arch/mips/mm/tlb-r8k.c | 239 ------- arch/mips/mm/tlbex.c | 63 +- arch/mips/mti-malta/malta-memory.c | 11 - arch/mips/netlogic/xlp/setup.c | 12 +- arch/mips/pci/pci-xtalk-bridge.c | 167 ++--- arch/mips/pmcs-msp71xx/msp_prom.c | 22 +- arch/mips/ralink/Kconfig | 1 - arch/mips/ralink/timer.c | 4 +- arch/mips/sgi-ip22/ip28-berr.c | 20 +- arch/mips/vdso/Makefile | 41 +- arch/mips/vdso/config-n32-o32-env.c | 19 + arch/mips/vdso/elf.S | 2 +- arch/mips/vdso/sigreturn.S | 2 +- arch/mips/vdso/vdso.lds.S | 4 + arch/mips/vdso/vgettimeofday.c | 58 ++ drivers/clk/ingenic/Kconfig | 10 +- drivers/clk/ingenic/Makefile | 1 + drivers/clk/ingenic/jz4740-cgu.c | 6 + drivers/clk/ingenic/tcu.c | 474 ++++++++++++++ drivers/clocksource/Kconfig | 11 + drivers/clocksource/Makefile | 1 + drivers/clocksource/ingenic-timer.c | 356 +++++++++++ drivers/dma/Kconfig | 6 - drivers/dma/Makefile | 1 - drivers/dma/dma-jz4740.c | 623 ------------------- drivers/firmware/broadcom/Kconfig | 2 +- drivers/firmware/broadcom/bcm47xx_nvram.c | 4 +- drivers/hwmon/Kconfig | 10 - drivers/hwmon/Makefile | 1 - drivers/hwmon/jz4740-hwmon.c | 135 ---- drivers/irqchip/Kconfig | 12 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-ingenic-tcu.c | 182 ++++++ drivers/mfd/syscon.c | 46 +- drivers/mtd/nand/raw/ingenic/Kconfig | 7 - drivers/mtd/nand/raw/ingenic/Makefile | 1 - drivers/mtd/nand/raw/ingenic/jz4740_nand.c | 536 ---------------- drivers/power/supply/Kconfig | 11 - drivers/power/supply/Makefile | 1 - drivers/power/supply/jz4740-battery.c | 421 ------------- drivers/video/fbdev/Kconfig | 9 - drivers/video/fbdev/Makefile | 1 - drivers/video/fbdev/jz4740_fb.c | 690 --------------------- include/dt-bindings/clock/ingenic,tcu.h | 20 + include/dt-bindings/clock/jz4740-cgu.h | 1 + include/linux/mfd/syscon.h | 6 + sound/soc/jz4740/Kconfig | 25 +- sound/soc/jz4740/Makefile | 5 - sound/soc/jz4740/qi_lb60.c | 106 ---- 143 files changed, 2921 insertions(+), 4948 deletions(-) delete mode 100644 Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt create mode 100644 Documentation/devicetree/bindings/timer/ingenic,tcu.txt delete mode 100644 Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt create mode 100644 Documentation/mips/index.rst create mode 100644 Documentation/mips/ingenic-tcu.rst delete mode 100644 arch/mips/include/asm/mach-jz4740/gpio.h delete mode 100644 arch/mips/include/asm/mach-jz4740/jz4740_fb.h delete mode 100644 arch/mips/include/asm/mach-jz4740/jz4740_mmc.h delete mode 100644 arch/mips/include/asm/mach-jz4740/platform.h create mode 100644 arch/mips/include/asm/vdso/gettimeofday.h rename arch/mips/{ => include/asm}/vdso/vdso.h (77%) create mode 100644 arch/mips/include/asm/vdso/vsyscall.h delete mode 100644 arch/mips/jz4740/board-qi_lb60.c delete mode 100644 arch/mips/jz4740/platform.c delete mode 100644 arch/mips/mm/tlb-r8k.c create mode 100644 arch/mips/vdso/config-n32-o32-env.c create mode 100644 arch/mips/vdso/vgettimeofday.c create mode 100644 drivers/clk/ingenic/tcu.c create mode 100644 drivers/clocksource/ingenic-timer.c delete mode 100644 drivers/dma/dma-jz4740.c delete mode 100644 drivers/hwmon/jz4740-hwmon.c create mode 100644 drivers/irqchip/irq-ingenic-tcu.c delete mode 100644 drivers/mtd/nand/raw/ingenic/jz4740_nand.c delete mode 100644 drivers/power/supply/jz4740-battery.c delete mode 100644 drivers/video/fbdev/jz4740_fb.c create mode 100644 include/dt-bindings/clock/ingenic,tcu.h delete mode 100644 sound/soc/jz4740/qi_lb60.c