Merge tag 'powerpc-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 22 Feb 2021 22:34:00 +0000 (14:34 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 22 Feb 2021 22:34:00 +0000 (14:34 -0800)
Pull powerpc updates from Michael Ellerman:

 - A large series adding wrappers for our interrupt handlers, so that
   irq/nmi/user tracking can be isolated in the wrappers rather than
   spread in each handler.

 - Conversion of the 32-bit syscall handling into C.

 - A series from Nick to streamline our TLB flushing when using the
   Radix MMU.

 - Switch to using queued spinlocks by default for 64-bit server CPUs.

 - A rework of our PCI probing so that it happens later in boot, when
   more generic infrastructure is available.

 - Two small fixes to allow 32-bit little-endian processes to run on
   64-bit kernels.

 - Other smaller features, fixes & cleanups.

Thanks to: Alexey Kardashevskiy, Ananth N Mavinakayanahalli, Aneesh
Kumar K.V, Athira Rajeev, Bhaskar Chowdhury, Cédric Le Goater, Chengyang
Fan, Christophe Leroy, Christopher M. Riedl, Fabiano Rosas, Florian
Fainelli, Frederic Barrat, Ganesh Goudar, Hari Bathini, Jiapeng Chong,
Joseph J Allen, Kajol Jain, Markus Elfring, Michal Suchanek, Nathan
Lynch, Naveen N. Rao, Nicholas Piggin, Oliver O'Halloran, Pingfan Liu,
Po-Hsu Lin, Qian Cai, Ram Pai, Randy Dunlap, Sandipan Das, Stephen
Rothwell, Tyrel Datwyler, Will Springer, Yury Norov, and Zheng Yongjun.

* tag 'powerpc-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (188 commits)
  powerpc/perf: Adds support for programming of Thresholding in P10
  powerpc/pci: Remove unimplemented prototypes
  powerpc/uaccess: Merge raw_copy_to_user_allowed() into raw_copy_to_user()
  powerpc/uaccess: Merge __put_user_size_allowed() into __put_user_size()
  powerpc/uaccess: get rid of small constant size cases in raw_copy_{to,from}_user()
  powerpc/64: Fix stack trace not displaying final frame
  powerpc/time: Remove get_tbl()
  powerpc/time: Avoid using get_tbl()
  spi: mpc52xx: Avoid using get_tbl()
  powerpc/syscall: Avoid storing 'current' in another pointer
  powerpc/32: Handle bookE debugging in C in syscall entry/exit
  powerpc/syscall: Do not check unsupported scv vector on PPC32
  powerpc/32: Remove the counter in global_dbcr0
  powerpc/32: Remove verification of MSR_PR on syscall in the ASM entry
  powerpc/syscall: implement system call entry/exit logic in C for PPC32
  powerpc/32: Always save non volatile GPRs at syscall entry
  powerpc/syscall: Change condition to check MSR_RI
  powerpc/syscall: Save r3 in regs->orig_r3
  powerpc/syscall: Use is_compat_task()
  powerpc/syscall: Make interrupt.c buildable on PPC32
  ...

17 files changed:
1  2 
arch/powerpc/Kconfig
arch/powerpc/configs/44x/akebono_defconfig
arch/powerpc/include/asm/book3s/64/kup.h
arch/powerpc/include/asm/kvm_ppc.h
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/head_book3s_32.S
arch/powerpc/kernel/irq.c
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/book3s_hv_builtin.c
arch/powerpc/kvm/booke.c
arch/powerpc/kvm/powerpc.c
arch/powerpc/lib/sstep.c
arch/powerpc/perf/core-book3s.c
drivers/spi/spi-mpc52xx.c

Simple merge
Simple merge
index 79ee7750937db06bade246afd710016a6fef2f1b,9c4d75a1eed2e92547166dd7481da2df99a41689..6084fa499aa356851ea0d387d5374fb6c7aa5636
@@@ -46,12 -46,12 +46,12 @@@ obj-y                              := cputable.o syscalls.o 
                                   prom.o traps.o setup-common.o \
                                   udbg.o misc.o io.o misc_$(BITS).o \
                                   of_platform.o prom_parse.o firmware.o \
-                                  hw_breakpoint_constraints.o
+                                  hw_breakpoint_constraints.o interrupt.o
  obj-y                         += ptrace/
  obj-$(CONFIG_PPC64)           += setup_64.o \
-                                  paca.o nvram_64.o note.o syscall_64.o
+                                  paca.o nvram_64.o note.o
  obj-$(CONFIG_COMPAT)          += sys_ppc32.o signal_32.o
 -obj-$(CONFIG_VDSO32)          += vdso32/
 +obj-$(CONFIG_VDSO32)          += vdso32_wrapper.o
  obj-$(CONFIG_PPC_WATCHDOG)    += watchdog.o
  obj-$(CONFIG_HAVE_HW_BREAKPOINT)      += hw_breakpoint.o
  obj-$(CONFIG_PPC_DAWR)                += dawr.o
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 36f94150067607898d1baed4f7d589672026dec1,e6a30f2323708ed20aa5b5c952f82d9161ca4608..124cba7213f15a74db6463ccfceb88fe2d70ccc0
@@@ -247,10 -247,8 +247,10 @@@ static int mpc52xx_spi_fsmstate_transfe
        /* Is the transfer complete? */
        ms->len--;
        if (ms->len == 0) {
-               ms->timestamp = get_tbl();
+               ms->timestamp = mftb();
 -              ms->timestamp += ms->transfer->delay_usecs * tb_ticks_per_usec;
 +              if (ms->transfer->delay.unit == SPI_DELAY_UNIT_USECS)
 +                      ms->timestamp += ms->transfer->delay.value *
 +                                       tb_ticks_per_usec;
                ms->state = mpc52xx_spi_fsmstate_wait;
                return FSM_CONTINUE;
        }