1. 29 Mar, 2022 1 commit
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-opp' · 79bc8bfa
      Rafael J. Wysocki authored
      Merge OPP (Operating Performance Points) changes for 5.18-rc1.
      
      * pm-opp:
        Documentation: EM: Describe new registration method using DT
        OPP: Add support of "opp-microwatt" for EM registration
        PM: EM: add macro to set .active_power() callback conditionally
        OPP: Add "opp-microwatt" supporting code
        dt-bindings: opp: Add "opp-microwatt" entry in the OPP
        dt-bindings: power: avs: qcom,cpr: Convert to DT schema
        arm64: dts: qcom: qcs404: Rename CPU and CPR OPP tables
        arm64: dts: qcom: msm8996: Rename cluster OPP tables
        dt-bindings: opp: Convert qcom-nvmem-cpufreq to DT schema
        dt-bindings: opp: qcom-opp: Convert to DT schema
        arm64: dts: qcom: msm8996-mtp: Add msm8996 compatible
        dt-bindings: arm: qcom: Add msm8996 and apq8096 compatibles
        opp: Expose of-node's name in debugfs
      79bc8bfa
  2. 22 Mar, 2022 2 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'opp/linux-next' of... · 0474bcc9
      Rafael J. Wysocki authored
      Merge branch 'opp/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm into pm-opp
      
      Pull OPP (Operating Performance Points) changes for 5.18-rc1 from
      Viresh Kumar:
      
      "- Introduce opp-microwatt property to the OPP core, bindings, etc (Lukasz
         Luba).
      
      - Convert DT bindings to schema format and various related fixes (Yassine
        Oudjana).
      
      - Expose OPP's OF node in debugfs (Viresh Kumar)."
      
      * 'opp/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
        Documentation: EM: Describe new registration method using DT
        OPP: Add support of "opp-microwatt" for EM registration
        PM: EM: add macro to set .active_power() callback conditionally
        OPP: Add "opp-microwatt" supporting code
        dt-bindings: opp: Add "opp-microwatt" entry in the OPP
        dt-bindings: power: avs: qcom,cpr: Convert to DT schema
        arm64: dts: qcom: qcs404: Rename CPU and CPR OPP tables
        arm64: dts: qcom: msm8996: Rename cluster OPP tables
        dt-bindings: opp: Convert qcom-nvmem-cpufreq to DT schema
        dt-bindings: opp: qcom-opp: Convert to DT schema
        arm64: dts: qcom: msm8996-mtp: Add msm8996 compatible
        dt-bindings: arm: qcom: Add msm8996 and apq8096 compatibles
        opp: Expose of-node's name in debugfs
      0474bcc9
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm · 2353828f
      Rafael J. Wysocki authored
      Pull ARM cpufreq updates for 5.18-rc1 fron Viresh Kumar:
      
      "- Add per core DVFS support for QCom SoC (Bjorn Andersson), convert to yaml
         binding (Manivannan Sadhasivam) and various other fixes to the QCom drivers
         (Luca Weiss).
      
       - Add OPP table for imx7s SoC (Denys Drozdov) and minor fixes (Stefan Agner).
      
       - Fix CPPC driver's freq/performance conversions (Pierre Gondois).
      
       - Minor generic cleanups (Yury Norov)."
      
      * 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
        dt-bindings: cpufreq: cpufreq-qcom-hw: Convert to YAML bindings
        dt-bindings: dvfs: Use MediaTek CPUFREQ HW as an example
        cpufreq: blocklist Qualcomm sc8280xp and sa8540p in cpufreq-dt-platdev
        cpufreq: qcom-hw: Add support for per-core-dcvs
        cpufreq: CPPC: Fix performance/frequency conversion
        cpufreq: Add i.MX7S to cpufreq-dt-platdev blocklist
        ARM: dts: imx7s: Define operating points table for cpufreq
        cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse
        cpufreq: replace cpumask_weight with cpumask_empty where appropriate
      2353828f
  3. 21 Mar, 2022 25 commits
    • Linus Torvalds's avatar
      Merge tag 'pm-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 02b82b02
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These are mostly fixes and cleanups all over the code and a new piece
        of documentation for Intel uncore frequency scaling.
      
        Functionality-wise, the intel_idle driver will support Sapphire Rapids
        Xeons natively now (with some extra facilities for controlling
        C-states more precisely on those systems), virtual guests will take
        the ACPI S4 hardware signature into account by default, the
        intel_pstate driver will take the defualt EPP value from the firmware,
        cpupower utility will support the AMD P-state driver added in the
        previous cycle, and there is a new tracer utility for that driver.
      
        Specifics:
      
         - Allow device_pm_check_callbacks() to be called from interrupt
           context without issues (Dmitry Baryshkov).
      
         - Modify devm_pm_runtime_enable() to automatically handle
           pm_runtime_dont_use_autosuspend() at driver exit time (Douglas
           Anderson).
      
         - Make the schedutil cpufreq governor use to_gov_attr_set() instead
           of open coding it (Kevin Hao).
      
         - Replace acpi_bus_get_device() with acpi_fetch_acpi_dev() in the
           cpufreq longhaul driver (Rafael Wysocki).
      
         - Unify show() and store() naming in cpufreq and make it use
           __ATTR_XX (Lianjie Zhang).
      
         - Make the intel_pstate driver use the EPP value set by the firmware
           by default (Srinivas Pandruvada).
      
         - Re-order the init checks in the powernow-k8 cpufreq driver (Mario
           Limonciello).
      
         - Make the ACPI processor idle driver check for architectural support
           for LPI to avoid using it on x86 by mistake (Mario Limonciello).
      
         - Add Sapphire Rapids Xeon support to the intel_idle driver (Artem
           Bityutskiy).
      
         - Add 'preferred_cstates' module argument to the intel_idle driver to
           work around C1 and C1E handling issue on Sapphire Rapids (Artem
           Bityutskiy).
      
         - Add core C6 optimization on Sapphire Rapids to the intel_idle
           driver (Artem Bityutskiy).
      
         - Optimize the haltpoll cpuidle driver a bit (Li RongQing).
      
         - Remove leftover text from intel_idle() kerneldoc comment and fix up
           white space in intel_idle (Rafael Wysocki).
      
         - Fix load_image_and_restore() error path (Ye Bin).
      
         - Fix typos in comments in the system wakeup hadling code (Tom Rix).
      
         - Clean up non-kernel-doc comments in hibernation code (Jiapeng
           Chong).
      
         - Fix __setup handler error handling in system-wide suspend and
           hibernation core code (Randy Dunlap).
      
         - Add device name to suspend_report_result() (Youngjin Jang).
      
         - Make virtual guests honour ACPI S4 hardware signature by default
           (David Woodhouse).
      
         - Block power off of a parent PM domain unless child is in deepest
           state (Ulf Hansson).
      
         - Use dev_err_probe() to simplify error handling for generic PM
           domains (Ahmad Fatoum).
      
         - Fix sleep-in-atomic bug caused by genpd_debug_remove() (Shawn Guo).
      
         - Document Intel uncore frequency scaling (Srinivas Pandruvada).
      
         - Add DTPM hierarchy description (Daniel Lezcano).
      
         - Change the locking scheme in DTPM (Daniel Lezcano).
      
         - Fix dtpm_cpu cleanup at exit time and missing virtual DTPM pointer
           release (Daniel Lezcano).
      
         - Make dtpm_node_callback[] static (kernel test robot).
      
         - Fix spelling mistake "initialze" -> "initialize" in
           dtpm_create_hierarchy() (Colin Ian King).
      
         - Add tracer tool for the amd-pstate driver (Jinzhou Su).
      
         - Fix PC6 displaying in turbostat on some systems (Artem Bityutskiy).
      
         - Add AMD P-State support to the cpupower utility (Huang Rui)"
      
      * tag 'pm-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (58 commits)
        cpufreq: powernow-k8: Re-order the init checks
        cpuidle: intel_idle: Drop redundant backslash at line end
        cpuidle: intel_idle: Update intel_idle() kerneldoc comment
        PM: hibernate: Honour ACPI hardware signature by default for virtual guests
        cpufreq: intel_pstate: Use firmware default EPP
        cpufreq: unify show() and store() naming and use __ATTR_XX
        PM: core: keep irq flags in device_pm_check_callbacks()
        cpuidle: haltpoll: Call cpuidle_poll_state_init() later
        Documentation: amd-pstate: add tracer tool introduction
        tools/power/x86/amd_pstate_tracer: Add tracer tool for AMD P-state
        tools/power/x86/intel_pstate_tracer: make tracer as a module
        cpufreq: amd-pstate: Add more tracepoint for AMD P-State module
        PM: sleep: Add device name to suspend_report_result()
        turbostat: fix PC6 displaying on some systems
        intel_idle: add core C6 optimization for SPR
        intel_idle: add 'preferred_cstates' module argument
        intel_idle: add SPR support
        PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
        ACPI: processor idle: Check for architectural support for LPI
        cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function
        ...
      02b82b02
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 242ba665
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "From the new functionality perspective, the most significant items
        here are the new driver for the 'ARM Generic Diagnostic Dump and
        Reset' device, the extension of fine grain fan control in the ACPI fan
        driver, and the change making it possible to use CPPC information to
        obtain CPU capacity.
      
        There are also a few new quirks, a bunch of fixes, including the
        platform-level _OSC handling change to make it actually take the
        platform firmware response into account, some code and documentation
        cleanups, and a notable update of the ACPI device enumeration
        documentation.
      
        Specifics:
      
         - Use uintptr_t and offsetof() in the ACPICA code to avoid compiler
           warnings regarding NULL pointer arithmetic (Rafael Wysocki).
      
         - Fix possible NULL pointer dereference in acpi_ns_walk_namespace()
           when passed "acpi=off" in the command line (Rafael Wysocki).
      
         - Fix and clean up acpi_os_read/write_port() (Rafael Wysocki).
      
         - Introduce acpi_bus_for_each_dev() and use it for walking all ACPI
           device objects in the Type C code (Rafael Wysocki).
      
         - Fix the _OSC platform capabilities negotioation and prevent CPPC
           from being used if the platform firmware indicates that it not
           supported via _OSC (Rafael Wysocki).
      
         - Use ida_alloc() instead of ida_simple_get() for ACPI enumeration of
           devices (Rafael Wysocki).
      
         - Add AGDI and CEDT to the list of known ACPI table signatures (Ilkka
           Koskinen, Robert Kiraly).
      
         - Add power management debug messages related to suspend-to-idle in
           two places (Rafael Wysocki).
      
         - Fix __acpi_node_get_property_reference() return value and clean up
           that function (Andy Shevchenko, Sakari Ailus).
      
         - Fix return value of the __setup handler in the ACPI PM timer clock
           source driver (Randy Dunlap).
      
         - Clean up double words in two comments (Tom Rix).
      
         - Add "skip i2c clients" quirks for Lenovo Yoga Tablet 1050F/L and
           Nextbook Ares 8 (Hans de Goede).
      
         - Clean up frequency invariance handling on x86 in the ACPI CPPC
           library (Huang Rui).
      
         - Work around broken XSDT on the Advantech DAC-BJ01 board (Mark
           Cilissen).
      
         - Make wakeup events checks in the ACPI EC driver more
           straightforward and clean up acpi_ec_submit_event() (Rafael
           Wysocki).
      
         - Make it possible to obtain the CPU capacity with the help of CPPC
           information (Ionela Voinescu).
      
         - Improve fine grained fan control in the ACPI fan driver and
           document it (Srinivas Pandruvada).
      
         - Add device HID and quirk for Microsoft Surface Go 3 to the ACPI
           battery driver (Maximilian Luz).
      
         - Make the ACPI driver for Intel SoCs (LPSS) let the SPI driver know
           the exact type of the controller (Andy Shevchenko).
      
         - Force native backlight mode on Clevo NL5xRU and NL5xNU (Werner
           Sembach).
      
         - Fix return value of __setup handlers in the APEI code (Randy
           Dunlap).
      
         - Add Arm Generic Diagnostic Dump and Reset device driver (Ilkka
           Koskinen).
      
         - Limit printable size of BERT table data (Darren Hart).
      
         - Fix up HEST and GHES initialization (Shuai Xue).
      
         - Update the ACPI device enumeration documentation and unify the ASL
           style in GPIO-related examples (Andy Shevchenko)"
      
      * tag 'acpi-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (52 commits)
        clocksource: acpi_pm: fix return value of __setup handler
        ACPI: bus: Avoid using CPPC if not supported by firmware
        Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query flag"
        ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU
        arm64, topology: enable use of init_cpu_capacity_cppc()
        arch_topology: obtain cpu capacity using information from CPPC
        x86, ACPI: rename init_freq_invariance_cppc() to arch_init_invariance_cppc()
        ACPI: AGDI: Add driver for Arm Generic Diagnostic Dump and Reset device
        ACPI: tables: Add AGDI to the list of known table signatures
        ACPI/APEI: Limit printable size of BERT table data
        ACPI: docs: gpio-properties: Unify ASL style for GPIO examples
        ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board
        ACPI: APEI: fix return value of __setup handlers
        x86/ACPI: CPPC: Move init_freq_invariance_cppc() into x86 CPPC
        x86: Expose init_freq_invariance() to topology header
        x86/ACPI: CPPC: Move AMD maximum frequency ratio setting function into x86 CPPC
        x86/ACPI: CPPC: Rename cppc_msr.c to cppc.c
        ACPI / x86: Add skip i2c clients quirk for Lenovo Yoga Tablet 1050F/L
        ACPI / x86: Add skip i2c clients quirk for Nextbook Ares 8
        ACPICA: Avoid walking the ACPI Namespace if it is not there
        ...
      242ba665
    • Linus Torvalds's avatar
      Merge tag 'docs-5.18' of git://git.lwn.net/linux · 346658a5
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "It has been a moderately busy cycle for documentation; some of the
        highlights are:
      
         - Numerous PDF-generation improvements
      
         - Kees's new document with guidelines for researchers studying the
           development community.
      
         - The ongoing stream of Chinese translations
      
         - Thorsten's new document on regression handling
      
         - A major reworking of the internal documentation for the kernel-doc
           script.
      
        Plus the usual stream of typo fixes and such"
      
      * tag 'docs-5.18' of git://git.lwn.net/linux: (80 commits)
        docs/kernel-parameters: update description of mem=
        docs/zh_CN: Add sched-nice-design Chinese translation
        docs: scheduler: Convert schedutil.txt to ReST
        Docs: ktap: add code-block type
        docs: serial: fix a reference file name in driver.rst
        docs: UML: Mention telnetd for port channel
        docs/zh_CN: add damon reclaim translation
        docs/zh_CN: add damon usage translation
        docs/zh_CN: add admin-guide damon start translation
        docs/zh_CN: add admin-guide damon index translation
        docs/zh_CN: Refactoring the admin-guide directory index
        zh_CN: Add translation for admin-guide/mm/index.rst
        zh_CN: Add translations for admin-guide/mm/ksm.rst
        Add Chinese translation for vm/ksm.rst
        docs/zh_CN: Add sched-stats Chinese translation
        docs/zh_CN: add devicetree of_unittest translation
        docs/zh_CN: add devicetree usage-model translation
        docs/zh_CN: add devicetree index translation
        Documentation: describe how to apply incremental stable patches
        docs/zh_CN: add peci subsystem translation
        ...
      346658a5
    • Linus Torvalds's avatar
      Merge tag 'lkmm.2022.03.13a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · d2eb5500
      Linus Torvalds authored
      Pull memory model doc update from Paul McKenney:
       "An improved explanation of syntactic and semantic dependencies from
        Alan Stern"
      
      * tag 'lkmm.2022.03.13a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        tools/memory-model: Explain syntactic and semantic dependencies
      d2eb5500
    • Linus Torvalds's avatar
      Merge tag 'rcu.2022.03.13a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 35dc0352
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Fix idle detection (Neeraj Upadhyay) and missing access marking
         detected by KCSAN.
      
       - Reduce coupling between rcu_barrier() and CPU-hotplug operations, so
         that rcu_barrier() no longer needs to do cpus_read_lock(). This may
         also someday allow system boot to bring CPUs online concurrently.
      
       - Enable more aggressive movement to per-CPU queueing when reacting to
         excessive lock contention due to workloads placing heavy update-side
         stress on RCU tasks.
      
       - Improvements to RCU priority boosting, including changes from Neeraj
         Upadhyay, Zqiang, and Alison Chaiken.
      
       - Various fixes improving test robustness and debug information.
      
       - Add tests for SRCU size transitions, further compress torture.sh
         build products, and improve debug output.
      
       - Miscellaneous fixes.
      
      * tag 'rcu.2022.03.13a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (49 commits)
        rcu: Replace cpumask_weight with cpumask_empty where appropriate
        rcu: Remove __read_mostly annotations from rcu_scheduler_active externs
        rcu: Uninline multi-use function: finish_rcuwait()
        rcu: Mark writes to the rcu_segcblist structure's ->flags field
        kasan: Record work creation stack trace with interrupts enabled
        rcu: Inline __call_rcu() into call_rcu()
        rcu: Add mutex for rcu boost kthread spawning and affinity setting
        rcu: Fix description of kvfree_rcu()
        MAINTAINERS:  Add Frederic and Neeraj to their RCU files
        rcutorture: Provide non-power-of-two Tasks RCU scenarios
        rcutorture: Test SRCU size transitions
        torture: Make torture.sh help message match reality
        rcu-tasks: Set ->percpu_enqueue_shift to zero upon contention
        rcu-tasks: Use order_base_2() instead of ilog2()
        rcu: Create and use an rcu_rdp_cpu_online()
        rcu: Make rcu_barrier() no longer block CPU-hotplug operations
        rcu: Rework rcu_barrier() and callback-migration logic
        rcu: Refactor rcu_barrier() empty-list handling
        rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
        torture: Change KVM environment variable to RCUTORTURE
        ...
      35dc0352
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/parisc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · a04b1bf5
      Linus Torvalds authored
      Pull parisc architecture updates from Helge Deller:
      
       - add vDSO support (allows us to use non-executable stacks)
      
       - many TLB and cache flush optimizations (by Dave Anglin)
      
       - fix handling of probe non-access faults (by Dave Anglin)
      
       - fix invalidate/flush vmap routines (by Dave Anglin)
      
       - avoid using hardware single-step in kprobes
      
       - enable ARCH_HAS_DEBUG_VM_PGTABLE
      
       - many cleanups in unaligned handlers, e.g. rewrite of existing
         assembly code
      
       - always use the self-extracting kernel feature
      
       - big refacturing and code reductions regarding space-register usage in
         get_user() and put_user()
      
       - add fillrect() support to stifb graphics driver
      
      * tag 'for-5.18/parisc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (23 commits)
        parisc: Fix invalidate/flush vmap routines
        parisc: Avoid flushing cache on cache-less machines
        parisc: Avoid using hardware single-step in kprobes
        parisc: Improve CPU socket and core bootup info text
        parisc: Enable ARCH_HAS_DEBUG_VM_PGTABLE
        parisc: Avoid calling SMP cache flush functions on cache-less machines
        parisc: Increase parisc_cache_flush_threshold setting
        parisc/unaligned: Enhance user-space visible output
        parisc/unaligned: Rewrite 32-bit inline assembly of emulate_sth()
        parisc/unaligned: Rewrite 32-bit inline assembly of emulate_ldd()
        parisc/unaligned: Rewrite inline assembly of emulate_ldw()
        parisc/unaligned: Rewrite inline assembly of emulate_ldh()
        parisc/unaligned: Use EFAULT fixup handler in unaligned handlers
        parisc: Reduce code size by optimizing get_current() function calls
        parisc: Use constants to encode the space registers like SR_KERNEL
        parisc: Use SR_USER and SR_KERNEL in get_user() and put_user()
        parisc: Add defines for various space register
        parisc: Always use the self-extracting kernel feature
        video/fbdev/stifb: Implement the stifb_fillrect() function
        parisc: Add vDSO support
        ...
      a04b1bf5
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 93287e28
      Linus Torvalds authored
      Pull interrupt updates from Thomas Gleixner:
       "Core code:
      
         - Provide generic_handle_irq_safe() which can be invoked from any
           context (hard interrupt or threaded). This allows to remove ugly
           workarounds in drivers all over the place.
      
         - Use generic_handle_irq_safe() in the affected drivers.
      
         - The usual cleanups and improvements.
      
        Interrupt chip drivers:
      
         - Support for new interrupt chips or not yet supported variants:
           STM32MP14, Meson GPIO, Apple M1 PMU, Apple M1 AICv2, Qualcomm MPM
      
         - Convert the Xilinx driver to generic interrupt domains
      
         - Cleanup the irq_chip::name handling
      
         - The usual cleanups and improvements all over the place"
      
      * tag 'irq-core-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
        irqchip: Add Qualcomm MPM controller driver
        dt-bindings: interrupt-controller: Add Qualcomm MPM support
        irqchip/apple-aic: Add support for AICv2
        irqchip/apple-aic: Support multiple dies
        irqchip/apple-aic: Dynamically compute register offsets
        irqchip/apple-aic: Switch to irq_domain_create_tree and sparse hwirqs
        irqchip/apple-aic: Add Fast IPI support
        dt-bindings: interrupt-controller: apple,aic2: New binding for AICv2
        PCI: apple: Change MSI handling to handle 4-cell AIC fwspec form
        irqchip/apple-aic: Fix cpumask allocation for FIQs
        irqchip/meson-gpio: Add support for meson s4 SoCs
        irqchip/meson-gpio: add select trigger type callback
        irqchip/meson-gpio: support more than 8 channels gpio irq
        dt-bindings: interrupt-controller: New binding for Meson-S4 SoCs
        irqchip/xilinx: Switch to GENERIC_IRQ_MULTI_HANDLER
        staging: greybus: gpio: Use generic_handle_irq_safe().
        net: usb: lan78xx: Use generic_handle_irq_safe().
        mfd: ezx-pcap: Use generic_handle_irq_safe().
        misc: hi6421-spmi-pmic: Use generic_handle_irq_safe().
        irqchip/sifive-plic: Disable S-mode IRQs if running in M-mode
        ...
      93287e28
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 84c2e179
      Linus Torvalds authored
      Pull timer and timekeeping updates from Thomas Gleixner:
       "Core code:
      
         - Make the NOHZ handling of the timekeeping/tick core more robust to
           prevent a rare jiffies update stall.
      
         - Handle softirqs in the NOHZ/idle case correctly
      
        Drivers:
      
         - Add support for event stream scaling of the 1GHz counter on ARM(64)
      
         - Correct an error code check in the timer-of layer
      
         - The usual cleanups and improvements all over the place"
      
      * tag 'timers-core-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        lib/irq_poll: Declare IRQ_POLL softirq vector as ksoftirqd-parking safe
        tick/rcu: Stop allowing RCU_SOFTIRQ in idle
        tick/rcu: Remove obsolete rcu_needs_cpu() parameters
        tick: Detect and fix jiffies update stall
        clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()
        clocksource/drivers/timer-microchip-pit64b: Use 5MHz for clockevent
        clocksource/drivers/timer-microchip-pit64b: Use notrace
        clocksource/drivers/timer-microchip-pit64b: Remove mmio selection
        dt-bindings: timer: Tegra: Convert text bindings to yaml
        clocksource/drivers/imx-tpm: Move tpm_read_sched_clock() under CONFIG_ARM
        clocksource/drivers/arm_arch_timer: Use event stream scaling when available
        clocksource/drivers/exynos_mct: Increase the size of name array
        clocksource/drivers/exynos_mct: Bump up mct max irq number
        clocksource/drivers/exynos_mct: Remove mct interrupt index enum
        clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts
        clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix
        clocksource/drivers/imx-tpm: Exclude sched clock for ARM64
        clocksource: Add a Kconfig option for WATCHDOG_MAX_SKEW
        clocksource/drivers/imx-tpm: Update name of clkevt
        clocksource/drivers/imx-tpm: Add CLOCK_EVT_FEAT_DYNIRQ
        ...
      84c2e179
    • Linus Torvalds's avatar
      Merge tag 'core-core-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bba90e09
      Linus Torvalds authored
      Pull core process handling RT latency updates from Thomas Gleixner:
      
       - Reduce the amount of work to release a task stack in context switch.
         There is no real reason to do cgroup accounting and memory freeing in
         this performance sensitive context.
      
         Aside of this the invoked functions cannot be called from this
         preemption disabled context on PREEMPT_RT enabled kernels. Solve this
         by moving the accounting into do_exit() and delaying the freeing of
         the stack unless the vmap stack can be cached.
      
       - Provide a mechanism to delay raising signals from atomic context on
         PREEMPT_RT enabled kernels as sighand::lock cannot be acquired. Store
         the information in the task struct and raise it in the exit path.
      
      * tag 'core-core-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        signal, x86: Delay calling signals in atomic on RT enabled kernels
        fork: Use IS_ENABLED() in account_kernel_stack()
        fork: Only cache the VMAP stack in finish_task_switch()
        fork: Move task stack accounting to do_exit()
        fork: Move memcg_charge_kernel_stack() into CONFIG_VMAP_STACK
        fork: Don't assign the stack pointer in dup_task_struct()
        fork, IA64: Provide alloc_thread_stack_node() for IA64
        fork: Duplicate task_struct before stack allocation
        fork: Redo ifdefs around task stack handling
      bba90e09
    • Linus Torvalds's avatar
      Merge tag 'x86-pasid-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3fd33273
      Linus Torvalds authored
      Pull x86 PASID support from Thomas Gleixner:
       "Reenable ENQCMD/PASID support:
      
         - Simplify the PASID handling to allocate the PASID once, associate
           it to the mm of a process and free it on mm_exit().
      
           The previous attempt of refcounted PASIDs and dynamic
           alloc()/free() turned out to be error prone and too complex. The
           PASID space is 20bits, so the case of resource exhaustion is a pure
           academic concern.
      
         - Populate the PASID MSR on demand via #GP to avoid racy updates via
           IPIs.
      
         - Reenable ENQCMD and let objtool check for the forbidden usage of
           ENQCMD in the kernel.
      
         - Update the documentation for Shared Virtual Addressing accordingly"
      
      * tag 'x86-pasid-2022-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation/x86: Update documentation for SVA (Shared Virtual Addressing)
        tools/objtool: Check for use of the ENQCMD instruction in the kernel
        x86/cpufeatures: Re-enable ENQCMD
        x86/traps: Demand-populate PASID MSR via #GP
        sched: Define and initialize a flag to identify valid PASID in the task
        x86/fpu: Clear PASID when copying fpstate
        iommu/sva: Assign a PASID to mm on PASID allocation and free it on mm exit
        kernel/fork: Initialize mm's PASID
        iommu/ioasid: Introduce a helper to check for valid PASIDs
        mm: Change CONFIG option for mm->pasid field
        iommu/sva: Rename CONFIG_IOMMU_SVA_LIB to CONFIG_IOMMU_SVA
      3fd33273
    • Linus Torvalds's avatar
      Merge tag 'x86_cleanups_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · eaa54b14
      Linus Torvalds authored
      Pull x86 cleanups from Borislav Petkov:
      
       - Remove a misleading message and an unused function
      
      * tag 'x86_cleanups_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/nmi: Remove the 'strange power saving mode' hint from unknown NMI handler
        x86/pat: Remove the unused set_pages_array_wt() function
      eaa54b14
    • Linus Torvalds's avatar
      Merge tag 'x86_cc_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6b9bfb13
      Linus Torvalds authored
      Pull x86 confidential computing updates from Borislav Petkov:
      
       - Add shared confidential computing code which will be used by both
         vendors instead of proliferating home-grown solutions for
         technologies (SEV/SNP and TDX) which are pretty similar
      
      * tag 'x86_cc_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/cpa: Generalize __set_memory_enc_pgtable()
        x86/coco: Add API to handle encryption mask
        x86/coco: Explicitly declare type of confidential computing platform
        x86/cc: Move arch/x86/{kernel/cc_platform.c => coco/core.c}
      6b9bfb13
    • Linus Torvalds's avatar
      Merge tag 'x86_sgx_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 61e2658e
      Linus Torvalds authored
      Pull x86 SGX updates from Borislav Petkov:
      
       - A couple of fixes and improvements to the SGX selftests
      
      * tag 'x86_sgx_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/sgx: Treat CC as one argument
        selftests/x86: Add validity check and allow field splitting
        selftests/sgx: Remove extra newlines in test output
        selftests/sgx: Ensure enclave data available during debug print
        selftests/sgx: Do not attempt enclave build without valid enclave
        selftests/sgx: Fix NULL-pointer-dereference upon early test failure
      61e2658e
    • Linus Torvalds's avatar
      Merge tag 'x86_sev_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 88f30ac2
      Linus Torvalds authored
      Pull x86 SEV fix from Borislav Petkov:
      
       - Add a missing function section annotation
      
      * tag 'x86_sev_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/head64: Add missing __head annotation to sme_postprocess_startup()
      88f30ac2
    • Linus Torvalds's avatar
      Merge tag 'x86_paravirt_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35cbdaf7
      Linus Torvalds authored
      Pull x86 paravirt improvement from Borislav Petkov:
      
       - Shorten CALL insns to pvops by a byte by using rip-relative
         addressing
      
      * tag 'x86_paravirt_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/paravirt: Use %rip-relative addressing in hook calls
      35cbdaf7
    • Linus Torvalds's avatar
      Merge tag 'x86_build_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e10821b8
      Linus Torvalds authored
      Pull x86 Kconfig fix from Borislav Petkov:
      
       - Correct Kconfig symbol visibility on x86
      
      * tag 'x86_build_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/Kconfig: Select ARCH_SELECT_MEMORY_MODEL only if FLATMEM and SPARSEMEM are possible
      e10821b8
    • Linus Torvalds's avatar
      Merge tag 'x86_misc_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 22687350
      Linus Torvalds authored
      Pull misc x86 updates from Borislav Petkov:
      
       - Add support for a couple new insn sets to the insn decoder:
         AVX512-FP16, AMX, other misc insns.
      
       - Update VMware-specific MAINTAINERS entries
      
      * tag 'x86_misc_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        MAINTAINERS: Mark VMware mailing list entries as email aliases
        MAINTAINERS: Add Zack as maintainer of vmmouse driver
        MAINTAINERS: Update maintainers for paravirt ops and VMware hypervisor interface
        x86/insn: Add AVX512-FP16 instructions to the x86 instruction decoder
        perf/tests: Add AVX512-FP16 instructions to x86 instruction decoder test
        x86/insn: Add misc instructions to x86 instruction decoder
        perf/tests: Add misc instructions to the x86 instruction decoder test
        x86/insn: Add AMX instructions to the x86 instruction decoder
        perf/tests: Add AMX instructions to x86 instruction decoder test
      22687350
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d752e211
      Linus Torvalds authored
      Pull x86 cpu feature updates from Borislav Petkov:
      
       - Merge the AMD and Intel PPIN code into a shared one by both vendors.
         Add the PPIN number to sysfs so that sockets can be identified when
         replacement is needed
      
       - Minor fixes and cleanups
      
      * tag 'x86_cpu_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Clear SME feature flag when not in use
        x86/cpufeatures: Put the AMX macros in the word 18 block
        topology/sysfs: Add PPIN in sysfs under cpu topology
        topology/sysfs: Add format parameter to macro defining "show" functions for proc
        x86/cpu: Read/save PPIN MSR during initialization
        x86/cpu: X86_FEATURE_INTEL_PPIN finally has a CPUID bit
        x86/cpu: Merge Intel and AMD ppin_init() functions
        x86/CPU/AMD: Use default_groups in kobj_type
      d752e211
    • Linus Torvalds's avatar
      Merge tag 'edac_updates_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 5e891917
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - Add support for newer AMD family 0x19, models 0x10-... CPUs to
         amd64_edac
      
       - The usual amount of improvements and fixes
      
      * tag 'edac_updates_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/altera: Add SDRAM ECC check for U-Boot
        EDAC/amd64: Add new register offset support and related changes
        EDAC/amd64: Set memory type per DIMM
        EDAC/mc: Remove unnecessary cast to char * in edac_align_ptr()
        EDAC: Use default_groups in kobj_type
        EDAC: Use proper list of struct attribute for attributes
      5e891917
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.18-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 1b74b460
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Fix frame buffers backed by deferred I/O
      
       - defconfig updates
      
       - Minor fixes and improvements
      
      * tag 'm68k-for-v5.18-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: defconfig: Disable fbdev on Sun3/3x
        m68k: defconfig: Update defconfigs for v5.17-rc3
        m68k: mm: Remove check for VM_IO to fix deferred I/O
        m68k: Add asm/config.h
      1b74b460
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 90ea15b7
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - amba bus cleanups
      
       - conversion to use reserve_initrd_mem()
      
       - remove -nostdlib from vdso link
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9181/1: vdso: remove -nostdlib compiler flag
        ARM: 9175/1: Convert to reserve_initrd_mem()
        ARM: 9174/1: amba: Move EXPORT_SYMBOL() closer to definition
        ARM: 9173/1: amba: kill amba_find_match()
        ARM: 9172/1: amba: Cleanup amba pclk operation
      90ea15b7
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 356a1adc
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
      
       - Support for including MTE tags in ELF coredumps
      
       - Instruction encoder updates, including fixes to 64-bit immediate
         generation and support for the LSE atomic instructions
      
       - Improvements to kselftests for MTE and fpsimd
      
       - Symbol aliasing and linker script cleanups
      
       - Reduce instruction cache maintenance performed for user mappings
         created using contiguous PTEs
      
       - Support for the new "asymmetric" MTE mode, where stores are checked
         asynchronously but loads are checked synchronously
      
       - Support for the latest pointer authentication algorithm ("QARMA3")
      
       - Support for the DDR PMU present in the Marvell CN10K platform
      
       - Support for the CPU PMU present in the Apple M1 platform
      
       - Use the RNDR instruction for arch_get_random_{int,long}()
      
       - Update our copy of the Arm optimised string routines for str{n}cmp()
      
       - Fix signal frame generation for CPUs which have foolishly elected to
         avoid building in support for the fpsimd instructions
      
       - Workaround for Marvell GICv3 erratum #38545
      
       - Clarification to our Documentation (booting reqs. and MTE prctl())
      
       - Miscellanous cleanups and minor fixes
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (90 commits)
        docs: sysfs-devices-system-cpu: document "asymm" value for mte_tcf_preferred
        arm64/mte: Remove asymmetric mode from the prctl() interface
        arm64: Add cavium_erratum_23154_cpus missing sentinel
        perf/marvell: Fix !CONFIG_OF build for CN10K DDR PMU driver
        arm64: mm: Drop 'const' from conditional arm64_dma_phys_limit definition
        Documentation: vmcoreinfo: Fix htmldocs warning
        kasan: fix a missing header include of static_keys.h
        drivers/perf: Add Apple icestorm/firestorm CPU PMU driver
        drivers/perf: arm_pmu: Handle 47 bit counters
        arm64: perf: Consistently make all event numbers as 16-bits
        arm64: perf: Expose some Armv9 common events under sysfs
        perf/marvell: cn10k DDR perf event core ownership
        perf/marvell: cn10k DDR perfmon event overflow handling
        perf/marvell: CN10k DDR performance monitor support
        dt-bindings: perf: marvell: cn10k ddr performance monitor
        arm64: clean up tools Makefile
        perf/arm-cmn: Update watchpoint format
        perf/arm-cmn: Hide XP PUB events for CMN-600
        arm64: drop unused includes of <linux/personality.h>
        arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones
        ...
      356a1adc
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-v5.18-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · 9d8e7007
      Linus Torvalds authored
      Pull tpm updates from Jarkko Sakkinen:
       "In order to split the work a bit we've aligned with David Howells more
        or less that I take more hardware/firmware aligned keyring patches,
        and he takes care more of the framework aligned patches.
      
        For TPM the patches worth of highlighting are the fixes for
        refcounting provided by Lino Sanfilippo and James Bottomley.
      
        Eric B. has done a bunch obvious (but important) fixes but there's one
        a bit controversial: removal of asym_tpm. It was added in 2018 when
        TPM1 was already declared as insecure and world had moved on to TPM2.
        I don't know how this has passed all the filters but I did not have a
        chance to see the patches when they were out. I simply cannot commit
        to maintaining this because it was from all angles just wrong to take
        it in the first place to the mainline kernel. Nobody should use this
        module really for anything.
      
        Finally, there is a new keyring '.machine' to hold MOK keys ('Machine
        Owner Keys'). In the mok side MokListTrustedRT UEFI variable can be
        set, from which kernel knows that MOK keys are kernel trusted keys and
        they are populated to the machine keyring. This keyring linked to the
        secondary trusted keyring, which means that can be used like any
        kernel trusted keys. This keyring of course can be used to hold other
        MOK'ish keys in other platforms in future"
      
      * tag 'tpmdd-next-v5.18-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd: (24 commits)
        tpm: use try_get_ops() in tpm-space.c
        KEYS: asymmetric: properly validate hash_algo and encoding
        KEYS: asymmetric: enforce that sig algo matches key algo
        KEYS: remove support for asym_tpm keys
        tpm: fix reference counting for struct tpm_chip
        integrity: Only use machine keyring when uefi_check_trust_mok_keys is true
        integrity: Trust MOK keys if MokListTrustedRT found
        efi/mokvar: move up init order
        KEYS: Introduce link restriction for machine keys
        KEYS: store reference to machine keyring
        integrity: add new keyring handler for mok keys
        integrity: Introduce a Linux keyring called machine
        integrity: Fix warning about missing prototypes
        KEYS: trusted: Avoid calling null function trusted_key_exit
        KEYS: trusted: Fix trusted key backends when building as module
        tpm: xen-tpmfront: Use struct_size() helper
        KEYS: x509: remove dead code that set ->unsupported_sig
        KEYS: x509: remove never-set ->unsupported_key flag
        KEYS: x509: remove unused fields
        KEYS: x509: clearly distinguish between key and signature algorithms
        ...
      9d8e7007
    • John David Anglin's avatar
      parisc: Fix invalidate/flush vmap routines · 53d862fa
      John David Anglin authored
      Cache move-in for virtual accesses is controlled by the TLB.  Thus,
      we must generally purge TLB entries before flushing.  The flush routines
      must use TLB entries that inhibit cache move-in.
      
      V2: Load physical address prior to flushing TLB.  In flush_cache_page,
      flush TLB when flushing and purging.
      
      V3: Don't flush when start equals end.
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      53d862fa
    • Borislav Petkov's avatar
      1422df58
  4. 20 Mar, 2022 4 commits
  5. 19 Mar, 2022 5 commits
  6. 18 Mar, 2022 3 commits