Skip to content
  1. Sep 08, 2021
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: hybrid: Rework HWP calibration · 46573fd6
      Rafael J. Wysocki authored
      
      
      The current HWP calibration for hybrid processors in intel_pstate is
      fragile, because it depends too much on the information provided by
      the platform firmware via CPPC which may not be reliable enough.  It
      also need not be so complicated.
      
      In order to improve that mechanism and make it more resistant to
      platform firmware issues, make it only use the CPPC nominal_perf
      values to compute the HWP-to-frequency scaling factors for all
      CPUs and possibly use the HWP_CAP highest_perf values to recompute
      them if the ones derived from the CPPC nominal_perf values alone
      appear to be too high.
      
      Namely, fetch CPC.nominal_perf for all CPUs present in the system,
      find the minimum one and use it as a reference for computing all of
      the CPUs' scaling factors (using the observation that for the CPUs
      having the minimum CPC.nominal_perf the HWP range of available
      performance levels should be the same as the range of available
      "legacy" P-states and so the HWP-to-frequency scaling factor for
      them should be the same as the corresponding scaling factor used
      for representing the P-state values in kHz).
      
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Tested-by: default avatarZhang Rui <rui.zhang@intel.com>
      46573fd6
    • Rafael J. Wysocki's avatar
      ACPI: CPPC: Introduce cppc_get_nominal_perf() · 0654cf05
      Rafael J. Wysocki authored
      
      
      On some systems the nominal_perf value retrieved via CPPC is just
      a constant and fetching it doesn't require accessing any registers,
      so if it is the only CPPC capability that's needed, it is wasteful
      to run cppc_get_perf_caps() in order to get just that value alone,
      especially when this is done for CPUs other than the one running
      the code.
      
      For this reason, introduce cppc_get_nominal_perf() allowing
      nominal_perf to be obtained individually, by generalizing the
      existing cppc_get_desired_perf() (and renaming it) so it can be
      used to retrieve any specific CPPC capability value.
      
      While at it, clean up the cppc_get_desired_perf() kerneldoc comment
      a bit.
      
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0654cf05
  2. Sep 07, 2021
  3. Sep 06, 2021
  4. Sep 03, 2021
  5. Aug 31, 2021
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm · b2a6181e
      Rafael J. Wysocki authored
      Pull ARM cpufreq driver changes for v5.15 from Viresh Kumar:
      
      "This contains:
      
       - Update cpufreq-dt blocklist with more platforms (Bjorn Andersson).
      
       - Allow freq changes from any CPU for qcom-hw driver (Taniya Das).
      
       - Add DSVS interrupt's support for qcom-hw driver (Thara Gopinath).
      
       - A new callback (->register_em()) to register EM at a more convenient
         point of time."
      
      * 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
        cpufreq: qcom-hw: Set dvfs_possible_from_any_cpu cpufreq driver flag
        cpufreq: blocklist more Qualcomm platforms in cpufreq-dt-platdev
        cpufreq: qcom-cpufreq-hw: Add dcvs interrupt support
        cpufreq: scmi: Use .register_em() to register with energy model
        cpufreq: vexpress: Use .register_em() to register with energy model
        cpufreq: scpi: Use .register_em() to register with energy model
        cpufreq: qcom-cpufreq-hw: Use .register_em() to register with energy model
        cpufreq: omap: Use .register_em() to register with energy model
        cpufreq: mediatek: Use .register_em() to register with energy model
        cpufreq: imx6q: Use .register_em() to register with energy model
        cpufreq: dt: Use .register_em() to register with energy model
        cpufreq: Add callback to register with energy model
        cpufreq: vexpress: Set CPUFREQ_IS_COOLING_DEV flag
      b2a6181e
  6. Aug 30, 2021
  7. Aug 26, 2021
  8. Aug 23, 2021
  9. Aug 18, 2021
  10. Aug 16, 2021
    • Linus Torvalds's avatar
      Linux 5.14-rc6 · 7c60610d
      Linus Torvalds authored
      7c60610d
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · ecf93431
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix crashes coming out of nap on 32-bit Book3s (eg. powerbooks).
      
       - Fix critical and debug interrupts on BookE, seen as crashes when
         using ptrace.
      
       - Fix an oops when running an SMP kernel on a UP system.
      
       - Update pseries LPAR security flavor after partition migration.
      
       - Fix an oops when using kprobes on BookE.
      
       - Fix oops on 32-bit pmac by not calling do_IRQ() from
         timer_interrupt().
      
       - Fix softlockups on CPU hotplug into a CPU-less node with xive (P9).
      
      Thanks to Cédric Le Goater, Christophe Leroy, Finn Thain, Geetika
      Moolchandani, Laurent Dufour, Laurent Vivier, Nicholas Piggin, Pu Lehui,
      Radu Rendec, Srikar Dronamraju, and Stan Johnson.
      
      * tag 'powerpc-5.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/xive: Do not skip CPU-less nodes when creating the IPIs
        powerpc/interrupt: Do not call single_step_exception() from other exceptions
        powerpc/interrupt: Fix OOPS by not calling do_IRQ() from timer_interrupt()
        powerpc/kprobes: Fix kprobe Oops happens in booke
        powerpc/pseries: Fix update of LPAR security flavor after LPM
        powerpc/smp: Fix OOPS in topology_init()
        powerpc/32: Fix critical and debug interrupts on BOOKE
        powerpc/32s: Fix napping restore in data storage interrupt (DSI)
      ecf93431
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2021-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c4f14eac
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of fixes for PCI/MSI and x86 interrupt startup:
      
         - Mask all MSI-X entries when enabling MSI-X otherwise stale unmasked
           entries stay around e.g. when a crashkernel is booted.
      
         - Enforce masking of a MSI-X table entry when updating it, which
           mandatory according to speification
      
         - Ensure that writes to MSI[-X} tables are flushed.
      
         - Prevent invalid bits being set in the MSI mask register
      
         - Properly serialize modifications to the mask cache and the mask
           register for multi-MSI.
      
         - Cure the violation of the affinity setting rules on X86 during
           interrupt startup which can cause lost and stale interrupts. Move
           the initial affinity setting ahead of actualy enabling the
           interrupt.
      
         - Ensure that MSI interrupts are completely torn down before freeing
           them in the error handling case.
      
         - Prevent an array out of bounds access in the irq timings code"
      
      * tag 'irq-urgent-2021-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        driver core: Add missing kernel doc for device::msi_lock
        genirq/msi: Ensure deactivation on teardown
        genirq/timings: Prevent potential array overflow in __irq_timings_store()
        x86/msi: Force affinity setup before startup
        x86/ioapic: Force affinity setup before startup
        genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP
        PCI/MSI: Protect msi_desc::masked for multi-MSI
        PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown()
        PCI/MSI: Correct misleading comments
        PCI/MSI: Do not set invalid bits in MSI mask
        PCI/MSI: Enforce MSI[X] entry updates to be visible
        PCI/MSI: Enforce that MSI-X table entry is masked for update
        PCI/MSI: Mask all unused MSI-X entries
        PCI/MSI: Enable and mask MSI-X early
      c4f14eac
    • Linus Torvalds's avatar
      Merge tag 'locking_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 839da253
      Linus Torvalds authored
      Pull locking fix from Borislav Petkov:
      
       - Fix a CONFIG symbol's spelling
      
      * tag 'locking_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/rtmutex: Use the correct rtmutex debugging config option
      839da253
    • Linus Torvalds's avatar
      Merge tag 'efi_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 12aef8ac
      Linus Torvalds authored
      Pull EFI fixes from Borislav Petkov:
       "A batch of fixes for the arm64 stub image loader:
      
         - fix a logic bug that can make the random page allocator fail
           spuriously
      
         - force reallocation of the Image when it overlaps with firmware
           reserved memory regions
      
         - fix an oversight that defeated on optimization introduced earlier
           where images loaded at a suitable offset are never moved if booting
           without randomization
      
         - complain about images that were not loaded at the right offset by
           the firmware image loader"
      
      * tag 'efi_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/libstub: arm64: Double check image alignment at entry
        efi/libstub: arm64: Warn when efi_random_alloc() fails
        efi/libstub: arm64: Relax 2M alignment again for relocatable kernels
        efi/libstub: arm64: Force Image reallocation if BSS was not reserved
        arm64: efi: kaslr: Fix occasional random alloc (and boot) failure
      12aef8ac
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b045b8cc
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
       "Two fixes:
      
         - An objdump checker fix to ignore parenthesized strings in the
           objdump version
      
         - Fix resctrl default monitoring groups reporting when new subgroups
           get created"
      
      * tag 'x86_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Fix default monitoring groups reporting
        x86/tools: Fix objdump version check again
      b045b8cc
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 3e763ec7
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "ARM:
      
         - Plug race between enabling MTE and creating vcpus
      
         - Fix off-by-one bug when checking whether an address range is RAM
      
        x86:
      
         - Fixes for the new MMU, especially a memory leak on hosts with <39
           physical address bits
      
         - Remove bogus EFER.NX checks on 32-bit non-PAE hosts
      
         - WAITPKG fix"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86/mmu: Protect marking SPs unsync when using TDP MMU with spinlock
        KVM: x86/mmu: Don't step down in the TDP iterator when zapping all SPTEs
        KVM: x86/mmu: Don't leak non-leaf SPTEs when zapping all SPTEs
        KVM: nVMX: Use vmx_need_pf_intercept() when deciding if L0 wants a #PF
        kvm: vmx: Sync all matching EPTPs when injecting nested EPT fault
        KVM: x86: remove dead initialization
        KVM: x86: Allow guest to set EFER.NX=1 on non-PAE 32-bit kernels
        KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation
        KVM: arm64: Fix race when enabling KVM_ARM_CAP_MTE
        KVM: arm64: Fix off-by-one in range_is_memory
      3e763ec7
  11. Aug 15, 2021
  12. Aug 14, 2021