1. 11 Aug, 2020 1 commit
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Implement passive mode with HWP enabled · f6ebbcf0
      Rafael J. Wysocki authored
      Allow intel_pstate to work in the passive mode with HWP enabled and
      make it set the HWP minimum performance limit (HWP floor) to the
      P-state value given by the target frequency supplied by the cpufreq
      governor, so as to prevent the HWP algorithm and the CPU scheduler
      from working against each other, at least when the schedutil governor
      is in use, and update the intel_pstate documentation accordingly.
      
      Among other things, this allows utilization clamps to be taken
      into account, at least to a certain extent, when intel_pstate is
      in use and makes it more likely that sufficient capacity for
      deadline tasks will be provided.
      
      After this change, the resulting behavior of an HWP system with
      intel_pstate in the passive mode should be close to the behavior
      of the analogous non-HWP system with intel_pstate in the passive
      mode, except that the HWP algorithm is generally allowed to make the
      CPU run at a frequency above the floor P-state set by intel_pstate in
      the entire available range of P-states, while without HWP a CPU can
      run in a P-state above the requested one if the latter falls into the
      range of turbo P-states (referred to as the turbo range) or if the
      P-states of all CPUs in one package are coordinated with each other
      at the hardware level.
      
      [Note that in principle the HWP floor may not be taken into account
       by the processor if it falls into the turbo range, in which case the
       processor has a license to choose any P-state, either below or above
       the HWP floor, just like a non-HWP processor in the case when the
       target P-state falls into the turbo range.]
      
      With this change applied, intel_pstate in the passive mode assumes
      complete control over the HWP request MSR and concurrent changes of
      that MSR (eg. via the direct MSR access interface) are overridden by
      it.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Reviewed-by: default avatarFrancisco Jerez <currojerez@riseup.net>
      f6ebbcf0
  2. 04 Aug, 2020 22 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm · 9ac1fb15
      Rafael J. Wysocki authored
      Pull ARM cpufreq driver changes for v5.9-rc1 from Viresh Kumar:
      
      "Here are the details:
      
      - Adaptive voltage scaling (AVS) support and minor cleanups for
        brcmstb driver (Florian Fainelli and Markus Mayer).
      
      - A new tegra driver and cleanup for the existing one (Sumit Gupta and
        Jon Hunter).
      
      - Bandwidth level support for Qcom driver along with OPP changes (Sibi
        Sankar).
      
      - Cleanups to sti, cpufreq-dt, ap806, CPPC drivers (Viresh Kumar, Lee
        Jones, Ivan Kokshaysky, Sven Auhagen, and Xin Hao).
      
      - Make schedutil default governor for ARM (Valentin Schneider).
      
      - Fix dependency issues for imx (Walter Lozano).
      
      - Cleanup around cached_resolved_idx in cpufreq core (Viresh Kumar)."
      
      * 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
        cpufreq: make schedutil the default for arm and arm64
        cpufreq: cached_resolved_idx can not be negative
        cpufreq: Add Tegra194 cpufreq driver
        dt-bindings: arm: Add NVIDIA Tegra194 CPU Complex binding
        cpufreq: imx: Select NVMEM_IMX_OCOTP
        cpufreq: sti-cpufreq: Fix some formatting and misspelling issues
        cpufreq: tegra186: Simplify probe return path
        cpufreq: CPPC: Reuse caps variable in few routines
        cpufreq: ap806: fix cpufreq driver needs ap cpu clk
        cpufreq: cppc: Reorder code and remove apply_hisi_workaround variable
        cpufreq: dt: fix oops on armada37xx
        cpufreq: brcmstb-avs-cpufreq: send S2_ENTER / S2_EXIT commands to AVS
        cpufreq: brcmstb-avs-cpufreq: Support polling AVS firmware
        cpufreq: brcmstb-avs-cpufreq: more flexible interface for __issue_avs_command()
        cpufreq: qcom: Disable fast switch when scaling DDR/L3
        cpufreq: qcom: Update the bandwidth levels on frequency change
        OPP: Add and export helper to set bandwidth
        cpufreq: blacklist SC7180 in cpufreq-dt-platdev
        cpufreq: blacklist SDM845 in cpufreq-dt-platdev
      9ac1fb15
    • Srinivas Pandruvada's avatar
      cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0 · 4daca379
      Srinivas Pandruvada authored
      The MSR_TURBO_RATIO_LIMIT can be 0. This is not an error. User can update
      this MSR via BIOS settings on some systems or can use msr tools to update.
      Also some systems boot with value = 0.
      
      This results in display of cpufreq/cpuinfo_max_freq wrong. This value
      will be equal to cpufreq/base_frequency, even though turbo is enabled.
      
      But platform will still function normally in HWP mode as we get max
      1-core frequency from the MSR_HWP_CAPABILITIES. This MSR is already used
      to calculate cpu->pstate.turbo_freq, which is used for to set
      policy->cpuinfo.max_freq. But some other places cpu->pstate.turbo_pstate
      is used. For example to set policy->max.
      
      To fix this, also update cpu->pstate.turbo_pstate when updating
      cpu->pstate.turbo_freq.
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4daca379
    • Linus Torvalds's avatar
      Merge tag 'pm-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 04084978
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "The most significant change here is the extension of the Energy Model
        to cover non-CPU devices (as well as CPUs) from Lukasz Luba.
      
        There is also some new hardware support (Ice Lake server idle states
        table for intel_idle, Sapphire Rapids and Power Limit 4 support in the
        RAPL driver), some new functionality in the existing drivers (eg. a
        new switch to disable/enable CPU energy-efficiency optimizations in
        intel_pstate, delayed timers in devfreq), some assorted fixes (cpufreq
        core, intel_pstate, intel_idle) and cleanups (eg. cpuidle-psci,
        devfreq), including the elimination of W=1 build warnings from cpufreq
        done by Lee Jones.
      
        Specifics:
      
         - Make the Energy Model cover non-CPU devices (Lukasz Luba).
      
         - Add Ice Lake server idle states table to the intel_idle driver and
           eliminate a redundant static variable from it (Chen Yu, Rafael
           Wysocki).
      
         - Eliminate all W=1 build warnings from cpufreq (Lee Jones).
      
         - Add support for Sapphire Rapids and for Power Limit 4 to the Intel
           RAPL power capping driver (Sumeet Pawnikar, Zhang Rui).
      
         - Fix function name in kerneldoc comments in the idle_inject power
           capping driver (Yangtao Li).
      
         - Fix locking issues with cpufreq governors and drop a redundant
           "weak" function definition from cpufreq (Viresh Kumar).
      
         - Rearrange cpufreq to register non-modular governors at the
           core_initcall level and allow the default cpufreq governor to be
           specified in the kernel command line (Quentin Perret).
      
         - Extend, fix and clean up the intel_pstate driver (Srinivas
           Pandruvada, Rafael Wysocki):
      
             * Add a new sysfs attribute for disabling/enabling CPU
               energy-efficiency optimizations in the processor.
      
             * Make the driver avoid enabling HWP if EPP is not supported.
      
             * Allow the driver to handle numeric EPP values in the sysfs
               interface and fix the setting of EPP via sysfs in the active
               mode.
      
             * Eliminate a static checker warning and clean up a kerneldoc
               comment.
      
         - Clean up some variable declarations in the powernv cpufreq driver
           (Wei Yongjun).
      
         - Fix up the ->enter_s2idle callback definition to cover the case
           when it points to the same function as ->idle correctly (Neal Liu).
      
         - Rearrange and clean up the PSCI cpuidle driver (Ulf Hansson).
      
         - Make the PM core emit "changed" uevent when adding/removing the
           "wakeup" sysfs attribute of devices (Abhishek Pandit-Subedi).
      
         - Add a helper macro for declaring PM callbacks and use it in the MMC
           jz4740 driver (Paul Cercueil).
      
         - Fix white space in some places in the hibernate code and make the
           system-wide PM code use "const char *" where appropriate (Xiang
           Chen, Alexey Dobriyan).
      
         - Add one more "unsafe" helper macro to the freezer to cover the NFS
           use case (He Zhe).
      
         - Change the language in the generic PM domains framework to use
           parent/child terminology and clean up a typo and some comment
           fromatting in that code (Kees Cook, Geert Uytterhoeven).
      
         - Update the operating performance points OPP framework (Lukasz Luba,
           Andrew-sh.Cheng, Valdis Kletnieks):
      
             * Refactor dev_pm_opp_of_register_em() and update related drivers.
      
             * Add a missing function export.
      
             * Allow disabled OPPs in dev_pm_opp_get_freq().
      
         - Update devfreq core and drivers (Chanwoo Choi, Lukasz Luba, Enric
           Balletbo i Serra, Dmitry Osipenko, Kieran Bingham, Marc Zyngier):
      
             * Add support for delayed timers to the devfreq core and make the
               Samsung exynos5422-dmc driver use it.
      
             * Unify sysfs interface to use "df-" as a prefix in instance
               names consistently.
      
             * Fix devfreq_summary debugfs node indentation.
      
             * Add the rockchip,pmu phandle to the rk3399_dmc driver DT
               bindings.
      
             * List Dmitry Osipenko as the Tegra devfreq driver maintainer.
      
             * Fix typos in the core devfreq code.
      
         - Update the pm-graph utility to version 5.7 including a number of
           fixes related to suspend-to-idle (Todd Brandt).
      
         - Fix coccicheck errors and warnings in the cpupower utility (Shuah
           Khan).
      
         - Replace HTTP links with HTTPs ones in multiple places (Alexander A.
           Klimov)"
      
      * tag 'pm-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (71 commits)
        cpuidle: ACPI: fix 'return' with no value build warning
        cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode
        cpufreq: intel_pstate: Rearrange the storing of new EPP values
        intel_idle: Customize IceLake server support
        PM / devfreq: Fix the wrong end with semicolon
        PM / devfreq: Fix indentaion of devfreq_summary debugfs node
        PM / devfreq: Clean up the devfreq instance name in sysfs attr
        memory: samsung: exynos5422-dmc: Add module param to control IRQ mode
        memory: samsung: exynos5422-dmc: Adjust polling interval and uptreshold
        memory: samsung: exynos5422-dmc: Use delayed timer as default
        PM / devfreq: Add support delayed timer for polling mode
        dt-bindings: devfreq: rk3399_dmc: Add rockchip,pmu phandle
        PM / devfreq: tegra: Add Dmitry as a maintainer
        PM / devfreq: event: Fix trivial spelling
        PM / devfreq: rk3399_dmc: Fix kernel oops when rockchip,pmu is absent
        cpuidle: change enter_s2idle() prototype
        cpuidle: psci: Prevent domain idlestates until consumers are ready
        cpuidle: psci: Convert PM domain to platform driver
        cpuidle: psci: Fix error path via converting to a platform driver
        cpuidle: psci: Fail cpuidle registration if set OSI mode failed
        ...
      04084978
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · d5168406
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "This release we've seen a couple of updates to make some DT based APIs
        use fwnode instead, allowing their use with ACPI systems, and a few
        cleanups"
      
      * tag 'regmap-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: fix duplicated word in <linux/regmap.h>
        regmap: Switch to use fwnode instead of OF one
        regmap-irq: use fwnode instead of device node in add_irq_chip()
        regmap: remove stray space
        regmap: convert all regmap_update_bits() and co. macros to static inlines
      d5168406
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b1713739
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A fairly quiet release for SPI, nothing really going on in the core
        although there's been quite a bit of driver related activity.
      
        This includes the addition of some shared code in drivers/memory for
        the Renesas RPC-IF which is used by a newly added SPI driver, the
        memory subsystem doesn't seem to have a fixed maintainer at the minute
        and this seemed like the most sensible way to get that hardware
        supported.
      
         - Quite a few cleanups and optimizations for the Altera, Qualcomm
           GENI, sun6i and lantiq drivers.
      
         - Several more GPIO descriptor conversions.
      
         - Move the Cadence QuadSPI driver from drivers/mtd to drivers/spi.
      
         - New support for Mediatek MT8192 and Renesas RPC-IF, R8A7742 and
           R8A774e1"
      
      * tag 'spi-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (119 commits)
        dt-bindings: lpspi: New property in document DT bindings for LPSPI
        spi: lpspi: fix using CS discontinuously on i.MX8DXLEVK
        spi: lpspi: remove unused fsl_lpspi->chipselect
        spi: lpspi: Fix kernel warning dump when probe fail after calling spi_register
        spi: rockchip: Fix error in SPI slave pio read
        spi: rockchip: Support 64-location deep FIFOs
        spi: rockchip: Config spi rx dma burst size depend on xfer length
        spi: spi-topcliff-pch: drop call to wakeup-disable
        spi: spidev: Align buffers for DMA
        spi: correct kernel-doc inconsistency
        spi: sun4i: update max transfer size reported
        spi: imx: enable runtime pm support
        spi: update bindings for MT8192 SoC
        spi: mediatek: add spi support for mt8192 IC
        spi: Add bindings for Lightning Mountain SoC
        spi: lantiq: Add support to Lightning Mountain SoC
        spi: lantiq: Move interrupt configuration to SoC specific data structure
        spi: lantiq: Add fifo size bit mask in SoC specific data structure
        spi: lantiq: Add support to acknowledge interrupt
        spi: lantiq: Move interrupt control register offesets to SoC specific data structure
        ...
      b1713739
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · bbb83990
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This time around the bulk of the work on the regulator API has been
        cleanups of various kinds, partly but not entirely inspired by the W=1
        stuff that 0day turned on.
      
        There's also been a fairly large crop of new drivers, and a few
        bugfixes for existing drivers.
      
         - Mode setting support for MT6397 and DA9211.
      
         - New drivers for ChromeOS embedded controllers, Fairchild FAN53880,
           NXP PCA9450, Qualcomm LABIBB, MP5496, and VBUS booster, and Silergy
           SY8827N"
      
      * tag 'regulator-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (67 commits)
        regulator: add the sub node names for the MP5496 PMIC
        regulator: cros-ec-regulator: Fix double free of desc->name.
        platform/chrome: cros_ec: Fix host command for regulator control.
        regulator: pca9450: Convert to use module_i2c_driver
        regulator: fix memory leak on error path of regulator_register()
        regulator: Replace HTTP links with HTTPS ones
        regulator: convert QCOM SMD-RPM regulator document to YAML schema
        regulator: gpio: Honor regulator-boot-on property
        regulator: core: Add destroy_regulator()
        regulator: Correct kernel-doc inconsistency
        regulator: Add labibb regulator binding
        regulator: qcom: Add labibb driver
        regulator: Allow regulators to verify enabled during enable()
        regulator: cros-ec: Constify cros_ec_regulator_voltage_ops
        regulator: devres: Standardise on function documentation headers
        regulator: of_regulator: Add missing colon for rdev kerneldoc argument
        regulator: devres: Fix issues with kerneldoc headers
        regulator: fan53880: Add support for COMPILE_TEST
        regulator: fan53880: Add missing .owner field in regulator_desc
        dt-bindings: regulator: add pca9450 regulator yaml
        ...
      bbb83990
    • Linus Torvalds's avatar
      Merge tag 'edac_updates_for_5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · f8851cb2
      Linus Torvalds authored
      Pull EDAC updates from Tony Luck:
       "Boris is on vacation and aske me to send you the EDAC changes"
      
      * tag 'edac_updates_for_5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC: Fix reference count leaks
        EDAC: Remove edac_get_dimm_by_index()
        EDAC/ghes: Scan the system once on driver init
        EDAC/ghes: Remove unused members of struct ghes_edac_pvt, rename it to ghes_pvt
        EDAC/ghes: Setup DIMM label from DMI and use it in error reports
        EDAC, {skx,i10nm}: Use CPU stepping macro to pass configurations
        EDAC/mc: Call edac_inc_ue_error() before panic
        EDAC, pnd2: Set MCE_PRIO_EDAC priority for pnd2_mce_dec notifier
      f8851cb2
    • Linus Torvalds's avatar
      Merge tag 'arm-newsoc-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · d4db4e55
      Linus Torvalds authored
      Pull new ARM SoC support from Arnd Bergmann:
       "There are three SoC families newly dded to the 32-bit and 64-bit Arm
        architecture code in the kernel this time:
      
         - Daniel Palmer adds initial support for two chips made by MStar, a
           taiwanese SoC manufacturer that became part of Mediatek in 2012.
      
           For now, the added support is fairly minimal, with just two of its
           Cortex-A7 based 32-bit camera chips getting support for a limited
           set of on-chip peripherals.
      
         - Lars Povlsen from Microchip adds support for their new Sparx5
           family of ethernet switch chips using 64-bit Cortex-A53 cores.
      
           These are descended from earlier VSC7xxx SparX and Ocelot chips
           using 32-bit MIPS cores.
      
         - Daniele Alessandrelli from Intel adds support for the new Keem Bay
           SoC for computer vision, built around a Movidius VPU with Linux
           running on Arm Cortex-A53 cores"
      
      * tag 'arm-newsoc-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (38 commits)
        ARM: mstar: Correct the compatible string for pmsleep
        dt-bindings: arm: mstar: remove the binding description for mstar,pmsleep
        dt-bindings: mfd: syscon: add compatible string for mstar,msc313-pmsleep
        ARM: mstar: Add reboot support
        ARM: mstar: Add "pmsleep" node to base dtsi
        ARM: mstar: Add PMU
        ARM: mstar: Adjust IMI size for infinity3
        ARM: mstar: Adjust IMI size for mercury5
        ARM: mstar: Adjust IMI size of infinity
        ARM: mstar: Add IMI SRAM region
        dt-bindings: arm: mstar: Move existing MStar binding descriptions
        dt-bindings: arm: mstar: Add binding details for mstar, pmsleep
        ARM: mstar: Fix dts filename for 70mai midrive d08
        ARM: mstar: Add dts for 70mai midrive d08
        ARM: mstar: Add dts for msc313(e) based BreadBee boards
        ARM: mstar: Add mercury5 series dtsis
        ARM: mstar: Add infinity/infinity3 family dtsis
        ARM: mstar: Add Armv7 base dtsi
        ARM: mstar: Add binding details for mstar,l3bridge
        ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
        ...
      d4db4e55
    • Linus Torvalds's avatar
      Merge tag 'arm-drivers-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 822ef14e
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "A couple of subsystems have their own subsystem maintainers but choose
        to have the code merged through the soc tree as upstream, as the code
        tends to be used across multiple SoCs or has SoC specific drivers
        itself:
      
         - memory controllers:
      
           Krzysztof Kozlowski takes ownership of the drivers/memory subsystem
           and its drivers, starting out with a set of cleanup patches.
      
           A larger driver for the Tegra memory controller that was
           accidentally missed for v5.8 is now added.
      
         - reset controllers:
      
           Only minor updates to drivers/reset this time
      
         - firmware:
      
           The "turris mox" firmware driver gains support for signed firmware
           blobs The tegra firmware driver gets extended to export some debug
           information Various updates to i.MX firmware drivers, mostly
           cosmetic
      
         - ARM SCMI/SCPI:
      
           A new mechanism for platform notifications is added, among a number
           of minor changes.
      
         - optee:
      
           Probing of the TEE bus is rewritten to better support detection of
           devices that depend on the tee-supplicant user space. A new
           firmware based trusted platform module (fTPM) driver is added based
           on OP-TEE
      
         - SoC attributes:
      
           A new driver is added to provide a generic soc_device for
           identifying a machine through the SMCCC ARCH_SOC_ID firmware
           interface rather than by probing SoC family specific registers.
      
           The series also contains some cleanups to the common soc_device
           code.
      
        There are also a number of updates to SoC specific drivers, the main
        ones are:
      
         - Mediatek cmdq driver gains a few in-kernel interfaces
      
         - Minor updates to Qualcomm RPMh, socinfo, rpm drivers, mostly adding
           support for additional SoC variants
      
         - The Qualcomm GENI core code gains interconnect path voting and
           performance level support, and integrating this into a number of
           device drivers.
      
         - A new driver for Samsung Exynos5800 voltage coupler for
      
         - Renesas RZ/G2H (R8A774E1) SoC support gets added to a couple of SoC
           specific device drivers
      
         - Updates to the TI K3 Ring Accelerator driver"
      
      * tag 'arm-drivers-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (164 commits)
        soc: qcom: geni: Fix unused label warning
        soc: qcom: smd-rpm: Fix kerneldoc
        memory: jz4780_nemc: Only request IO memory the driver will use
        soc: qcom: pdr: Reorder the PD state indication ack
        MAINTAINERS: Add Git repository for memory controller drivers
        memory: brcmstb_dpfe: Fix language typo
        memory: samsung: exynos5422-dmc: Correct white space issues
        memory: samsung: exynos-srom: Correct alignment
        memory: pl172: Enclose macro argument usage in parenthesis
        memory: of: Correct kerneldoc
        memory: omap-gpmc: Fix language typo
        memory: omap-gpmc: Correct white space issues
        memory: omap-gpmc: Use 'unsigned int' for consistency
        memory: omap-gpmc: Enclose macro argument usage in parenthesis
        memory: omap-gpmc: Correct kerneldoc
        memory: mvebu-devbus: Align with open parenthesis
        memory: mvebu-devbus: Add missing braces to all arms of if statement
        memory: bt1-l2-ctl: Add blank lines after declarations
        soc: TI knav_qmss: make symbol 'knav_acc_range_ops' static
        firmware: ti_sci: Replace HTTP links with HTTPS ones
        ...
      822ef14e
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 6ce076f4
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "These are mostly cosmetic changes and minor bugfixes for the SoC
        specific code, across the 32-bit at91, mvebu, davinci, samsung, and
        omap platforms.
      
        The main notable changes are for the Samsung Exynos platform, which
        sees a rewrite of gpio handling and a change to restore and adds a
        workaround for a problem with cpuidle support"
      
      * tag 'arm-soc-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh()
        MAINTAINERS: arm/amlogic: add designated reviewers
        ARM: davinci: dm646x-evm: Simplify error handling in 'evm_sw_setup()'
        ARM: davinci: Fix trivial spelling
        ARM: davinci: Replace HTTP links with HTTPS ones
        ARM: s3c24xx: Replace HTTP links with HTTPS ones
        ARM: orion/gpio: Make use of for_each_requested_gpio()
        ARM: at91: Replace HTTP links with HTTPS ones
        ARM: at91: pm: add missing put_device() call in at91_pm_sram_init()
        ARM: rpc: Change blacklist to quirklist in ecode.c file
        ARM: OMAP: Replace HTTP links with HTTPS ones
        ARM: s3c24xx: leds: Convert to use GPIO descriptors
        udc: lpc32xx: mark local function static
        ARM: exynos: MCPM: Restore big.LITTLE cpuidle support
        ARM: exynos: clear L310_AUX_CTRL_FULL_LINE_ZERO in default l2c_aux_val
      6ce076f4
    • Linus Torvalds's avatar
      Merge tag 'arm-dt-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 2f3fbfda
      Linus Torvalds authored
      Pull ARM SoC DT updates from Arnd Bergmann:
       "As usual, there are many patches addressing minor issues in existing
        DTS files, such as DTC warnings, or adding support for additional
        peripherals.
      
        There are three added SoCs in existing product families:
      
         - Amazon:
      
           Alpine v3 is a 16-core Cortex-A72 SoC from Amazon's Annapurna Labs,
           otherwise known as AL73400 or first-generation Graviton, and
           following the already supported Cortex-A1`5 and Cortex-A57 based
           Alpine chips. This one is added together with the official
           Evaluation platform.
      
         - Qualcomm:
      
           The Snapdragon SDM630 platform is a family of mid-range mobile
           phone chips from 2017 based on Cortex-A53 or Kryo 260 CPUs. A total
           of five end-user products are added based on these, all Android
           phones from Sony: Xperia 10, 10 Plus, XA2, XA2 Plus and XA2 Ultra.
      
         - Renesas:
      
           RZ/G2H (r8a774e1) is currently the top model in the Renesas RZ/G
           family, and apparently closely related to the RZ/G2N and RZ/G2M
           models we already support but has a faster GPU and additional
           on-chip peripherals. It is added along with the HopeRun HiHope
           RZ/G2H development board
      
        A small number of new boards for already supported SoCs also debut:
      
         - Allwinner sunxi:
      
           Only one new machine, revision v1.2 of the Pine64 PinePhone
           (non-Android) smartphone, containing minor changes compared to
           earlier versions.
      
         - Amlogic Meson:
      
           WeTek Core2 is an Amlogic S912 (GXM) based Set-top-box
      
         - Aspeed:
      
           EthanolX is AMD's EPYC data center rerence platform, using an
           ASpeed AST2600 baseboard management controller.
      
         - Mediatek:
      
           Lenovo IdeaPad Duet 10.1" (kukui/krane) is a new Chromebook based
           on the MT8183 (Helio P60t) SoC.
      
         - Nvidia Tegra:
      
           ASUS Google Nexus 7 and Acer Iconia Tab A500 are two Android
           tablets from around 2012 using Tegra 3 and Tegra 2, respectively.
           Thanks to PostmarketOS, these can now run mainline kernels and
           become useful again.
      
           The Jetson Xavier NX Developer Kit uses a SoM and carrier board for
           the Tegra194, their latest 64-bit chip based on Carmel CPU cores
           and Volta graphics.
      
         - NXP i.MX:
      
           Five new boards based on the 32-bit i.MX6 series are added: The
           MYiR MYS-6ULX single-board computer, and four different models of
           industrial computers from Protonic.
      
         - Qualcomm:
      
           MikroTik RouterBoard 3011 is a rackmounted router based on the
           32-bit IPQ8064 networking SoC
      
           Three older phones get added, the Snapdragon 808 (msm8992) based
           Xiaomi Libra (Mi 4C) and Microsoft Lumia 950, originally running
           Windows Phone, and the Snapdragon 810 (msm8994) based Sony Xperia
           Z5.
      
         - Renesas:
      
           In addition to the HiHope RZ/G2H board mentioned above, we gain
           support for board versions 3.0 and 4.0 of the earlier RZ/G2M and
           RZ/G2N reference boards. Beacon EmbeddedWorks adds another
           SoM+Carrier development board for RZ/G2M.
      
         - Rockchips:
      
           Radxa Rock Pi N8 development board and the VMARC RK3288 SoM it is
           based on, using the high-end 32-bit rk3288 SoC.
      
        Notable updates to existing platforms are usually for added on-chip
        peripherals, including:
      
         - ASpeed AST2xxx (various)
      
         - Allwinner (cpufreq, thermal, Pinephone touchscreen)
      
         - Amlogic Meson (audio, gpu dvdfs, board updates)
      
         - Arm Versatile
      
         - Broadcom (board updates for switch ports, Raspberry pi clock updates)
      
         - Hisilicon (various)
      
         - Intel/Altera SoCFPGA (various)
      
         - Marvell Armada 7xxx/8xxx (smmu)
      
         - Marvell MMP (GPU on mmp2/mmp3)
      
         - Mediatek mt8183 (USB, pericfg)
      
         - NXP Layerscape (VPU, thermal, DSPI)
      
         - NXP i.MX (VPU, bindings, board updates)
      
         - Nvidia Tegra194 (GPU)
      
         - Qualcomm (GPU, Interconnect, ...)
      
         - Renesas R-Car (SPI, IPMMU, board updates)
      
         - STMicroelectronics STM32 (various)
      
         - Samsung Exynos (various)
      
         - Socionext Uniphier (updates to serial, and pcie)
      
         - TI K3 (serdes, usb3, audio, sd, chipid)
      
         - TI OMAP (IPU/DSP remoteproc changes, dropping platform data)"
      
      * tag 'arm-dt-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (605 commits)
        arm64: dts: meson: odroid-n2: add jack audio output support
        arm64: dts: meson: odroid-n2: enable audio loopback
        ARM: dts: berlin: Align L2 cache-controller nodename with dtschema
        arm64: dts: qcom: Add Microsoft Lumia 950 (Talkman) device tree
        arm64: dts: qcom: Add Xiaomi Libra (Mi 4C) device tree
        arm64: dts: qcom: msm8992: Add RPMCC node
        arm64: dts: qcom: msm8992: Add PSCI support.
        arm64: dts: qcom: msm8992: Add PMU node
        arm64: dts: qcom: msm8992: Add BLSP2_UART2 and I2C nodes
        arm64: dts: qcom: msm8992: Add SPMI PMIC arbiter device
        arm64: dts: qcom: msm8992: Add a SCM node
        arm64: dts: qcom: msm8992: Add a proper CPU map
        arm64: dts: qcom: bullhead: Move UART pinctrl to SoC
        arm64: dts: qcom: bullhead: Add qcom,msm-id
        arm64: dts: qcom: msm8992: Fix SDHCI1
        arm64: dts: qcom: msm8992: Modernize the DTS style
        arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW)
        arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead.
        arm64: dts: qcom: msm8994: Add support for SMD RPM
        arm64: dts: qcom: msm8992: Add a label to rpm-requests
        ...
      2f3fbfda
    • Linus Torvalds's avatar
      Merge tag 'arm-defconfig-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 92c59e12
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual updates to arm/arm64 defconfig files, enabling
        newly added drivers and addressing changes to Kconfig files"
      
      * tag 'arm-defconfig-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (38 commits)
        ARM: configs: at91: sama5: enable CAN PLATFORM driver
        ARM: configs: at91: sama5: enable bridge and VLAN filtering
        ARM: configs: at91: sama5: add support for KSZ ethernet switches
        arm64: defconfig: Enable AM654x SDHCI controller
        arm64: arch_k3: enable chipid driver
        arm/arm64: defconfig: Update configs to use the new CROS_EC options
        ARM: tegra_defconfig: Enable options useful for Nexus 7 and Acer A500
        ARM: tegra: Enable CPUFREQ userspace governor
        arm64: defconfig: enable CONFIG_FSL_ENETC_QOS
        arm64: defconfig: enable TSN features for ENETC and similiar hardware
        ARM: imx_v6_v7_defconfig: Support i.MX8MM
        arm64: defconfig: enable RTC and audio support on Kontron sl28 boards
        arm64: defconfig: add pca9450 pmic driver
        ARM: configs: sunxi: Enable crypto related options
        ARM: sunxi: configs: Enable the Mailbox driver
        ARM: configs: sunxi: Enable the PS/2 controller
        ARM: configs: sunxi: Enable Lima
        ARM: configs: sunxi: Add DRM output-related options
        ARM: configs: sunxi: Enable ASoC options
        ARM: configs: sunxi: Enable Cedrus
        ...
      92c59e12
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.9-1' of git://git.infradead.org/linux-platform-drivers-x86 · 09a0bd07
      Linus Torvalds authored
      Pull x86 platform driver updates from Andy Shevchenko:
      
       - ASUS WMI driver honors BAT1 name of the battery (quite a few new
         laptops are using it)
      
       - Dell WMI driver supports new key codes and backlight events
      
       - ThinkPad ACPI driver now may use standard charge threshold interface,
         it also has been updated to provide Laptop or Desktop mode to the
         user
      
       - Intel Speed Select Technology gained support on Sapphire Rapids
         platform
      
       - Regular update of Speed Select Technology tools
      
       - Mellanox has been updated to support complex attributes
      
       - PMC core driver has been fixed to show correct names for LPM0
         register
      
       - HTTP links were replaced by HTTPS ones where it applies
      
       - Miscellaneous fixes and cleanups here and there
      
      * tag 'platform-drivers-x86-v5.9-1' of git://git.infradead.org/linux-platform-drivers-x86: (42 commits)
        platform/x86: asus-nb-wmi: Drop duplicate DMI quirk structures
        platform/x86: thinkpad_acpi: Make some symbols static
        platform/x86: thinkpad_acpi: add documentation for battery charge control
        platform/x86: thinkpad_acpi: use standard charge control attribute names
        platform/x86: thinkpad_acpi: remove unused defines
        platform/x86: ISST: drop a duplicated word in isst_if.h
        tools/power/x86/intel-speed-select: Update version for v5.9
        tools/power/x86/intel-speed-select: Add retries for mail box commands
        tools/power/x86/intel-speed-select: Add option to delay mbox commands
        tools/power/x86/intel-speed-select: Ignore -o option processing on error
        tools/power/x86/intel-speed-select: Change path for caching topology info
        platform/x86: acerhdf: Replace HTTP links with HTTPS ones
        platform/x86: apple-gmux: Replace HTTP links with HTTPS ones
        platform/x86: pcengines-apuv2: revert wiring up simswitch GPIO as LED
        platform/x86: mlx-platform: Extend FAN platform data description
        platform_data/mlxreg: Add presence register field for FAN devices
        Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces
        platform/mellanox: mlxreg-io: Add support for complex attributes
        platform/x86: mlx-platform: Add more definitions for system attributes
        platform_data/mlxreg: Add support for complex attributes
        ...
      09a0bd07
    • Linus Torvalds's avatar
      Merge tag 'ras-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e53bc3ff
      Linus Torvalds authored
      Pull x86 RAS updates from Ingo Molnar:
       "Boris is on vacation and he asked us to send you the pending RAS bits:
      
         - Print the PPIN field on CPUs that fill them out
      
         - Fix an MCE injection bug
      
         - Simplify a kzalloc in dev_mcelog_init_device()"
      
      * tag 'ras-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce, EDAC/mce_amd: Print PPIN in machine check records
        x86/mce/dev-mcelog: Use struct_size() helper in kzalloc()
        x86/mce/inject: Fix a wrong assignment of i_mce.status
      e53bc3ff
    • Linus Torvalds's avatar
      Merge tag 'x86-timers-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a92ad11f
      Linus Torvalds authored
      Pull x86 timer update from Ingo Molnar:
       "Set the X86_FEATURE_TSC_KNOWN_FREQ flag for Xen guests, to avoid
        recalibration"
      
      * tag 'x86-timers-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/xen/time: Set the X86_FEATURE_TSC_KNOWN_FREQ flag in xen_tsc_khz()
      a92ad11f
    • Linus Torvalds's avatar
      Merge tag 'x86-platform-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5183a617
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "The biggest change is the removal of SGI UV1 support, which allowed
        the removal of the legacy EFI old_mmap code as well.
      
        This removes quite a bunch of old code & quirks"
      
      * tag 'x86-platform-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Remove unused EFI_UV1_MEMMAP code
        x86/platform/uv: Remove uv bios and efi code related to EFI_UV1_MEMMAP
        x86/efi: Remove references to no-longer-used efi_have_uv1_memmap()
        x86/efi: Delete SGI UV1 detection.
        x86/platform/uv: Remove efi=old_map command line option
        x86/platform/uv: Remove vestigial mention of UV1 platform from bios header
        x86/platform/uv: Remove support for UV1 platform from uv
        x86/platform/uv: Remove support for uv1 platform from uv_hub
        x86/platform/uv: Remove support for UV1 platform from uv_bau
        x86/platform/uv: Remove support for UV1 platform from uv_mmrs
        x86/platform/uv: Remove support for UV1 platform from x2apic_uv_x
        x86/platform/uv: Remove support for UV1 platform from uv_tlb
        x86/platform/uv: Remove support for UV1 platform from uv_time
      5183a617
    • Linus Torvalds's avatar
      Merge tag 'x86-mm-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e96ec8cf
      Linus Torvalds authored
      Pull x86 mmm update from Ingo Molnar:
       "The biggest change is to not sync the vmalloc and ioremap ranges for
        x86-64 anymore"
      
      * tag 'x86-mm-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/64: Make sync_global_pgds() static
        x86/mm/64: Do not sync vmalloc/ioremap mappings
        x86/mm: Pre-allocate P4D/PUD pages for vmalloc area
      e96ec8cf
    • Linus Torvalds's avatar
      Merge tag 'x86-misc-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c813e8c9
      Linus Torvalds authored
      Pull x86 MSR filtering from Ingo Molnar:
       "Filter MSR writes from user-space by default, and print a syslog entry
        if they happen outside the allowed set of MSRs, which is a single one
        for now, MSR_IA32_ENERGY_PERF_BIAS.
      
        The plan is to eventually disable MSR writes by default (they can
        still be enabled via allow_writes=on)"
      
      * tag 'x86-misc-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/msr: Filter MSR writes
      c813e8c9
    • Linus Torvalds's avatar
      Merge tag 'x86-microcode-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 69094c20
      Linus Torvalds authored
      Pull x86 microcode update from Ingo Molnar:
       "Remove the microcode loader's FW_LOADER coupling"
      
      * tag 'x86-microcode-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode: Do not select FW_LOADER
      69094c20
    • Linus Torvalds's avatar
      Merge tag 'x86-fpu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0a897743
      Linus Torvalds authored
      Pull x86 FPU selftest from Ingo Molnar:
       "Add the /sys/kernel/debug/selftest_helpers/test_fpu FPU self-test"
      
      * tag 'x86-fpu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/fpu: Add an FPU selftest
      0a897743
    • Linus Torvalds's avatar
      Merge tag 'x86-cpu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 335ad94c
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molar:
      
       - prepare for Intel's new SERIALIZE instruction
      
       - enable split-lock debugging on more CPUs
      
       - add more Intel CPU models
      
       - optimize stack canary initialization a bit
      
       - simplify the Spectre logic a bit
      
      * tag 'x86-cpu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Refactor sync_core() for readability
        x86/cpu: Relocate sync_core() to sync_core.h
        x86/cpufeatures: Add enumeration for SERIALIZE instruction
        x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder Lake CPUs
        x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family
        x86/stackprotector: Pre-initialize canary for secondary CPUs
        x86/speculation: Merge one test in spectre_v2_user_select_mitigation()
      335ad94c
    • Linus Torvalds's avatar
      Merge tag 'x86-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4ee48103
      Linus Torvalds authored
      Pull x86 debug fixlets from Ingo Molnar:
       "Improve x86 debuggability: print registers with the same log level as
        the backtrace"
      
      * tag 'x86-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/dumpstack: Show registers dump with trace's log level
        x86/dumpstack: Add log_lvl to __show_regs()
        x86/dumpstack: Add log_lvl to show_iret_regs()
      4ee48103
  3. 03 Aug, 2020 17 commits
    • Linus Torvalds's avatar
      Merge tag 'x86-cleanups-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 37e88224
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups all around the place"
      
      * tag 'x86-cleanups-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ioperm: Initialize pointer bitmap with NULL rather than 0
        x86: uv: uv_hub.h: Delete duplicated word
        x86: cmpxchg_32.h: Delete duplicated word
        x86: bootparam.h: Delete duplicated word
        x86/mm: Remove the unused mk_kernel_pgd() #define
        x86/tsc: Remove unused "US_SCALE" and "NS_SCALE" leftover macros
        x86/ioapic: Remove unused "IOAPIC_AUTO" define
        x86/mm: Drop unused MAX_PHYSADDR_BITS
        x86/msr: Move the F15h MSRs where they belong
        x86/idt: Make idt_descr static
        initrd: Remove erroneous comment
        x86/mm/32: Fix -Wmissing prototypes warnings for init.c
        cpu/speculation: Add prototype for cpu_show_srbds()
        x86/mm: Fix -Wmissing-prototypes warnings for arch/x86/mm/init.c
        x86/asm: Unify __ASSEMBLY__ blocks
        x86/cpufeatures: Mark two free bits in word 3
        x86/msr: Lift AMD family 0x15 power-specific MSRs
      37e88224
    • Linus Torvalds's avatar
      Merge tag 'x86-build-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1ff9b20b
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
       "Misc changes: refresh defconfigs and simplify the boot image link
        stage"
      
      * tag 'x86-build-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/defconfigs: Refresh defconfig files
        x86/build: Move max-page-size option to LDFLAGS_vmlinux
        x86/defconfigs: Remove CONFIG_CRYPTO_AES_586 from i386_defconfig
      1ff9b20b
    • Linus Torvalds's avatar
      Merge tag 'x86-boot-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c0dfadfe
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "The main change in this cycle was to add support for ZSTD-compressed
        kernel and initrd images.
      
        ZSTD has a very fast decompressor, yet it compresses better than gzip"
      
      * tag 'x86-boot-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation: dontdiff: Add zstd compressed files
        .gitignore: Add ZSTD-compressed files
        x86: Add support for ZSTD compressed kernel
        x86: Bump ZO_z_extra_bytes margin for zstd
        usr: Add support for zstd compressed initramfs
        init: Add support for zstd compressed kernel
        lib: Add zstd support to decompress
        lib: Prepare zstd for preboot environment, improve performance
      c0dfadfe
    • Linus Torvalds's avatar
      Merge tag 'x86-asm-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ba77c568
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "A couple of changes, concentrated into the percpu code, to enable
        Clang support on i386 kernels too"
      
      [ And cleans up the macros to generate percpu ops a lot too  - Linus ]
      
      * tag 'x86-asm-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uaccess: Make __get_user_size() Clang compliant on 32-bit
        x86/percpu: Remove unused PER_CPU() macro
        x86/percpu: Clean up percpu_stable_op()
        x86/percpu: Clean up percpu_cmpxchg_op()
        x86/percpu: Clean up percpu_xchg_op()
        x86/percpu: Clean up percpu_add_return_op()
        x86/percpu: Remove "e" constraint from XADD
        x86/percpu: Clean up percpu_add_op()
        x86/percpu: Clean up percpu_from_op()
        x86/percpu: Clean up percpu_to_op()
        x86/percpu: Introduce size abstraction macros
      ba77c568
    • Linus Torvalds's avatar
      Merge tag 'x86-alternatives-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 97c6f57d
      Linus Torvalds authored
      Pull x86/alternatives update from Ingo Molnar:
       "A single commit that improves the alternatives patching syslog debug
        output"
      
      * tag 'x86-alternatives-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/alternatives: Add pr_fmt() to debug macros
      97c6f57d
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e4cbce4d
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - Improve uclamp performance by using a static key for the fast path
      
       - Add the "sched_util_clamp_min_rt_default" sysctl, to optimize for
         better power efficiency of RT tasks on battery powered devices.
         (The default is to maximize performance & reduce RT latencies.)
      
       - Improve utime and stime tracking accuracy, which had a fixed boundary
         of error, which created larger and larger relative errors as the
         values become larger. This is now replaced with more precise
         arithmetics, using the new mul_u64_u64_div_u64() helper in math64.h.
      
       - Improve the deadline scheduler, such as making it capacity aware
      
       - Improve frequency-invariant scheduling
      
       - Misc cleanups in energy/power aware scheduling
      
       - Add sched_update_nr_running tracepoint to track changes to nr_running
      
       - Documentation additions and updates
      
       - Misc cleanups and smaller fixes
      
      * tag 'sched-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
        sched/doc: Factorize bits between sched-energy.rst & sched-capacity.rst
        sched/doc: Document capacity aware scheduling
        sched: Document arch_scale_*_capacity()
        arm, arm64: Fix selection of CONFIG_SCHED_THERMAL_PRESSURE
        Documentation/sysctl: Document uclamp sysctl knobs
        sched/uclamp: Add a new sysctl to control RT default boost value
        sched/uclamp: Fix a deadlock when enabling uclamp static key
        sched: Remove duplicated tick_nohz_full_enabled() check
        sched: Fix a typo in a comment
        sched/uclamp: Remove unnecessary mutex_init()
        arm, arm64: Select CONFIG_SCHED_THERMAL_PRESSURE
        sched: Cleanup SCHED_THERMAL_PRESSURE kconfig entry
        arch_topology, sched/core: Cleanup thermal pressure definition
        trace/events/sched.h: fix duplicated word
        linux/sched/mm.h: drop duplicated words in comments
        smp: Fix a potential usage of stale nr_cpus
        sched/fair: update_pick_idlest() Select group with lowest group_util when idle_cpus are equal
        sched: nohz: stop passing around unused "ticks" parameter.
        sched: Better document ttwu()
        sched: Add a tracepoint to track rq->nr_running
        ...
      e4cbce4d
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b34133fe
      Linus Torvalds authored
      Pull perf event updates from Ingo Molnar:
       "HW support updates:
      
         - Add uncore support for Intel Comet Lake
      
         - Add RAPL support for Hygon Fam18h
      
         - Add Intel "IIO stack to PMON mapping" support on Skylake-SP CPUs,
           which enumerates per device performance counters via sysfs and
           enables the perf stat --iiostat functionality
      
         - Add support for Intel "Architectural LBRs", which generalized the
           model specific LBR hardware tracing feature into a
           model-independent, architected performance monitoring feature.
      
           Usage is mostly seamless to tooling, as the pre-existing LBR
           features are kept, but there's a couple of advantages under the
           hood, such as faster context-switching, faster LBR reads, cleaner
           exposure of LBR features to guest kernels, etc.
      
           ( Since architectural LBRs are supported via XSAVE, there's related
             changes to the x86 FPU code as well. )
      
        ftrace/perf updates:
      
         - Add support to add a text poke event to record changes to kernel
           text (i.e. self-modifying code) in order to support tracers like
           Intel PT decoding through jump labels, kprobes and ftrace
           trampolines.
      
        Misc cleanups, smaller fixes..."
      
      * tag 'perf-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits)
        perf/x86/rapl: Add Hygon Fam18h RAPL support
        kprobes: Remove unnecessary module_mutex locking from kprobe_optimizer()
        x86/perf: Fix a typo
        perf: <linux/perf_event.h>: drop a duplicated word
        perf/x86/intel/lbr: Support XSAVES for arch LBR read
        perf/x86/intel/lbr: Support XSAVES/XRSTORS for LBR context switch
        x86/fpu/xstate: Add helpers for LBR dynamic supervisor feature
        x86/fpu/xstate: Support dynamic supervisor feature for LBR
        x86/fpu: Use proper mask to replace full instruction mask
        perf/x86: Remove task_ctx_size
        perf/x86/intel/lbr: Create kmem_cache for the LBR context data
        perf/core: Use kmem_cache to allocate the PMU specific data
        perf/core: Factor out functions to allocate/free the task_ctx_data
        perf/x86/intel/lbr: Support Architectural LBR
        perf/x86/intel/lbr: Factor out intel_pmu_store_lbr
        perf/x86/intel/lbr: Factor out rdlbr_all() and wrlbr_all()
        perf/x86/intel/lbr: Mark the {rd,wr}lbr_{to,from} wrappers __always_inline
        perf/x86/intel/lbr: Unify the stored format of LBR information
        perf/x86/intel/lbr: Support LBR_CTL
        perf/x86: Expose CPUID enumeration bits for arch LBR
        ...
      b34133fe
    • Linus Torvalds's avatar
      Merge tag 'objtool-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9dee8689
      Linus Torvalds authored
      Pull objtool updates from Ingo Molnar:
      
       - Add support for non-rela relocations, in preparation to merge
         'recordmcount' functionality into objtool
      
       - Fix assumption that broke under --ffunction-sections (LTO) builds
      
       - Misc cleanups
      
      * tag 'objtool-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Add support for relocations without addends
        objtool: Rename rela to reloc
        objtool: Use sh_info to find the base for .rela sections
        objtool: Do not assume order of parent/child functions
      9dee8689
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9ba19ccd
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
      
       - LKMM updates: mostly documentation changes, but also some new litmus
         tests for atomic ops.
      
       - KCSAN updates: the most important change is that GCC 11 now has all
         fixes in place to support KCSAN, so GCC support can be enabled again.
         Also more annotations.
      
       - futex updates: minor cleanups and simplifications
      
       - seqlock updates: merge preparatory changes/cleanups for the
         'associated locks' facilities.
      
       - lockdep updates:
          - simplify IRQ trace event handling
          - add various new debug checks
          - simplify header dependencies, split out <linux/lockdep_types.h>,
            decouple lockdep from other low level headers some more
          - fix NMI handling
      
       - misc cleanups and smaller fixes
      
      * tag 'locking-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
        kcsan: Improve IRQ state trace reporting
        lockdep: Refactor IRQ trace events fields into struct
        seqlock: lockdep assert non-preemptibility on seqcount_t write
        lockdep: Add preemption enabled/disabled assertion APIs
        seqlock: Implement raw_seqcount_begin() in terms of raw_read_seqcount()
        seqlock: Add kernel-doc for seqcount_t and seqlock_t APIs
        seqlock: Reorder seqcount_t and seqlock_t API definitions
        seqlock: seqcount_t latch: End read sections with read_seqcount_retry()
        seqlock: Properly format kernel-doc code samples
        Documentation: locking: Describe seqlock design and usage
        locking/qspinlock: Do not include atomic.h from qspinlock_types.h
        locking/atomic: Move ATOMIC_INIT into linux/types.h
        lockdep: Move list.h inclusion into lockdep.h
        locking/lockdep: Fix TRACE_IRQFLAGS vs. NMIs
        futex: Remove unused or redundant includes
        futex: Consistently use fshared as boolean
        futex: Remove needless goto's
        futex: Remove put_futex_key()
        rwsem: fix commas in initialisation
        docs: locking: Replace HTTP links with HTTPS ones
        ...
      9ba19ccd
    • Linus Torvalds's avatar
      Merge tag 'core-rcu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8f0cb666
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
      
       - kfree_rcu updates
      
       - RCU tasks updates
      
       - Read-side scalability tests
      
       - SRCU updates
      
       - Torture-test updates
      
       - Documentation updates
      
       - Miscellaneous fixes
      
      * tag 'core-rcu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (109 commits)
        torture: Remove obsolete "cd $KVM"
        torture: Avoid duplicate specification of qemu command
        torture: Dump ftrace at shutdown only if requested
        torture: Add kvm-tranform.sh script for qemu-cmd files
        torture: Add more tracing crib notes to kvm.sh
        torture: Improve diagnostic for KCSAN-incapable compilers
        torture: Correctly summarize build-only runs
        torture: Pass --kmake-arg to all make invocations
        rcutorture: Check for unwatched readers
        torture: Abstract out console-log error detection
        torture: Add a stop-run capability
        torture: Create qemu-cmd in --buildonly runs
        rcu/rcutorture: Replace 0 with false
        torture: Add --allcpus argument to the kvm.sh script
        torture: Remove whitespace from identify_qemu_vcpus output
        rcutorture: NULL rcu_torture_current earlier in cleanup code
        rcutorture: Handle non-statistic bang-string error messages
        torture: Set configfile variable to current scenario
        rcutorture: Add races with task-exit processing
        locktorture: Use true and false to assign to bool variables
        ...
      8f0cb666
    • Linus Torvalds's avatar
      Merge tag 'core-headers-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5ece0817
      Linus Torvalds authored
      Pull header cleanup from Ingo Molnar:
       "Separate out the instrumentation_begin()/end() bits from compiler.h"
      
      * tag 'core-headers-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        compiler.h: Move instrumentation_begin()/end() to new <linux/instrumentation.h> header
      5ece0817
    • Linus Torvalds's avatar
      Merge tag 'core-debugobjects-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c8e69391
      Linus Torvalds authored
      Pull debugobjects cleanup from Ingo Molnar:
       "A single commit which simplifies a debugfs attribute definition"
      
      * tag 'core-debugobjects-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Convert to DEFINE_SHOW_ATTRIBUTE
      c8e69391
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2020-08-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3b4b84b2
      Linus Torvalds authored
      Pull irq fixes from Ingo Molnar:
       "Fix a recent IRQ affinities regression, add in a missing debugfs
        printout that helps the debugging of IRQ affinity logic bugs, and fix
        a memory leak"
      
      * tag 'irq-urgent-2020-08-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq/debugfs: Add missing irqchip flags
        genirq/affinity: Make affinity setting if activated opt-in
        irqdomain/treewide: Free firmware node after domain removal
      3b4b84b2
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 145ff1ec
      Linus Torvalds authored
      Pull arm64 and cross-arch updates from Catalin Marinas:
       "Here's a slightly wider-spread set of updates for 5.9.
      
        Going outside the usual arch/arm64/ area is the removal of
        read_barrier_depends() series from Will and the MSI/IOMMU ID
        translation series from Lorenzo.
      
        The notable arm64 updates include ARMv8.4 TLBI range operations and
        translation level hint, time namespace support, and perf.
      
        Summary:
      
         - Removal of the tremendously unpopular read_barrier_depends()
           barrier, which is a NOP on all architectures apart from Alpha, in
           favour of allowing architectures to override READ_ONCE() and do
           whatever dance they need to do to ensure address dependencies
           provide LOAD -> LOAD/STORE ordering.
      
           This work also offers a potential solution if compilers are shown
           to convert LOAD -> LOAD address dependencies into control
           dependencies (e.g. under LTO), as weakly ordered architectures will
           effectively be able to upgrade READ_ONCE() to smp_load_acquire().
           The latter case is not used yet, but will be discussed further at
           LPC.
      
         - Make the MSI/IOMMU input/output ID translation PCI agnostic,
           augment the MSI/IOMMU ACPI/OF ID mapping APIs to accept an input ID
           bus-specific parameter and apply the resulting changes to the
           device ID space provided by the Freescale FSL bus.
      
         - arm64 support for TLBI range operations and translation table level
           hints (part of the ARMv8.4 architecture version).
      
         - Time namespace support for arm64.
      
         - Export the virtual and physical address sizes in vmcoreinfo for
           makedumpfile and crash utilities.
      
         - CPU feature handling cleanups and checks for programmer errors
           (overlapping bit-fields).
      
         - ACPI updates for arm64: disallow AML accesses to EFI code regions
           and kernel memory.
      
         - perf updates for arm64.
      
         - Miscellaneous fixes and cleanups, most notably PLT counting
           optimisation for module loading, recordmcount fix to ignore
           relocations other than R_AARCH64_CALL26, CMA areas reserved for
           gigantic pages on 16K and 64K configurations.
      
         - Trivial typos, duplicate words"
      
      Link: http://lkml.kernel.org/r/20200710165203.31284-1-will@kernel.org
      Link: http://lkml.kernel.org/r/20200619082013.13661-1-lorenzo.pieralisi@arm.com
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (82 commits)
        arm64: use IRQ_STACK_SIZE instead of THREAD_SIZE for irq stack
        arm64/mm: save memory access in check_and_switch_context() fast switch path
        arm64: sigcontext.h: delete duplicated word
        arm64: ptrace.h: delete duplicated word
        arm64: pgtable-hwdef.h: delete duplicated words
        bus: fsl-mc: Add ACPI support for fsl-mc
        bus/fsl-mc: Refactor the MSI domain creation in the DPRC driver
        of/irq: Make of_msi_map_rid() PCI bus agnostic
        of/irq: make of_msi_map_get_device_domain() bus agnostic
        dt-bindings: arm: fsl: Add msi-map device-tree binding for fsl-mc bus
        of/device: Add input id to of_dma_configure()
        of/iommu: Make of_map_rid() PCI agnostic
        ACPI/IORT: Add an input ID to acpi_dma_configure()
        ACPI/IORT: Remove useless PCI bus walk
        ACPI/IORT: Make iort_msi_map_rid() PCI agnostic
        ACPI/IORT: Make iort_get_device_domain IRQ domain agnostic
        ACPI/IORT: Make iort_match_node_callback walk the ACPI namespace for NC
        arm64: enable time namespace support
        arm64/vdso: Restrict splitting VVAR VMA
        arm64/vdso: Handle faults on timens page
        ...
      145ff1ec
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 8c4e1c02
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - several Kbuild improvements
      
       - several Mac fixes
      
       - minor cleanups and fixes
      
       - defconfig updates
      
      * tag 'm68k-for-v5.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: defconfig: Update defconfigs for v5.8-rc3
        m68k: Use CLEAN_FILES to clean up files
        m68k: mac: Improve IOP debug messages
        m68k: mac: Don't send uninitialized data in IOP message reply
        m68k: mac: Fix IOP status/control register writes
        m68k: mac: Don't send IOP message until channel is idle
        m68k: atari: Annotate dummy read in ROM port IO code as __maybe_unused
        m68k: Use sizeof_field() helper
        m68k: Pass -D options to KBUILD_CPPFLAGS instead of KBUILD_{A,C}FLAGS
        m68k: Optimize cc-option calls for cpuflags-y
        m68k: sun3: Descend to prom from arch/m68k/sun3
        m68k: Add arch/m68k/Kbuild
      8c4e1c02
    • Linus Torvalds's avatar
      Merge tag 'rm-unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux · 05119217
      Linus Torvalds authored
      Pull unicore32 removal from Mike Rapoport:
       "Remove unicore32 support.
      
        The unicore32 port do not seem maintained for a long time now, there
        is no upstream toolchain that can create unicore32 binaries and all
        the links to prebuilt toolchains for unicore32 are dead. Even
        compilers that were available are not supported by the kernel anymore.
      
        Guenter Roeck says:
          "I have stopped building unicore32 images since v4.19 since there is
           no available compiler that is still supported by the kernel. I am
           surprised that support for it has not been removed from the kernel"
      
        However, it's worth pointing out two things:
      
         - Guan Xuetao is still listed as maintainer and asked for the port to
           be kept around the last time Arnd suggested removing it two years
           ago. He promised that there would be compiler sources (presumably
           llvm), but has not made those available since.
      
         - https://github.com/gxt has patches to linux-4.9 and qemu-2.7, both
           released in 2016, with patches dated early 2019. These patches
           mainly restore a syscall ABI that was never part of mainline Linux
           but apparently used in production. qemu-2.8 removed support for
           that ABI and newer kernels (4.19+) can no longer be built with the
           old toolchain, so apparently there will not be any future updates
           to that git tree"
      
      * tag 'rm-unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux:
        MAINTAINERS: remove "PKUNITY SOC DRIVERS" entry
        rtc: remove fb-puv3  driver
        video: fbdev: remove fb-puv3  driver
        pwm: remove pwm-puv3  driver
        input: i8042: remove support for 8042-unicore32io
        i2c/buses: remove i2c-puv3  driver
        cpufreq: remove unicore32 driver
        arch: remove unicore32 port
      05119217
    • Linus Torvalds's avatar
      Merge tag 's390-5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 45365a06
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
      
       - Add support for function error injection.
      
       - Add support for custom exception handlers, as required by
         BPF_PROBE_MEM.
      
       - Add support for BPF_PROBE_MEM.
      
       - Add trace events for idle enter / exit for the s390 specific idle
         implementation.
      
       - Remove unused zcore memmmap device.
      
       - Remove unused "raw view" from s390 debug feature.
      
       - AP bus + zcrypt device driver code refactoring.
      
       - Provide cex4 cca sysfs attributes for cex3 for zcrypt device driver.
      
       - Expose only minimal interface to walk physmem for mm/memblock. This
         is a common code change and it has been agreed on with Mike Rapoport
         and Andrew Morton that this can go upstream via the s390 tree.
      
       - Rework of the s390 vmem/vmmemap code to allow for future memory hot
         remove.
      
       - Get rid of FORCE_MAX_ZONEORDER to finally allow for order-10
         allocations again, instead of only order-8 allocations.
      
       - Various small improvements and fixes.
      
      * tag 's390-5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (48 commits)
        s390/vmemmap: coding style updates
        s390/vmemmap: avoid memset(PAGE_UNUSED) when adding consecutive sections
        s390/vmemmap: remember unused sub-pmd ranges
        s390/vmemmap: fallback to PTEs if mapping large PMD fails
        s390/vmem: cleanup empty page tables
        s390/vmemmap: take the vmem_mutex when populating/freeing
        s390/vmemmap: cleanup when vmemmap_populate() fails
        s390/vmemmap: extend modify_pagetable() to handle vmemmap
        s390/vmem: consolidate vmem_add_range() and vmem_remove_range()
        s390/vmem: rename vmem_add_mem() to vmem_add_range()
        s390: enable HAVE_FUNCTION_ERROR_INJECTION
        s390/pci: clarify comment in s390_mmio_read/write
        s390/time: improve comparison for tod steering
        s390/time: select CLOCKSOURCE_VALIDATE_LAST_CYCLE
        s390/time: use CLOCKSOURCE_MASK
        s390/bpf: implement BPF_PROBE_MEM
        s390/kernel: expand exception table logic to allow new handling options
        s390/kernel: unify EX_TABLE* implementations
        s390/mm: allow order 10 allocations
        s390/mm: avoid trimming to MAX_ORDER
        ...
      45365a06