1. 27 Dec, 2018 13 commits
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugins-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c6f1b355
      Linus Torvalds authored
      Pull gcc-plugins update from Kees Cook:
       "Both arm and arm64 are gaining per-task stack canaries (to match x86),
        but arm is being done with a gcc plugin, hence it going through the
        gcc-plugins tree.
      
        New gcc-plugin:
      
         - Enable per-task stack protector for ARM (Ard Biesheuvel)"
      
      * tag 'gcc-plugins-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        ARM: smp: add support for per-task stack canaries
      c6f1b355
    • Linus Torvalds's avatar
      Merge tag 'pstore-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c06e9ef6
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
       "Improvements and refactorings:
      
         - Improve compression handling
      
         - Refactor argument handling during initialization
      
         - Avoid needless locking for saner EFI backend handling
      
         - Add more kern-doc and improve debugging output"
      
      * tag 'pstore-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore/ram: Avoid NULL deref in ftrace merging failure path
        pstore: Convert buf_lock to semaphore
        pstore: Fix bool initialization/comparison
        pstore/ram: Do not treat empty buffers as valid
        pstore/ram: Simplify ramoops_get_next_prz() arguments
        pstore: Map PSTORE_TYPE_* to strings
        pstore: Replace open-coded << with BIT()
        pstore: Improve and update some comments and status output
        pstore/ram: Add kern-doc for struct persistent_ram_zone
        pstore/ram: Report backend assignments with finer granularity
        pstore/ram: Standardize module name in ramoops
        pstore: Avoid duplicate call of persistent_ram_zap()
        pstore: Remove needless lock during console writes
        pstore: Do not use crash buffer for decompression
      c06e9ef6
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 8d697332
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Notable changes:
      
         - Mitigations for Spectre v2 on some Freescale (NXP) CPUs.
      
         - A large series adding support for pass-through of Nvidia V100 GPUs
           to guests on Power9.
      
         - Another large series to enable hardware assistance for TLB table
           walk on MPC8xx CPUs.
      
         - Some preparatory changes to our DMA code, to make way for further
           cleanups from Christoph.
      
         - Several fixes for our Transactional Memory handling discovered by
           fuzzing the signal return path.
      
         - Support for generating our system call table(s) from a text file
           like other architectures.
      
         - A fix to our page fault handler so that instead of generating a
           WARN_ON_ONCE, user accesses of kernel addresses instead print a
           ratelimited and appropriately scary warning.
      
         - A cosmetic change to make our unhandled page fault messages more
           similar to other arches and also more compact and informative.
      
         - Freescale updates from Scott:
             "Highlights include elimination of legacy clock bindings use from
              dts files, an 83xx watchdog handler, fixes to old dts interrupt
              errors, and some minor cleanup."
      
        And many clean-ups, reworks and minor fixes etc.
      
        Thanks to: Alexandre Belloni, Alexey Kardashevskiy, Andrew Donnellan,
        Aneesh Kumar K.V, Arnd Bergmann, Benjamin Herrenschmidt, Breno Leitao,
        Christian Lamparter, Christophe Leroy, Christoph Hellwig, Daniel
        Axtens, Darren Stevens, David Gibson, Diana Craciun, Dmitry V. Levin,
        Firoz Khan, Geert Uytterhoeven, Greg Kurz, Gustavo Romero, Hari
        Bathini, Joel Stanley, Kees Cook, Madhavan Srinivasan, Mahesh
        Salgaonkar, Markus Elfring, Mathieu Malaterre, Michal Suchánek, Naveen
        N. Rao, Nick Desaulniers, Oliver O'Halloran, Paul Mackerras, Ram Pai,
        Ravi Bangoria, Rob Herring, Russell Currey, Sabyasachi Gupta, Sam
        Bobroff, Satheesh Rajendran, Scott Wood, Segher Boessenkool, Stephen
        Rothwell, Tang Yuantian, Thiago Jung Bauermann, Yangtao Li, Yuantian
        Tang, Yue Haibing"
      
      * tag 'powerpc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (201 commits)
        Revert "powerpc/fsl_pci: simplify fsl_pci_dma_set_mask"
        powerpc/zImage: Also check for stdout-path
        powerpc: Fix HMIs on big-endian with CONFIG_RELOCATABLE=y
        macintosh: Use of_node_name_{eq, prefix} for node name comparisons
        ide: Use of_node_name_eq for node name comparisons
        powerpc: Use of_node_name_eq for node name comparisons
        powerpc/pseries/pmem: Convert to %pOFn instead of device_node.name
        powerpc/mm: Remove very old comment in hash-4k.h
        powerpc/pseries: Fix node leak in update_lmb_associativity_index()
        powerpc/configs/85xx: Enable CONFIG_DEBUG_KERNEL
        powerpc/dts/fsl: Fix dtc-flagged interrupt errors
        clk: qoriq: add more compatibles strings
        powerpc/fsl: Use new clockgen binding
        powerpc/83xx: handle machine check caused by watchdog timer
        powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved"
        powerpc/fsl_pci: simplify fsl_pci_dma_set_mask
        arch/powerpc/fsl_rmu: Use dma_zalloc_coherent
        vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver
        vfio_pci: Allow regions to add own capabilities
        vfio_pci: Allow mapping extra regions
        ...
      8d697332
    • Olof Johansson's avatar
      sched/fair: Fix warning on non-SMP build · 6d101ba6
      Olof Johansson authored
      Caused by making the variable static:
      
        kernel/sched/fair.c:119:21: warning: 'capacity_margin' defined but not used [-Wunused-variable]
      
      Seems easiest to just move it up under the existing ifdef CONFIG_SMP
      that's a few lines above.
      
      Fixes: ed8885a1 ('sched/fair: Make some variables static')
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d101ba6
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fc2fd5f0
      Linus Torvalds authored
      Pull x86 platform update from Ingo Molnar:
       "An OLPC platform support simplification patch"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/olpc: Do not call of_platform_bus_probe()
      fc2fd5f0
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e57d9f63
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Update and clean up x86 fault handling, by Andy Lutomirski.
      
         - Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
           and related fallout, by Dan Williams.
      
         - CPA cleanups and reorganization by Peter Zijlstra: simplify the
           flow and remove a few warts.
      
         - Other misc cleanups"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        x86/mm/dump_pagetables: Use DEFINE_SHOW_ATTRIBUTE()
        x86/mm/cpa: Rename @addrinarray to @numpages
        x86/mm/cpa: Better use CLFLUSHOPT
        x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function
        x86/mm/cpa: Make cpa_data::numpages invariant
        x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation
        x86/mm/cpa: Simplify the code after making cpa->vaddr invariant
        x86/mm/cpa: Make cpa_data::vaddr invariant
        x86/mm/cpa: Add __cpa_addr() helper
        x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests
        x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
        x86/mm: Validate kernel_physical_mapping_init() PTE population
        generic/pgtable: Introduce set_pte_safe()
        generic/pgtable: Introduce {p4d,pgd}_same()
        generic/pgtable: Make {pmd, pud}_same() unconditionally available
        x86/fault: Clean up the page fault oops decoder a bit
        x86/fault: Decode page fault OOPSes better
        x86/vsyscall/64: Use X86_PF constants in the simulated #PF error code
        x86/oops: Show the correct CS value in show_regs()
        x86/fault: Don't try to recover from an implicit supervisor access
        ...
      e57d9f63
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d6e867a6
      Linus Torvalds authored
      Pull x86 fpu updates from Ingo Molnar:
       "Misc preparatory changes for an upcoming FPU optimization that will
        delay the loading of FPU registers to return-to-userspace"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Don't export __kernel_fpu_{begin,end}()
        x86/fpu: Update comment for __raw_xsave_addr()
        x86/fpu: Add might_fault() to user_insn()
        x86/pkeys: Make init_pkru_value static
        x86/thread_info: Remove _TIF_ALLWORK_MASK
        x86/process/32: Remove asm/math_emu.h include
        x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset()
      d6e867a6
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · db2ab474
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "Misc changes:
      
         - Fix nr_cpus= boot option interaction bug with logical package
           management
      
         - Clean up UMIP detection messages
      
         - Add WBNOINVD instruction detection
      
         - Remove the unused get_scattered_cpuid_leaf() function"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/topology: Use total_cpus for max logical packages calculation
        x86/umip: Make the UMIP activated message generic
        x86/umip: Print UMIP line only once
        x86/cpufeatures: Add WBNOINVD feature definition
        x86/cpufeatures: Remove get_scattered_cpuid_leaf()
      db2ab474
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 312a4661
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kprobes: Remove trampoline_handler() prototype
        x86/kernel: Fix more -Wmissing-prototypes warnings
        x86: Fix various typos in comments
        x86/headers: Fix -Wmissing-prototypes warning
        x86/process: Avoid unnecessary NULL check in get_wchan()
        x86/traps: Complete prototype declarations
        x86/mce: Fix -Wmissing-prototypes warnings
        x86/gart: Rewrite early_gart_iommu_check() comment
      312a4661
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6e54df00
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
      
       - Resolve LLVM build bug by removing redundant GNU specific flag
      
       - Remove obsolete -funit-at-a-time and -fno-unit-at-a-time use from x86
         PowerPC and UM.
      
         The UML change was seen and acked by UML maintainer Richard
         Weinberger.
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/um/vdso: Drop implicit common-page-size linker flag
        x86, powerpc: Remove -funit-at-a-time compiler option entirely
        x86/um: Remove -fno-unit-at-a-time workaround for pre-4.0 GCC
      6e54df00
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9a126e78
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "Two cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Add missing va_end() to die()
        x86/boot: Simplify the detect_memory*() control flow
      9a126e78
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 38fabca1
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "Two changes:
      
         - Remove (some) remnants of the vDSO's fake section table mechanism
           that were left behind when the vDSO build process reverted to using
           "objdump -S" to strip the userspace image.
      
         - Remove hardcoded POPCNT mnemonics now that the minimum binutils
           version supports the symbolic form"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Remove a stale/misleading comment from the linker script
        x86/vdso: Remove obsolete "fake section table" reservation
        x86: Use POPCNT mnemonics in arch_hweight.h
      38fabca1
    • Linus Torvalds's avatar
      Merge branch 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8465625a
      Linus Torvalds authored
      Pull x86 AMD northbridge updates from Ingo Molnar:
       "Update DF/SMN access and k10temp for AMD F17h M30h, by Brian Woods:
      
         'Updates the data fabric/system management network code needed to get
          k10temp working for M30h. Since there are now processors which have
          multiple roots per DF/SMN interface, there needs to some logic which
          skips N-1 root complexes per DF/SMN interface. This is because the
          root complexes per interface are redundant (as far as DF/SMN goes).
          These changes shouldn't effect past processors and, for F17h M0Xh,
          the mappings stay the same.'
      
        The hwmon changes were seen and acked by hwmon maintainer Guenter Roeck"
      
      * 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hwmon/k10temp: Add support for AMD family 17h, model 30h CPUs
        x86/amd_nb: Add PCI device IDs for family 17h, model 30h
        x86/amd_nb: Add support for newer PCI topologies
        hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs
      8465625a
  2. 26 Dec, 2018 20 commits
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 17bf423a
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Introduce "Energy Aware Scheduling" - by Quentin Perret.
      
           This is a coherent topology description of CPUs in cooperation with
           the PM subsystem, with the goal to schedule more energy-efficiently
           on asymetric SMP platform - such as waking up tasks to the more
           energy-efficient CPUs first, as long as the system isn't
           oversubscribed.
      
           For details of the design, see:
      
              https://lore.kernel.org/lkml/20180724122521.22109-1-quentin.perret@arm.com/
      
         - Misc cleanups and smaller enhancements"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        sched/fair: Select an energy-efficient CPU on task wake-up
        sched/fair: Introduce an energy estimation helper function
        sched/fair: Add over-utilization/tipping point indicator
        sched/fair: Clean-up update_sg_lb_stats parameters
        sched/toplogy: Introduce the 'sched_energy_present' static key
        sched/topology: Make Energy Aware Scheduling depend on schedutil
        sched/topology: Disable EAS on inappropriate platforms
        sched/topology: Add lowest CPU asymmetry sched_domain level pointer
        sched/topology: Reference the Energy Model of CPUs when available
        PM: Introduce an Energy Model management framework
        sched/cpufreq: Prepare schedutil for Energy Aware Scheduling
        sched/topology: Relocate arch_scale_cpu_capacity() to the internal header
        sched/core: Remove unnecessary unlikely() in push_*_task()
        sched/topology: Remove the ::smt_gain field from 'struct sched_domain'
        sched: Fix various typos in comments
        sched/core: Clean up the #ifdef block in add_nr_running()
        sched/fair: Make some variables static
        sched/core: Create task_has_idle_policy() helper
        sched/fair: Add lsub_positive() and use it consistently
        sched/fair: Mask UTIL_AVG_UNCHANGED usages
        ...
      17bf423a
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 116b081c
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main changes in this cycle on the kernel side:
      
         - rework kprobes blacklist handling (Masami Hiramatsu)
      
         - misc cleanups
      
        on the tooling side these areas were the main focus:
      
         - 'perf trace'     enhancements (Arnaldo Carvalho de Melo)
      
         - 'perf bench'     enhancements (Davidlohr Bueso)
      
         - 'perf record'    enhancements (Alexey Budankov)
      
         - 'perf annotate'  enhancements (Jin Yao)
      
         - 'perf top'       enhancements (Jiri Olsa)
      
         - Intel hw tracing enhancements (Adrian Hunter)
      
         - ARM hw tracing   enhancements (Leo Yan, Mathieu Poirier)
      
         - ... plus lots of other enhancements, cleanups and fixes"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (171 commits)
        tools uapi asm: Update asm-generic/unistd.h copy
        perf symbols: Relax checks on perf-PID.map ownership
        perf trace: Wire up the fadvise 'advice' table generator
        perf beauty: Add generator for fadvise64's 'advice' arg constants
        tools headers uapi: Grab a copy of fadvise.h
        perf beauty mmap: Print mmap's 'offset' arg in hexadecimal
        perf beauty mmap: Print PROT_READ before PROT_EXEC to match strace output
        perf trace beauty: Beautify arch_prctl()'s arguments
        perf trace: When showing string prefixes show prefix + ??? for unknown entries
        perf trace: Move strarrays to beauty.h for further reuse
        perf beauty: Wire up the x86_arch prctl code table generator
        perf beauty: Add a string table generator for x86's 'arch_prctl' codes
        tools include arch: Grab a copy of x86's prctl.h
        perf trace: Show NULL when syscall pointer args are 0
        perf trace: Enclose the errno strings with ()
        perf augmented_raw_syscalls: Copy 'access' arg as well
        perf trace: Add alignment spaces after the closing parens
        perf trace beauty: Print O_RDONLY when (flags & O_ACCMODE) == 0
        perf trace: Allow asking for not suppressing common string prefixes
        perf trace: Add a prefix member to the strarray class
        ...
      116b081c
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1eefdec1
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "The main change in this cycle are initial preparatory bits of dynamic
        lockdep keys support from Bart Van Assche.
      
        There are also misc changes, a comment cleanup and a data structure
        cleanup"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Clean up comment in nohz_idle_balance()
        locking/lockdep: Stop using RCU primitives to access 'all_lock_classes'
        locking/lockdep: Make concurrent lockdep_reset_lock() calls safe
        locking/lockdep: Remove a superfluous INIT_LIST_HEAD() statement
        locking/lockdep: Introduce lock_class_cache_is_registered()
        locking/lockdep: Inline __lockdep_init_map()
        locking/lockdep: Declare local symbols static
        tools/lib/lockdep/tests: Test the lockdep_reset_lock() implementation
        tools/lib/lockdep: Add dummy print_irqtrace_events() implementation
        tools/lib/lockdep: Rename "trywlock" into "trywrlock"
        tools/lib/lockdep/tests: Run lockdep tests a second time under Valgrind
        tools/lib/lockdep/tests: Improve testing accuracy
        tools/lib/lockdep/tests: Fix shellcheck warnings
        tools/lib/lockdep/tests: Display compiler warning and error messages
        locking/lockdep: Remove ::version from lock_class structure
      1eefdec1
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 684019dd
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Allocate the E820 buffer before doing the
           GetMemoryMap/ExitBootServices dance so we don't run out of space
      
         - Clear EFI boot services mappings when freeing the memory
      
         - Harden efivars against callers that invoke it on non-EFI boots
      
         - Reduce the number of memblock reservations resulting from extensive
           use of the new efi_mem_reserve_persistent() API
      
         - Other assorted fixes and cleanups"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Don't unmap EFI boot services code/data regions for EFI_OLD_MEMMAP and EFI_MIXED_MODE
        efi: Reduce the amount of memblock reservations for persistent allocations
        efi: Permit multiple entries in persistent memreserve data structure
        efi/libstub: Disable some warnings for x86{,_64}
        x86/efi: Move efi_<reserve/free>_boot_services() to arch/x86
        x86/efi: Unmap EFI boot services code/data regions from efi_pgd
        x86/mm/pageattr: Introduce helper function to unmap EFI boot services
        efi/fdt: Simplify the get_fdt() flow
        efi/fdt: Indentation fix
        firmware/efi: Add NULL pointer checks in efivars API functions
      684019dd
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 792bf4d8
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The biggest RCU changes in this cycle were:
      
         - Convert RCU's BUG_ON() and similar calls to WARN_ON() and similar.
      
         - Replace calls of RCU-bh and RCU-sched update-side functions to
           their vanilla RCU counterparts. This series is a step towards
           complete removal of the RCU-bh and RCU-sched update-side functions.
      
           ( Note that some of these conversions are going upstream via their
             respective maintainers. )
      
         - Documentation updates, including a number of flavor-consolidation
           updates from Joel Fernandes.
      
         - Miscellaneous fixes.
      
         - Automate generation of the initrd filesystem used for rcutorture
           testing.
      
         - Convert spin_is_locked() assertions to instead use lockdep.
      
           ( Note that some of these conversions are going upstream via their
             respective maintainers. )
      
         - SRCU updates, especially including a fix from Dennis Krein for a
           bag-on-head-class bug.
      
         - RCU torture-test updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (112 commits)
        rcutorture: Don't do busted forward-progress testing
        rcutorture: Use 100ms buckets for forward-progress callback histograms
        rcutorture: Recover from OOM during forward-progress tests
        rcutorture: Print forward-progress test age upon failure
        rcutorture: Print time since GP end upon forward-progress failure
        rcutorture: Print histogram of CB invocation at OOM time
        rcutorture: Print GP age upon forward-progress failure
        rcu: Print per-CPU callback counts for forward-progress failures
        rcu: Account for nocb-CPU callback counts in RCU CPU stall warnings
        rcutorture: Dump grace-period diagnostics upon forward-progress OOM
        rcutorture: Prepare for asynchronous access to rcu_fwd_startat
        torture: Remove unnecessary "ret" variables
        rcutorture: Affinity forward-progress test to avoid housekeeping CPUs
        rcutorture: Break up too-long rcu_torture_fwd_prog() function
        rcutorture: Remove cbflood facility
        torture: Bring any extra CPUs online during kernel startup
        rcutorture: Add call_rcu() flooding forward-progress tests
        rcutorture/formal: Replace synchronize_sched() with synchronize_rcu()
        tools/kernel.h: Replace synchronize_sched() with synchronize_rcu()
        net/decnet: Replace rcu_barrier_bh() with rcu_barrier()
        ...
      792bf4d8
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · eed9688f
      Linus Torvalds authored
      Pull x86 RAS updates from Borislav Petkov:
       "This time around we have a subsystem reorganization to offer, with the
        new directory being
      
          arch/x86/kernel/cpu/mce/
      
        and all compilation units' names streamlined under it"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Restore MCE injector's module name
        x86/mce: Unify pr_* prefix
        x86/mce: Streamline MCE subsystem's naming
      eed9688f
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 72af8415
      Linus Torvalds authored
      Pull x86 microcode loading updates from Borislav Petkov:
       "This update contains work started by Maciej to make the microcode
        container verification more robust against all kinds of corruption and
        also unify verification paths between early and late loading.
      
        The result is a set of verification routines which validate the
        microcode blobs before loading it on the CPU. In addition, the code is
        a lot more streamlined and unified.
      
        In the process, some of the aspects of patch handling and loading were
        simplified.
      
        All provided by Maciej S. Szmigiero and Borislav Petkov"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/AMD: Update copyright
        x86/microcode/AMD: Check the equivalence table size when scanning it
        x86/microcode/AMD: Convert CPU equivalence table variable into a struct
        x86/microcode/AMD: Check microcode container data in the late loader
        x86/microcode/AMD: Fix container size's type
        x86/microcode/AMD: Convert early parser to the new verification routines
        x86/microcode/AMD: Change verify_patch()'s return value
        x86/microcode/AMD: Move chipset-specific check into verify_patch()
        x86/microcode/AMD: Move patch family check to verify_patch()
        x86/microcode/AMD: Simplify patch family detection
        x86/microcode/AMD: Concentrate patch verification
        x86/microcode/AMD: Cleanup verify_patch_size() more
        x86/microcode/AMD: Clean up per-family patch size checks
        x86/microcode/AMD: Move verify_patch_size() up in the file
        x86/microcode/AMD: Add microcode container verification
        x86/microcode/AMD: Subtract SECTION_HDR_SIZE from file leftover length
      72af8415
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a52fb43a
      Linus Torvalds authored
      Pull x86 cache control updates from Borislav Petkov:
      
       - The generalization of the RDT code to accommodate the addition of
         AMD's very similar implementation of the cache monitoring feature.
      
         This entails a subsystem move into a separate and generic
         arch/x86/kernel/cpu/resctrl/ directory along with adding
         vendor-specific initialization and feature detection helpers.
      
         Ontop of that is the unification of user-visible strings, both in the
         resctrl filesystem error handling and Kconfig.
      
         Provided by Babu Moger and Sherry Hurwitz.
      
       - Code simplifications and error handling improvements by Reinette
         Chatre.
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Fix rdt_find_domain() return value and checks
        x86/resctrl: Remove unnecessary check for cbm_validate()
        x86/resctrl: Use rdt_last_cmd_puts() where possible
        MAINTAINERS: Update resctrl filename patterns
        Documentation: Rename and update intel_rdt_ui.txt to resctrl_ui.txt
        x86/resctrl: Introduce AMD QOS feature
        x86/resctrl: Fixup the user-visible strings
        x86/resctrl: Add AMD's X86_FEATURE_MBA to the scattered CPUID features
        x86/resctrl: Rename the config option INTEL_RDT to RESCTRL
        x86/resctrl: Add vendor check for the MBA software controller
        x86/resctrl: Bring cbm_validate() into the resource structure
        x86/resctrl: Initialize the vendor-specific resource functions
        x86/resctrl: Move all the macros to resctrl/internal.h
        x86/resctrl: Re-arrange the RDT init code
        x86/resctrl: Rename the RDT functions and definitions
        x86/resctrl: Rename and move rdt files to a separate directory
      a52fb43a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 42b00f12
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "ARM:
         - selftests improvements
         - large PUD support for HugeTLB
         - single-stepping fixes
         - improved tracing
         - various timer and vGIC fixes
      
        x86:
         - Processor Tracing virtualization
         - STIBP support
         - some correctness fixes
         - refactorings and splitting of vmx.c
         - use the Hyper-V range TLB flush hypercall
         - reduce order of vcpu struct
         - WBNOINVD support
         - do not use -ftrace for __noclone functions
         - nested guest support for PAUSE filtering on AMD
         - more Hyper-V enlightenments (direct mode for synthetic timers)
      
        PPC:
         -  nested VFIO
      
        s390:
         - bugfixes only this time"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (171 commits)
        KVM: x86: Add CPUID support for new instruction WBNOINVD
        kvm: selftests: ucall: fix exit mmio address guessing
        Revert "compiler-gcc: disable -ftracer for __noclone functions"
        KVM: VMX: Move VM-Enter + VM-Exit handling to non-inline sub-routines
        KVM: VMX: Explicitly reference RCX as the vmx_vcpu pointer in asm blobs
        KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup
        MAINTAINERS: Add arch/x86/kvm sub-directories to existing KVM/x86 entry
        KVM/x86: Use SVM assembly instruction mnemonics instead of .byte streams
        KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()
        KVM/MMU: Flush tlb directly in kvm_set_pte_rmapp()
        KVM/MMU: Move tlb flush in kvm_set_pte_rmapp() to kvm_mmu_notifier_change_pte()
        KVM: Make kvm_set_spte_hva() return int
        KVM: Replace old tlb flush function with new one to flush a specified range.
        KVM/MMU: Add tlb flush with range helper function
        KVM/VMX: Add hv tlb range flush support
        x86/hyper-v: Add HvFlushGuestAddressList hypercall support
        KVM: Add tlb_remote_flush_with_range callback in kvm_x86_ops
        KVM: x86: Disable Intel PT when VMXON in L1 guest
        KVM: x86: Set intercept for Intel PT MSRs read/write
        KVM: x86: Implement Intel PT MSRs read/write emulation
        ...
      42b00f12
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.21-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 460023a5
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
       "Xen features and fixes:
      
         - a series to enable KVM guests to be booted by qemu via the Xen PVH
           boot entry for speeding up KVM guest tests
      
         - a series for a common driver to be used by Xen PV frontends (right
           now drm and sound)
      
         - two other fixes in Xen related code"
      
      * tag 'for-linus-4.21-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        ALSA: xen-front: Use Xen common shared buffer implementation
        drm/xen-front: Use Xen common shared buffer implementation
        xen: Introduce shared buffer helpers for page directory...
        xen/pciback: Check dev_data before using it
        kprobes/x86/xen: blacklist non-attachable xen interrupt functions
        KVM: x86: Allow Qemu/KVM to use PVH entry point
        xen/pvh: Add memory map pointer to hvm_start_info struct
        xen/pvh: Move Xen code for getting mem map via hcall out of common file
        xen/pvh: Move Xen specific PVH VM initialization out of common file
        xen/pvh: Create a new file for Xen specific PVH code
        xen/pvh: Move PVH entry code out of Xen specific tree
        xen/pvh: Split CONFIG_XEN_PVH into CONFIG_PVH and CONFIG_XEN_PVH
      460023a5
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · a5f2bd47
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "The major change in this patchset is the new system call table
        generation support from Firoz Khan"
      
      * 'parisc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: syscalls: ignore nfsservctl for other architectures
        parisc: generate uapi header and system call table files
        parisc: add system call table generation support
        parisc: remove __NR_Linux from uapi header file.
        parisc: add __NR_syscalls along with __NR_Linux_syscalls
        parisc: move __IGNORE* entries to non uapi header
        parisc: Fix HP SDC hpa address output
        parisc: Fix serio address output
        parisc: Split out alternative live patching code
      a5f2bd47
    • Linus Torvalds's avatar
      Merge tag 'mips_4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 89261c57
      Linus Torvalds authored
      Pull MIPS updates from Paul Burton:
       "Here's the main MIPS pull for Linux 4.21. Core architecture changes
        include:
      
         - Syscall tables & definitions for unistd.h are now generated by
           scripts, providing greater consistency with other architectures &
           making it easier to add new syscalls.
      
         - Support for building kernels with no floating point support, upon
           which any userland attempting to use floating point instructions
           will receive a SIGILL. Mostly useful to shrink the kernel & as
           preparation for nanoMIPS support which does not yet include FP.
      
         - MIPS SIMD Architecture (MSA) vector register context is now exposed
           by ptrace via a new NT_MIPS_MSA regset.
      
         - ASIDs are now stored as 64b values even for MIPS32 kernels,
           expanding the ASID version field sufficiently that we don't need to
           worry about overflow & avoiding rare issues with reused ASIDs that
           have been observed in the wild.
      
         - The branch delay slot "emulation" page is now mapped without write
           permission for the user, preventing its use as a nice location for
           attacks to execute malicious code from.
      
         - Support for ioremap_prot(), primarily to allow gdb or other ptrace
           users the ability to view their tracee's memory using the same
           cache coherency attribute.
      
         - Optimizations to more cpu_has_* macros, allowing more to be
           compile-time constant where possible.
      
         - Enable building the whole kernel with UBSAN instrumentation.
      
         - Enable building the kernel with link-time dead code & data
           elimination.
      
        Platform specific changes include:
      
         - The Boston board gains a workaround for DMA prefetching issues with
           the EG20T Platform Controller Hub that it uses.
      
         - Cleanups to Cavium Octeon code removing about 20k lines of
           redundant code, mostly unused or duplicate register definitions in
           headers.
      
         - defconfig updates for the DECstation machines, including new
           defconfigs for r4k & 64b machines.
      
         - Further work on Loongson 3 support.
      
         - DMA fixes for SiByte machines"
      
      * tag 'mips_4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (95 commits)
        MIPS: math-emu: Write-protect delay slot emulation pages
        MIPS: Remove struct mm_context_t fp_mode_switching field
        mips: generate uapi header and system call table files
        mips: add system call table generation support
        mips: remove syscall table entries
        mips: add +1 to __NR_syscalls in uapi header
        mips: rename scall64-64.S to scall64-n64.S
        mips: remove unused macros
        mips: add __NR_syscalls along with __NR_Linux_syscalls
        MIPS: Expand MIPS32 ASIDs to 64 bits
        MIPS: OCTEON: delete redundant register definitions
        MIPS: OCTEON: cvmx_gmxx_inf_mode: use oldest forward compatible definition
        MIPS: OCTEON: cvmx_mio_fus_dat3: use oldest forward compatible definition
        MIPS: OCTEON: cvmx_pko_mem_debug8: use oldest forward compatible definition
        MIPS: OCTEON: octeon-usb: use common gpio_bit definition
        MIPS: OCTEON: enable all OCTEON drivers in defconfig
        mips: annotate implicit fall throughs
        MIPS: Hardcode cpu_has_mips* where target ISA allows
        MIPS: MT: Remove norps command line parameter
        MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y
        ...
      89261c57
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · c2f1f3e0
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       - Automatic system call table generation, from Firoz Khan.
      
       - Clean up accesses to the OF device names by using full_name instead
         of path_component_name.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
        ALSA: sparc: Use of_node_name_eq for node name comparisons
        sbus: Use of_node_name_eq for node name comparisons
        sparc: generate uapi header and system call table files
        sparc: add system call table generation support
        sparc: add __NR_syscalls along with NR_syscalls
        sparc: move __IGNORE* entries to non uapi header
        sparc: Use DT node full_name instead of name for resources
        sparc: Remove unused leon_trans_init
        sparc: Use device_type helpers to access the node type
        sparc: Use of_node_name_eq for node name comparisons
        sparc: Convert to using %pOFn instead of device_node.name
        sparc: prom: use property "name" directly to construct node names
        of: Drop full path from full_name for PDT systems
        sparc: Convert to using %pOF instead of full_name
        fs/openpromfs: Use of_node_name_eq for node name comparisons
        fs/openpromfs: use full_name instead of path_component_name
      c2f1f3e0
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-4.21-mw1' of... · 9830afca
      Linus Torvalds authored
      Merge tag 'riscv-for-linus-4.21-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
      
      Pull RISC-V updates from Palmer Dabbelt:
       "We don't have many patches for this merge window, probably because
        everything has been a bit busy with the holidays and conferences. The
        only big user-visible change is to move over to an SBI-based earlycon
        instead of our arch-specific early printk support.
      
        The only outstanding patch set I know of is the audit patch set, which
        I've managed to make a mess of and will attempt to clean up"
      
      * tag 'riscv-for-linus-4.21-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
        RISC-V: Select GENERIC_SCHED_CLOCK for clocksource drivers
        RISC-V: lib: minor asm cleanup
        RISC-V: Update Kconfig to better handle CMDLINE
        riscv: remove unused variable in ftrace
        RISC-V: add of_node_put()
        RISC-V: Fix of_node_* refcount
        riscv, atomic: Add #define's for the atomic_{cmp,}xchg_*() variants
        RISC-V: Remove EARLY_PRINTK support
        RISC-V: defconfig: Enable RISC-V SBI earlycon support
      9830afca
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v5.0-rc1' of git://git.monstr.eu/linux-2.6-microblaze · 30807ef2
      Linus Torvalds authored
      Pull arch/microblaze updates from Michal Simek:
      
       - Fix multiple Kbuild/Makefile issues
      
       - Start to use system call table generation
      
      * tag 'microblaze-v5.0-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: remove the explicit removal of system.dtb
        microblaze: fix race condition in building boot images
        microblaze: add linux.bin* and simpleImage.* to PHONY
        microblaze: fix multiple bugs in arch/microblaze/boot/Makefile
        microblaze: move "... is ready" messages to arch/microblaze/Makefile
        microblaze: adjust the help to the real behavior
        microblaze: generate uapi header and system call table files
        microblaze: add system call table generation support
        microblaze: move __NR_syscalls macro from asm/unistd.h
        microblaze: Typo s/use use/use/
      30807ef2
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 507413a5
      Linus Torvalds authored
      Pull arch/sh syscall table scripting from Arnd Bergmann:
       "I worked with Firoz Khan to change all architectures to have their
        system call tables (syscall.S and asm/unistd.h) generated by a script
        from a more readable input file the same way that we already had on
        x86, s390 and arm.
      
        I offered to take those conversions through the asm-generic tree that
        did not get picked up by the architecture maintainers, and fortunately
        all but one have now been accepted into arch maintainer trees, so this
        branch only contains the conversion for arch/sh/, with permission from
        Rich.
      
        The conversion does not include the old 64-bit sh5 architecture, which
        has never shipped and not even compiled in a long time. The table in
        include/uapi/asm/unistd.h is also not included here, as Firoz is still
        working on that one, it will have to wait for the next following merge
        window, hopefully together with the addition of the 64-bit time_t
        system calls for the y2038 work that led to the system call table
        rework"
      
      * tag 'asm-generic-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        sh: generate uapi header and syscall table header files
        sh: add system call table generation support
        sh: add __NR_syscalls along with NR_syscalls
      507413a5
    • Linus Torvalds's avatar
      Merge tag 'please-pull-y2038prep' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 9947ab7b
      Linus Torvalds authored
      Pull ia64 updates from Tony Luck:
       "Change ia64 to make it easier to update system call tables (in line
        with some other architectures).
      
        This is in preparation for y2038 changes which are forecasted to add
        several new system calls"
      
      * tag 'please-pull-y2038prep' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64: generate uapi header and system call table files
        ia64: add system call table generation support
        ia64: add an offset for system call number
        ia64: add __NR_syscalls along with NR_syscalls
        ia64: add __NR_old_getpagesize in uapi header file
      9947ab7b
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.21-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · e0783bb4
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Generate syscall headers
      
       - Small improvements and cleanups
      
       - defconfig updates
      
      * tag 'm68k-for-v4.21-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Generate uapi header and syscall table header files
        m68k: Add system call table generation support
        m68k: Add __NR_syscalls along with NR_syscalls
        m68k/defconfig: Update defconfigs for v4.20-rc1
        m68k: Remove redundant 'default n' from Kconfig
        m68k: Unroll raw_outsb() loop
      e0783bb4
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 5694cecd
      Linus Torvalds authored
      Pull arm64 festive updates from Will Deacon:
       "In the end, we ended up with quite a lot more than I expected:
      
         - Support for ARMv8.3 Pointer Authentication in userspace (CRIU and
           kernel-side support to come later)
      
         - Support for per-thread stack canaries, pending an update to GCC
           that is currently undergoing review
      
         - Support for kexec_file_load(), which permits secure boot of a kexec
           payload but also happens to improve the performance of kexec
           dramatically because we can avoid the sucky purgatory code from
           userspace. Kdump will come later (requires updates to libfdt).
      
         - Optimisation of our dynamic CPU feature framework, so that all
           detected features are enabled via a single stop_machine()
           invocation
      
         - KPTI whitelisting of Cortex-A CPUs unaffected by Meltdown, so that
           they can benefit from global TLB entries when KASLR is not in use
      
         - 52-bit virtual addressing for userspace (kernel remains 48-bit)
      
         - Patch in LSE atomics for per-cpu atomic operations
      
         - Custom preempt.h implementation to avoid unconditional calls to
           preempt_schedule() from preempt_enable()
      
         - Support for the new 'SB' Speculation Barrier instruction
      
         - Vectorised implementation of XOR checksumming and CRC32
           optimisations
      
         - Workaround for Cortex-A76 erratum #1165522
      
         - Improved compatibility with Clang/LLD
      
         - Support for TX2 system PMUS for profiling the L3 cache and DMC
      
         - Reflect read-only permissions in the linear map by default
      
         - Ensure MMIO reads are ordered with subsequent calls to Xdelay()
      
         - Initial support for memory hotplug
      
         - Tweak the threshold when we invalidate the TLB by-ASID, so that
           mremap() performance is improved for ranges spanning multiple PMDs.
      
         - Minor refactoring and cleanups"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (125 commits)
        arm64: kaslr: print PHYS_OFFSET in dump_kernel_offset()
        arm64: sysreg: Use _BITUL() when defining register bits
        arm64: cpufeature: Rework ptr auth hwcaps using multi_entry_cap_matches
        arm64: cpufeature: Reduce number of pointer auth CPU caps from 6 to 4
        arm64: docs: document pointer authentication
        arm64: ptr auth: Move per-thread keys from thread_info to thread_struct
        arm64: enable pointer authentication
        arm64: add prctl control for resetting ptrauth keys
        arm64: perf: strip PAC when unwinding userspace
        arm64: expose user PAC bit positions via ptrace
        arm64: add basic pointer authentication support
        arm64/cpufeature: detect pointer authentication
        arm64: Don't trap host pointer auth use to EL2
        arm64/kvm: hide ptrauth from guests
        arm64/kvm: consistently handle host HCR_EL2 flags
        arm64: add pointer authentication register bits
        arm64: add comments about EC exception levels
        arm64: perf: Treat EXCLUDE_EL* bit definitions as unsigned
        arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field
        arm64: enable per-task stack canaries
        ...
      5694cecd
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 13e1ad2b
      Linus Torvalds authored
      Pull x86 pti updates from Thomas Gleixner:
       "No point in speculating what's in this parcel:
      
         - Drop the swap storage limit when L1TF is disabled so the full space
           is available
      
         - Add support for the new AMD STIBP always on mitigation mode
      
         - Fix a bunch of STIPB typos"
      
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/speculation: Add support for STIBP always-on preferred mode
        x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off
        x86/speculation: Change misspelled STIPB to STIBP
      13e1ad2b
  3. 25 Dec, 2018 7 commits
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9f687ddd
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "The timer department delivers the following christmas presents:
      
        Core code:
      
         - Use proper seqcount initializer to make lockdep happy
      
         - SPDX annotations and cleanup of license boilerplates
      
         - Use DEFINE_SHOW_ATTRIBUTE() instead of open coding it
      
         - Minor cleanups
      
        Driver code:
      
         - Add the sched_clock for the arc timer (Alexey Brodkin)
      
         - Change the file timer names for riscv, rockchip, tegra20, sun4i and
           meson6 (Daniel Lezcano)
      
         - Add the DT bindings for r8a7796, r8a77470 and r8a774a1 (Biju Das)
      
         - Remove the early platform driver registration for timer-ti-dm
           (Bartosz Golaszewski)
      
         - Provide the sched_clock for the riscv timer (Anup Patel)
      
         - Add support for ARM64 for the imx-gpt and convert the imx-tpm to
           the timer-of API (Anson Huang)
      
         - Remove useless irq protection for the imx-gpt (Clément Péron)
      
         - Remove a duplicate function name for the vt8500 (Dan Carpenter)
      
         - Remove obsolete inclusion of <asm/smp_twd.h> for the tegra20 (Geert
           Uytterhoeven)
      
         - Demote the prcmu and the custom sched_clock for the dbx500 and the
           ux500 (Linus Walleij)
      
         - Add a new timer clock for the RDA8810PL (Manivannan Sadhasivam)
      
         - Rename the macro to stick to the register name and add the delay
           timer (Martin Blumenstingl)
      
         - Switch the bcm2835 to the SPDX identifier (Stefan Wahren)
      
         - Fix the interrupt register access on the fttmr010 (Tao Ren)
      
         - Add missing of_node_put in the initialization path on the
           integrator-ap (Yangtao Li)"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)
        dt-bindings: timer: Document RDA8810PL SoC timer
        clocksource/drivers/rda: Add clock driver for RDA8810PL SoC
        clocksource/drivers/meson6: Change name meson6_timer timer-meson6
        clocksource/drivers/sun4i: Change name sun4i_timer to timer-sun4i
        clocksource/drivers/tegra20: Change name tegra20_timer to timer-tegra20
        clocksource/drivers/rockchip: Change name rockchip_timer to timer-rockchip
        clocksource/drivers/riscv: Change name riscv_timer to timer-riscv
        clocksource/drivers/riscv_timer: Provide the sched_clock
        clocksource/drivers/timer-imx-tpm: Specify clock name for timer-of
        clocksource/drivers/fttmr010: Fix invalid interrupt register access
        clocksource/drivers/integrator-ap: Add missing of_node_put()
        clocksource/drivers/bcm2835: Switch to SPDX identifier
        dt-bindings: timer: renesas, cmt: Document r8a774a1 CMT support
        clocksource/drivers/timer-imx-tpm: Convert the driver to timer-of
        clocksource/drivers/arc_timer: Utilize generic sched_clock
        dt-bindings: timer: renesas, cmt: Document r8a77470 CMT support
        dt-bindings: timer: renesas, cmt: Document r8a7796 CMT support
        clocksource/drivers/imx-gpt: Remove unnecessary irq protection
        clocksource/drivers/imx-gpt: Add support for ARM64
        clocksource/drivers/meson6_timer: Implement the ARM delay timer
        ...
      9f687ddd
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e4b99d41
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The interrupt department provides:
      
        Core updates:
      
         - Better spreading to NUMA nodes in the affinity management
      
         - Support for more than one set of interrupts to spread out to allow
           separate queues for separate functionality of a single device.
      
         - Decouple the non queue interrupts from being managed. Those are
           usually general interrupts for error handling etc. and those should
           never be shut down. This also a preparation to utilize the
           spreading mechanism for initial spreading of non-managed interrupts
           later.
      
         - Make the single CPU target selection in the matrix allocator more
           balanced so interrupts won't accumulate on single CPUs in certain
           situations.
      
         - A large spell checking patch so we don't end up fixing single typos
           over and over.
      
        Driver updates:
      
         - A bunch of new irqchip drivers (RDA8810PL, Madera, imx-irqsteer)
      
         - Updates for the 8MQ, F1C100s platform drivers
      
         - A number of SPDX cleanups
      
         - A workaround for a very broken GICv3 implementation on msm8996
           which sports a botched register set.
      
         - A platform-msi fix to prevent memory leakage
      
         - Various cleanups"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        genirq/affinity: Add is_managed to struct irq_affinity_desc
        genirq/core: Introduce struct irq_affinity_desc
        genirq/affinity: Remove excess indentation
        irqchip/stm32: protect configuration registers with hwspinlock
        dt-bindings: interrupt-controller: stm32: Document hwlock properties
        irqchip: Add driver for imx-irqsteer controller
        dt-bindings/irq: Add binding for Freescale IRQSTEER multiplexer
        irqchip: Add driver for Cirrus Logic Madera codecs
        genirq: Fix various typos in comments
        irqchip/irq-imx-gpcv2: Add IRQCHIP_DECLARE for i.MX8MQ compatible
        irqchip/irq-rda-intc: Fix return value check in rda8810_intc_init()
        irqchip/irq-imx-gpcv2: Silence "fall through" warning
        irqchip/gic-v3: Add quirk for msm8996 broken registers
        irqchip/gic: Add support to device tree based quirks
        dt-bindings/gic-v3: Add msm8996 compatible string
        irqchip/sun4i: Add support for Allwinner ARMv5 F1C100s
        irqchip/sun4i: Move IC specific register offsets to struct
        irqchip/sun4i: Add a struct to hold global variables
        dt-bindings: interrupt-controller: Add suniv interrupt-controller
        irqchip: Add RDA8810PL interrupt driver
        ...
      e4b99d41
    • Linus Torvalds's avatar
      Merge tag 'devprop-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d8924c0d
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "This introduces 'software nodes' that are analogous to the DT and ACPI
        firmware nodes except that they can be created by drivers themselves
        and do a couple of assorted cleanups.
      
        Specifics:
      
         - Introduce "software nodes", analogous to the DT and ACPI firmware
           nodes except that they can be created by kernel code, in order to
           complement fwnodes representing real firmware nodes when they are
           incomplete (for example missing device properties) and to supply
           the primary fwnode when the firmware lacks hardware description for
           a device completely, and replace the "property_set" struct
           fwnode_handle type with software nodes (Heikki Krogerus).
      
         - Clean up the just introduced software nodes support and fix a
           commet in the graph-handling code (Colin Ian King, Marco Felsch)"
      
      * tag 'devprop-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: fix fwnode_graph_get_next_endpoint() documentation
        drivers: base: swnode: remove need for a temporary string for the node name
        device property: Remove struct property_set
        device property: Move device_add_properties() to swnode.c
        drivers: base: Introducing software nodes to the firmware node framework
        ACPI / glue: Add acpi_platform_notify() function
        drivers core: Prepare support for multiple platform notifications
        driver core: platform: Remove duplicated device_remove_properties() call
      d8924c0d
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 1fbb2dc6
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "This round is dominated by NXP's i.MX clk drivers. We gained support
        for two or three i.MX SoCs in here and that mostly means a lot of
        driver code and data.
      
        Beyond that platform, there are some new Mediatek, Amlogic, and
        Qualcomm clk drivers added in here, and then we get to the long tail
        of driver updates and non-critical fixes all around, including code
        for vendors such as Renesas, Rockchip, Nvidia, and Allwinner. Overall,
        the driver updates look normal.
      
        Apart from the usual driver updates we have an update to make
        registering OF based clk providers a little simpler when they're
        devices created as a child of a device backed by a node in DT. Drivers
        don't have to jump through hoops to unregister the provider upon
        driver removal anymore because the API does the right thing and uses
        the parent device DT node.
      
        Summary:
      
        Core:
         - Make devm_of_clk_add_hw_provider() use parent dt node if necessary
         - Various SPDX taggings
         - Mark clk_ops const when possible
      
        New Drivers:
         - NXP i.MX7ULP SoC clock support
         - NXP i.MX8QXP SoC clock support
         - NXP i.MX8MQ SoC clock support
         - NXP QorIQ T1023 SoC support
         - Qualcomm SDM845 audio subsystem clks
         - Qualcomm SDM845 GPU clck controllers
         - Qualcomm QCS404 RPM clk support
         - Mediatek MT7629 SoC clk controllers
         - Allwinner F1c100s SoC clocks
         - Allwinner H6 display engine clocks
         - Amlogic GX video clocks
         - Support for Amlogic meson8b CPU frequency scaling
         - Amlogic Meson8b CPU post-divider clocks
      
        Updates:
         - Proper suspend/resume on VersaClock5
         - Shrink code some with DEFINE_SHOW_ATTRIBUTE()
         - Register fixes for Rockchip rk3188 and rk3328
         - One new critical clock for Rockchip rk3188 and a fixed clock id
           (double used number)
         - New clock id for Rockchip rk3328
         - Amlogic Meson8/Meson8b video clock support
         - Amlogic got a clk-input helper and used it for the axg-audio clock
           driver
         - Sigma Delta modulation for the Allwinner A33 audio clocks
         - Support for CPEX (timer) clocks on various Renesas R-Car Gen3 and
           RZ/G2 SoCs
         - Support for SDHI HS400 clocks on early revisions of Renesas R-Car
           H3 and M3-W
         - Support for SDHI and USB clocks on Renesas RZ/A2
         - Support for RPC (SPI Multi I/O Bus Controller) clocks on Renesas
           R-Car V3M
         - Qualcomm MSM8998 GCC driver improvements (resets, drop unused clks,
           etc)"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (172 commits)
        clk: imx: imx7ulp: add arm hsrun mode clocks support
        dt-bindings: clock: imx7ulp: add HSRUN mode related clocks
        clk: Use of_node_name_eq for node name comparisons
        clk: vc5: Add suspend/resume support
        clk: qcom: Drop unused 8998 clock
        clk: qcom: Leave mmss noc on for 8998
        clk: tegra: Return the exact clock rate from clk_round_rate
        clk: tegra30: Use Tegra CPU powergate helper function
        soc/tegra: pmc: Drop SMP dependency from CPU APIs
        clk: tegra: Fix maximum audio sync clock for Tegra124/210
        clk: tegra: get rid of duplicate defines
        clk: imx: add imx8qxp lpcg driver
        clk: imx: add lpcg clock support
        clk: imx: add imx8qxp clk driver
        clk: imx: Make the i.MX8MQ CCM clock driver CLK_IMX8MQ dependant
        clk: imx: add scu clock common part
        clk: imx: add configuration option for mmio clks
        dt-bindings: clock: add imx8qxp lpcg clock binding
        dt-bindings: clock: imx8qxp: add SCU clock IDs
        clk: qcom: Add missing msm8998 resets
        ...
      1fbb2dc6
    • Linus Torvalds's avatar
      Merge tag 'leds-for-4.21-rc1' of... · 4e4390ad
      Linus Torvalds authored
      Merge tag 'leds-for-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      
      Pull LED updates from Jacek Anaszewski:
       "There are several few-liners, where most of them are fixes and
        improvments. One thing standing out is ground preparation for
        inititializing trigger parameters via Device Tree.
      
        We introduce LED_INIT_DEFAULT_TRIGGER flag for that purpose and set it
        when default trigger is matched. It indicates that trigger should
        parse DT properties to retrieve the initialization data when set as
        default one"
      
      * tag 'leds-for-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        led: triggers: Initialize LED_INIT_DEFAULT_TRIGGER if trigger is brought after class
        led: triggers: Add LED_INIT_DEFAULT_TRIGGER flag
        led: triggers: Break the for loop after default trigger is found
        leds: pwm: Use OF variant of LED registering function
        leds: pwm: Simplify with resource-managed devm_led_classdev_register()
        leds: gpio: Drop unneeded manual of_node assignment
        leds: 88pm860x: Use of_node_name_eq for node name comparisons
        leds: powernv: add of_node_put()
      4e4390ad
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b1669432
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "This has been a busy release for the regmap-irq code, there's several
        new features been added, including an API cleanup for how we specify
        types that affected one existing driver (gpio-max77620):
      
         - Support for hardware that flags rising and falling edges on
           separate status bits from Bartosz Golaszewski.
      
         - Support for explicitly clearing interrupts before unmasking from
           Bartosz Golaszewski.
      
         - Support for level triggered IRQs from Matti Vaittinen"
      
      * tag 'regmap-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: irq: add an option to clear status registers on unmask
        regmap: regmap-irq/gpio-max77620: add level-irq support
        regmap: regmap-irq: Remove default irq type setting from core
        regmap: debugfs: convert to DEFINE_SHOW_ATTRIBUTE
        regmap: rbtree: convert to DEFINE_SHOW_ATTRIBUTE
        regmap: irq: handle HW using separate rising/falling edge interrupts
        regmap: add a new macro:REGMAP_IRQ_REG_LINE(_id, _reg_bits)
      b1669432
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 0051db82
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "The main thing this release has been a lot of work on the integration
        with SPI NOR flashes, there's been some specific support for a while
        for controller features designed to make them perform better but it's
        not worked out as well as hoped so the interface has been redesigned
        in a way that will hopefully do better - it's already been adopted by
        a number of additional controllers so things are looking good.
      
        Otherwise most of the work has been driver specific:
      
         - Support for better integration with NOR flashes from Boris
           Brezillon and Yogesh Narayan Gaur plus usage of it in several
           drivers.
      
         - A big cleanup of the Rockchip driver from Emil Renner Berthing.
      
         - Lots of performance improvements for bcm2835 from Lukas Wunner.
      
         - Slave mode support for pxa2xx from Lubomir Rintel.
      
         - Support for Macronix MXIC, Mediatek MT7629 and MT8183, NPCM PSPI,
           and Renesas r8a77470"
      
      * tag 'spi-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (90 commits)
        spi: sh-msiof: Reduce the number of times write to and perform the transmission from FIFO
        spi: sh-msiof: Add r8a774c0 support
        doc: lpspi: Document DT bindings for LPSPI slave mode
        spi: lpspi: Let watermark change with send data length
        spi: lpspi: Add slave mode support
        spi: lpspi: Replace all "master" with "controller"
        spi: imx: drop useless member speed_hz from driver data struct
        spi: imx: rename config callback and add useful parameters
        spi: imx: style fixes
        spi: imx: mx51-ecspi: Move some initialisation to prepare_message hook.
        spi: imx: add a device specific prepare_message callback
        mtd: atmel-quadspi: disallow building on ebsa110
        spi: Update NPCM PSPI controller documentation
        spi: npcm: Modify pspi send function
        spi: Use of_node_name_eq for node name comparisons
        spi: dw-mmio: add ACPI support
        spi: bcm2835: Synchronize with callback on DMA termination
        spi: bcm2835: Speed up FIFO access if fill level is known
        spi: bcm2835: Polish transfer of DMA prologue
        spi: spi-mem: add support for octal mode I/O data transfer
        ...
      0051db82