1. Dec 31, 2021
  2. Dec 30, 2021
    • Huang Rui's avatar
      x86/cpufeatures: Add AMD Collaborative Processor Performance Control feature flag · d341db8f
      Huang Rui authored
      
      
      Add Collaborative Processor Performance Control feature flag for AMD
      processors.
      
      This feature flag will be used on the following AMD P-State driver. The
      AMD P-State driver has two approaches to implement the frequency control
      behavior. That depends on the CPU hardware implementation. One is "Full
      MSR Support" and another is "Shared Memory Support". The feature flag
      indicates the current processors with "Full MSR Support".
      
      Acked-by: default avatarBorislav Petkov <bp@suse.de>
      Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d341db8f
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm · 5ee22fa4
      Rafael J. Wysocki authored
      Pull ARM cpufreq updates for 5.17-rc1 from Viresh Kumar:
      
      "- Qcom cpufreq driver updates improve irq support (Ard Biesheuvel, Stephen Boyd,
         and Vladimir Zapolskiy).
      
       - Fixes double devm_remap for mediatek driver (Hector Yuan).
      
       - Introduces thermal pressure helpers (Lukasz Luba)."
      
      * 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
        cpufreq: mediatek-hw: Fix double devm_remap in hotplug case
        cpufreq: qcom-hw: Use optional irq API
        cpufreq: qcom-hw: Set CPU affinity of dcvsh interrupts
        cpufreq: qcom-hw: Fix probable nested interrupt handling
        cpufreq: qcom-cpufreq-hw: Avoid stack buffer for IRQ name
        arch_topology: Remove unused topology_set_thermal_pressure() and related
        cpufreq: qcom-cpufreq-hw: Use new thermal pressure update function
        cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure
        thermal: cpufreq_cooling: Use new thermal pressure update function
        arch_topology: Introduce thermal pressure update function
      5ee22fa4
  3. Dec 29, 2021
  4. Dec 27, 2021
  5. Dec 23, 2021
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Update cpuinfo.max_freq on HWP_CAP changes · dfeeedc1
      Rafael J. Wysocki authored
      
      
      With HWP enabled, when the turbo range of performance levels is
      disabled by the platform firmware, the CPU capacity is given by
      the "guaranteed performance" field in MSR_HWP_CAPABILITIES which
      is generally dynamic.  When it changes, the kernel receives an HWP
      notification interrupt handled by notify_hwp_interrupt().
      
      When the "guaranteed performance" value changes in the above
      configuration, the CPU performance scaling needs to be adjusted so
      as to use the new CPU capacity in computations, which means that
      the cpuinfo.max_freq value needs to be updated for that CPU.
      
      Accordingly, modify intel_pstate_notify_work() to read
      MSR_HWP_CAPABILITIES and update cpuinfo.max_freq to reflect the
      new configuration (this update can be carried out even if the
      configuration doesn't actually change, because it simply doesn't
      matter then and it takes less time to update it than to do extra
      checks to decide whether or not a change has really occurred).
      
      Reported-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Tested-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      dfeeedc1
  6. Dec 17, 2021
    • Rafael J. Wysocki's avatar
      cpufreq: Fix initialization of min and max frequency QoS requests · 521223d8
      Rafael J. Wysocki authored
      
      
      The min and max frequency QoS requests in the cpufreq core are
      initialized to whatever the current min and max frequency values are
      at the init time, but if any of these values change later (for
      example, cpuinfo.max_freq is updated by the driver), these initial
      request values will be limiting the CPU frequency unnecessarily
      unless they are changed by user space via sysfs.
      
      To address this, initialize min_freq_req and max_freq_req to
      FREQ_QOS_MIN_DEFAULT_VALUE and FREQ_QOS_MAX_DEFAULT_VALUE,
      respectively, so they don't really limit anything until user
      space updates them.
      
      Reported-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Tested-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      521223d8
    • Srinivas Pandruvada's avatar
      cpufreq: intel_pstate: Update EPP for AlderLake mobile · b6e6f8be
      Srinivas Pandruvada authored
      
      
      There is an expectation from users that they can get frequency specified
      by cpufreq/cpuinfo_max_freq when conditions permit. But with AlderLake
      mobile it may not be possible. This is possible that frequency is clipped
      based on the system power-up EPP value. In this case users can update
      cpufreq/energy_performance_preference to some performance oriented EPP to
      limit clipping of frequencies.
      
      To get out of box behavior as the prior generations of CPUs, update EPP
      for AlderLake mobile CPUs on boot. On prior generations of CPUs EPP = 128
      was enough to get maximum frequency, but with AlderLake mobile the
      equivalent EPP is 102. Since EPP is model specific, this is possible that
      they have different meaning on each generation of CPU.
      
      The current EPP string "balance_performance" corresponds to EPP = 128.
      Change the EPP corresponding to "balance_performance" to 102 for only
      AlderLake mobile CPUs and update this on each CPU during boot.
      
      To implement reuse epp_values[] array and update the modified EPP at the
      index for BALANCE_PERFORMANCE. Add a dummy EPP_INDEX_DEFAULT to
      epp_values[] to match indexes in the energy_perf_strings[].
      
      After HWP PM is enabled also update EPP when "balance_performance" is
      redefined for the very first time after the boot on each CPU. On
      subsequent suspend/resume or offline/online the old EPP is restored,
      so no specific action is needed.
      
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b6e6f8be
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Drop redundant intel_pstate_get_hwp_cap() call · 458b03f8
      Rafael J. Wysocki authored
      
      
      It is not necessary to call intel_pstate_get_hwp_cap() from
      intel_pstate_update_perf_limits(), because it gets called from
      intel_pstate_verify_cpu_policy() which is either invoked directly
      right before intel_pstate_update_perf_limits(), in
      intel_cpufreq_verify_policy() in the passive mode, or called
      from driver callbacks in a sequence that causes it to be followed
      by an immediate intel_pstate_update_perf_limits().
      
      Namely, in the active mode intel_cpufreq_verify_policy() is called
      by intel_pstate_verify_policy() which is the ->verify() callback
      routine of intel_pstate and gets called by the cpufreq core right
      before intel_pstate_set_policy(), which is the driver's ->setoplicy()
      callback routine, where intel_pstate_update_perf_limits() is called.
      
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      458b03f8
  7. Dec 13, 2021
    • Linus Torvalds's avatar
      Linux 5.16-rc5 · 2585cf9d
      Linus Torvalds authored
      2585cf9d
    • Linus Torvalds's avatar
      Merge tag 'usb-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 90d9fbc1
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB fixes for 5.16-rc5.  They include:
      
         - gadget driver fixes for reported issues
      
         - xhci fixes for reported problems.
      
         - config endpoint parsing fixes for where we got bitfields wrong
      
        Most of these have been in linux-next, the remaining few were not, but
        got lots of local testing in my systems and in some cloud testing
        infrastructures"
      
      * tag 'usb-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: core: config: using bit mask instead of individual bits
        usb: core: config: fix validation of wMaxPacketValue entries
        USB: gadget: zero allocate endpoint 0 buffers
        USB: gadget: detect too-big endpoint 0 requests
        xhci: avoid race between disable slot command and host runtime suspend
        xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending
        Revert "usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default"
      90d9fbc1
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 8d7ed104
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are a bunch of small char/misc and other driver subsystem fixes.
      
        Included in here are:
      
         - iio driver fixes for reported problems
      
         - phy driver fixes for a number of reported problems
      
         - mhi resume bugfix for broken hardware
      
         - nvmem driver fix
      
         - rtsx driver fix for irq issues
      
         - fastrpc packet parsing fix
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (33 commits)
        bus: mhi: core: Add support for forced PM resume
        iio: trigger: stm32-timer: fix MODULE_ALIAS
        misc: rtsx: Avoid mangling IRQ during runtime PM
        nvmem: eeprom: at25: fix FRAM byte_len
        misc: fastrpc: fix improper packet size calculation
        MAINTAINERS: add maintainer for Qualcomm FastRPC driver
        bus: mhi: pci_generic: Fix device recovery failed issue
        iio: adc: stm32: fix null pointer on defer_probe error
        phy: HiSilicon: Fix copy and paste bug in error handling
        dt-bindings: phy: zynqmp-psgtr: fix USB phy name
        phy: ti: omap-usb2: Fix the kernel-doc style
        phy: qualcomm: ipq806x-usb: Fix kernel-doc style
        iio: at91-sama5d2: Fix incorrect sign extension
        iio: adc: axp20x_adc: fix charging current reporting on AXP22x
        iio: gyro: adxrs290: fix data signedness
        phy: ti: tusb1210: Fix the kernel-doc warn
        phy: qualcomm: usb-hsic: Fix the kernel-doc warn
        phy: qualcomm: qmp: Add missing struct documentation
        phy: mvebu-cp110-utmi: Fix kernel-doc warns
        iio: ad7768-1: Call iio_trigger_notify_done() on error
        ...
      8d7ed104
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c7fc5126
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "Two fixes for clock chip drivers:
      
         - A regression fix for the Designware APB timer. A recent change to
           the error checking code transformed the error condition wrongly so
           it turned into a fail if good condition.
      
         - Fix a clang build fail of the ARM architected timer driver"
      
      * tag 'timers-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/drivers/arm_arch_timer: Force inlining of erratum_set_next_event_generic()
        clocksource/drivers/dw_apb_timer_of: Fix probe failure
      c7fc5126
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 82d2ef45
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of interrupt chip driver fixes:
      
         - Fix the multi vector MSI allocation on Armada 370XP
      
         - Do interrupt acknowledgement correctly in the aspeed-scu driver
      
         - Make the IPR register offset correct in the NVIC driver
      
         - Make redistribution table flushing correct by issueing a SYNC
           command to ensure that the invalidation command has been executed
      
         - Plug a device tree node reference leak in the bcm7210-l2 driver
      
         - Trivial fixes in the MIPS GIC and the Apple AIC drivers"
      
      * tag 'irq-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/irq-bcm7120-l2: Add put_device() after of_find_device_by_node()
        irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL
        irqchip/apple-aic: Mark aic_init_smp() as __init
        irqchip: nvic: Fix offset for Interrupt Priority Offsets
        irqchip/mips-gic: Use bitfield helpers
        irqchip/aspeed-scu: Replace update_bits with write_bits.
        irqchip/armada-370-xp: Fix support for Multi-MSI interrupts
        irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc()
      82d2ef45
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 77360225
      Linus Torvalds authored
      Pull scheduler fix from Thomas Gleixner:
       "A single fix for the x86 scheduler topology:
      
        Using cluster topology on hybrid CPUs, e.g. Alder Lake, biases the
        scheduler towards the ATOM cluster as that has more total capacity.
        Use selection based on CPU priority instead"
      
      * tag 'sched-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched,x86: Don't use cluster topology for x86 hybrid CPUs
      77360225
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-5.16-rc5' of git://github.com/c-sky/csky-linux · 0f3d41e8
      Linus Torvalds authored
      Pull csky from Guo Ren:
       "Only one fix for csky: fix fpu config macro"
      
      * tag 'csky-for-linus-5.16-rc5' of git://github.com/c-sky/csky-linux:
        csky: fix typo of fpu config macro
      0f3d41e8
  8. Dec 12, 2021