1. 16 Jul, 2024 5 commits
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-mmu-6.11' of https://github.com/kvm-x86/linux into HEAD · 34b69ede
      Paolo Bonzini authored
      KVM x86 MMU changes for 6.11
      
       - Don't allocate kvm_mmu_page.shadowed_translation for shadow pages that can't
         hold leafs SPTEs.
      
       - Unconditionally drop mmu_lock when allocating TDP MMU page tables for eager
         page splitting to avoid stalling vCPUs when splitting huge pages.
      
       - Misc cleanups
      34b69ede
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-misc-6.11' of https://github.com/kvm-x86/linux into HEAD · 5dcc1e76
      Paolo Bonzini authored
      KVM x86 misc changes for 6.11
      
       - Add a global struct to consolidate tracking of host values, e.g. EFER, and
         move "shadow_phys_bits" into the structure as "maxphyaddr".
      
       - Add KVM_CAP_X86_APIC_BUS_CYCLES_NS to allow configuring the effective APIC
         bus frequency, because TDX.
      
       - Print the name of the APICv/AVIC inhibits in the relevant tracepoint.
      
       - Clean up KVM's handling of vendor specific emulation to consistently act on
         "compatible with Intel/AMD", versus checking for a specific vendor.
      
       - Misc cleanups
      5dcc1e76
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-generic-6.11' of https://github.com/kvm-x86/linux into HEAD · 86014c1e
      Paolo Bonzini authored
      KVM generic changes for 6.11
      
       - Enable halt poll shrinking by default, as Intel found it to be a clear win.
      
       - Setup empty IRQ routing when creating a VM to avoid having to synchronize
         SRCU when creating a split IRQCHIP on x86.
      
       - Rework the sched_in/out() paths to replace kvm_arch_sched_in() with a flag
         that arch code can use for hooking both sched_in() and sched_out().
      
       - Take the vCPU @id as an "unsigned long" instead of "u32" to avoid
         truncating a bogus value from userspace, e.g. to help userspace detect bugs.
      
       - Mark a vCPU as preempted if and only if it's scheduled out while in the
         KVM_RUN loop, e.g. to avoid marking it preempted and thus writing guest
         memory when retrieving guest state during live migration blackout.
      
       - A few minor cleanups
      86014c1e
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-fixes-6.10-11' of https://github.com/kvm-x86/linux into HEAD · f4501e8b
      Paolo Bonzini authored
      KVM Xen:
      
      Fix a bug where KVM fails to check the validity of an incoming userspace
      virtual address and tries to activate a gfn_to_pfn_cache with a kernel address.
      f4501e8b
    • Paolo Bonzini's avatar
      Merge tag 'kvmarm-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD · 1c5a0b55
      Paolo Bonzini authored
      KVM/arm64 changes for 6.11
      
       - Initial infrastructure for shadow stage-2 MMUs, as part of nested
         virtualization enablement
      
       - Support for userspace changes to the guest CTR_EL0 value, enabling
         (in part) migration of VMs between heterogenous hardware
      
       - Fixes + improvements to pKVM's FF-A proxy, adding support for v1.1 of
         the protocol
      
       - FPSIMD/SVE support for nested, including merged trap configuration
         and exception routing
      
       - New command-line parameter to control the WFx trap behavior under KVM
      
       - Introduce kCFI hardening in the EL2 hypervisor
      
       - Fixes + cleanups for handling presence/absence of FEAT_TCRX
      
       - Miscellaneous fixes + documentation updates
      1c5a0b55
  2. 14 Jul, 2024 8 commits
    • Oliver Upton's avatar
      Merge branch kvm-arm64/docs into kvmarm/next · bb032b23
      Oliver Upton authored
      * kvm-arm64/docs:
        : KVM Documentation fixes, courtesy of Changyuan Lyu
        :
        : Small set of typo fixes / corrections to the KVM API documentation
        : relating to MSIs and arm64 VGIC UAPI.
        MAINTAINERS: Include documentation in KVM/arm64 entry
        KVM: Documentation: Correct the VGIC V2 CPU interface addr space size
        KVM: Documentation: Enumerate allowed value macros of `irq_type`
        KVM: Documentation: Fix typo `BFD`
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      bb032b23
    • Oliver Upton's avatar
      Merge branch kvm-arm64/nv-tcr2 into kvmarm/next · bc2e3253
      Oliver Upton authored
      * kvm-arm64/nv-tcr2:
        : Fixes to the handling of TCR_EL1, courtesy of Marc Zyngier
        :
        : Series addresses a couple gaps that are present in KVM (from cover
        : letter):
        :
        :   - VM configuration: HCRX_EL2.TCR2En is forced to 1, and we blindly
        :     save/restore stuff.
        :
        :   - trap bit description and routing: none, obviously, since we make a
        :     point in not trapping.
        KVM: arm64: Honor trap routing for TCR2_EL1
        KVM: arm64: Make PIR{,E0}_EL1 save/restore conditional on FEAT_TCRX
        KVM: arm64: Make TCR2_EL1 save/restore dependent on the VM features
        KVM: arm64: Get rid of HCRX_GUEST_FLAGS
        KVM: arm64: Correctly honor the presence of FEAT_TCRX
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      bc2e3253
    • Oliver Upton's avatar
      Merge branch kvm-arm64/nv-sve into kvmarm/next · 8c2899e7
      Oliver Upton authored
      * kvm-arm64/nv-sve:
        : CPTR_EL2, FPSIMD/SVE support for nested
        :
        : This series brings support for honoring the guest hypervisor's CPTR_EL2
        : trap configuration when running a nested guest, along with support for
        : FPSIMD/SVE usage at L1 and L2.
        KVM: arm64: Allow the use of SVE+NV
        KVM: arm64: nv: Add additional trap setup for CPTR_EL2
        KVM: arm64: nv: Add trap description for CPTR_EL2
        KVM: arm64: nv: Add TCPAC/TTA to CPTR->CPACR conversion helper
        KVM: arm64: nv: Honor guest hypervisor's FP/SVE traps in CPTR_EL2
        KVM: arm64: nv: Load guest FP state for ZCR_EL2 trap
        KVM: arm64: nv: Handle CPACR_EL1 traps
        KVM: arm64: Spin off helper for programming CPTR traps
        KVM: arm64: nv: Ensure correct VL is loaded before saving SVE state
        KVM: arm64: nv: Use guest hypervisor's max VL when running nested guest
        KVM: arm64: nv: Save guest's ZCR_EL2 when in hyp context
        KVM: arm64: nv: Load guest hyp's ZCR into EL1 state
        KVM: arm64: nv: Handle ZCR_EL2 traps
        KVM: arm64: nv: Forward SVE traps to guest hypervisor
        KVM: arm64: nv: Forward FP/ASIMD traps to guest hypervisor
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      8c2899e7
    • Oliver Upton's avatar
      Merge branch kvm-arm64/el2-kcfi into kvmarm/next · 1270dad3
      Oliver Upton authored
      * kvm-arm64/el2-kcfi:
        : kCFI support in the EL2 hypervisor, courtesy of Pierre-Clément Tosi
        :
        : Enable the usage fo CONFIG_CFI_CLANG (kCFI) for hardening indirect
        : branches in the EL2 hypervisor. Unlike kernel support for the feature,
        : CFI failures at EL2 are always fatal.
        KVM: arm64: nVHE: Support CONFIG_CFI_CLANG at EL2
        KVM: arm64: Introduce print_nvhe_hyp_panic helper
        arm64: Introduce esr_brk_comment, esr_is_cfi_brk
        KVM: arm64: VHE: Mark __hyp_call_panic __noreturn
        KVM: arm64: nVHE: gen-hyprel: Skip R_AARCH64_ABS32
        KVM: arm64: nVHE: Simplify invalid_host_el2_vect
        KVM: arm64: Fix __pkvm_init_switch_pgd call ABI
        KVM: arm64: Fix clobbered ELR in sync abort/SError
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      1270dad3
    • Oliver Upton's avatar
      Merge branch kvm-arm64/ctr-el0 into kvmarm/next · 377d0e5d
      Oliver Upton authored
      * kvm-arm64/ctr-el0:
        : Support for user changes to CTR_EL0, courtesy of Sebastian Ott
        :
        : Allow userspace to change the guest-visible value of CTR_EL0 for a VM,
        : so long as the requested value represents a subset of features supported
        : by hardware. In other words, prevent the VMM from over-promising the
        : capabilities of hardware.
        :
        : Make this happen by fitting CTR_EL0 into the existing infrastructure for
        : feature ID registers.
        KVM: selftests: Assert that MPIDR_EL1 is unchanged across vCPU reset
        KVM: arm64: nv: Unfudge ID_AA64PFR0_EL1 masking
        KVM: selftests: arm64: Test writes to CTR_EL0
        KVM: arm64: rename functions for invariant sys regs
        KVM: arm64: show writable masks for feature registers
        KVM: arm64: Treat CTR_EL0 as a VM feature ID register
        KVM: arm64: unify code to prepare traps
        KVM: arm64: nv: Use accessors for modifying ID registers
        KVM: arm64: Add helper for writing ID regs
        KVM: arm64: Use read-only helper for reading VM ID registers
        KVM: arm64: Make idregs debugfs iterator search sysreg table directly
        KVM: arm64: Get sys_reg encoding from descriptor in idregs_debug_show()
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      377d0e5d
    • Oliver Upton's avatar
      Merge branch kvm-arm64/shadow-mmu into kvmarm/next · 435a9f60
      Oliver Upton authored
      * kvm-arm64/shadow-mmu:
        : Shadow stage-2 MMU support for NV, courtesy of Marc Zyngier
        :
        : Initial implementation of shadow stage-2 page tables to support a guest
        : hypervisor. In the author's words:
        :
        :   So here's the 10000m (approximately 30000ft for those of you stuck
        :   with the wrong units) view of what this is doing:
        :
        :     - for each {VMID,VTTBR,VTCR} tuple the guest uses, we use a
        :       separate shadow s2_mmu context. This context has its own "real"
        :       VMID and a set of page tables that are the combination of the
        :       guest's S2 and the host S2, built dynamically one fault at a time.
        :
        :     - these shadow S2 contexts are ephemeral, and behave exactly as
        :       TLBs. For all intent and purposes, they *are* TLBs, and we discard
        :       them pretty often.
        :
        :     - TLB invalidation takes three possible paths:
        :
        :       * either this is an EL2 S1 invalidation, and we directly emulate
        :         it as early as possible
        :
        :       * or this is an EL1 S1 invalidation, and we need to apply it to
        :         the shadow S2s (plural!) that match the VMID set by the L1 guest
        :
        :       * or finally, this is affecting S2, and we need to teardown the
        :         corresponding part of the shadow S2s, which invalidates the TLBs
        KVM: arm64: nv: Truely enable nXS TLBI operations
        KVM: arm64: nv: Add handling of NXS-flavoured TLBI operations
        KVM: arm64: nv: Add handling of range-based TLBI operations
        KVM: arm64: nv: Add handling of outer-shareable TLBI operations
        KVM: arm64: nv: Invalidate TLBs based on shadow S2 TTL-like information
        KVM: arm64: nv: Tag shadow S2 entries with guest's leaf S2 level
        KVM: arm64: nv: Handle FEAT_TTL hinted TLB operations
        KVM: arm64: nv: Handle TLBI IPAS2E1{,IS} operations
        KVM: arm64: nv: Handle TLBI ALLE1{,IS} operations
        KVM: arm64: nv: Handle TLBI VMALLS12E1{,IS} operations
        KVM: arm64: nv: Handle TLB invalidation targeting L2 stage-1
        KVM: arm64: nv: Handle EL2 Stage-1 TLB invalidation
        KVM: arm64: nv: Add Stage-1 EL2 invalidation primitives
        KVM: arm64: nv: Unmap/flush shadow stage 2 page tables
        KVM: arm64: nv: Handle shadow stage 2 page faults
        KVM: arm64: nv: Implement nested Stage-2 page table walk logic
        KVM: arm64: nv: Support multiple nested Stage-2 mmu structures
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      435a9f60
    • Oliver Upton's avatar
      Merge branch kvm-arm64/ffa-1p1 into kvmarm/next · a35d5b20
      Oliver Upton authored
      * kvm-arm64/ffa-1p1:
        : Improvements to the pKVM FF-A Proxy, courtesy of Sebastian Ene
        :
        : Various minor improvements to how host FF-A calls are proxied with the
        : TEE, along with support for v1.1 of the protocol.
        KVM: arm64: Use FF-A 1.1 with pKVM
        KVM: arm64: Update the identification range for the FF-A smcs
        KVM: arm64: Add support for FFA_PARTITION_INFO_GET
        KVM: arm64: Trap FFA_VERSION host call in pKVM
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      a35d5b20
    • Oliver Upton's avatar
      Merge branch kvm-arm64/misc into kvmarm/next · bd2e9513
      Oliver Upton authored
      * kvm-arm64/misc:
        : Miscellaneous updates
        :
        :  - Provide a command-line parameter to statically control the WFx trap
        :    selection in KVM
        :
        :  - Make sysreg masks allocation accounted
        Revert "KVM: arm64: nv: Fix RESx behaviour of disabled FGTs with negative polarity"
        KVM: arm64: nv: Use GFP_KERNEL_ACCOUNT for sysreg_masks allocation
        KVM: arm64: nv: Fix RESx behaviour of disabled FGTs with negative polarity
        KVM: arm64: Add early_param to control WFx trapping
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      bd2e9513
  3. 12 Jul, 2024 13 commits
  4. 10 Jul, 2024 1 commit
    • Bibo Mao's avatar
      perf kvm: Add kvm-stat for loongarch64 · 492ac37f
      Bibo Mao authored
      Add support for 'perf kvm stat' on loongarch64 platform, now only kvm
      exit event is supported.
      
      Here is example output about "perf kvm --host stat report" command
      
         Event name   Samples   Sample%     Time (ns)   Time%   Mean Time (ns)
          Mem Store     83969    51.00%     625697070   8.00%             7451
           Mem Read     37641    22.00%     112485730   1.00%             2988
          Interrupt     15542     9.00%      20620190   0.00%             1326
              IOCSR     15207     9.00%      94296190   1.00%             6200
          Hypercall      4873     2.00%      12265280   0.00%             2516
               Idle      3713     2.00%    6322055860  87.00%          1702681
                FPU      1819     1.00%       2750300   0.00%             1511
         Inst Fetch       502     0.00%       1341740   0.00%             2672
         Mem Modify       324     0.00%        602240   0.00%             1858
             CPUCFG        55     0.00%         77610   0.00%             1411
                CSR        12     0.00%         19690   0.00%             1640
               LASX         3     0.00%          4870   0.00%             1623
                LSX         2     0.00%          2100   0.00%             1050
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      492ac37f
  5. 09 Jul, 2024 10 commits
    • Bibo Mao's avatar
      LoongArch: KVM: Add PV steal time support in guest side · 03779999
      Bibo Mao authored
      Per-cpu struct kvm_steal_time is added here, its size is 64 bytes and
      also defined as 64 bytes, so that the whole structure is in one physical
      page.
      
      When a VCPU is online, function pv_enable_steal_time() is called. This
      function will pass guest physical address of struct kvm_steal_time and
      tells hypervisor to enable steal time. When a vcpu is offline, physical
      address is set as 0 and tells hypervisor to disable steal time.
      
      Here is an output of vmstat on guest when there is workload on both host
      and guest. It shows steal time stat information.
      
      procs -----------memory---------- -----io---- -system-- ------cpu-----
       r  b   swpd   free  inact active   bi    bo   in   cs us sy id wa st
      15  1      0 7583616 184112  72208    20    0  162   52 31  6 43  0 20
      17  0      0 7583616 184704  72192    0     0 6318 6885  5 60  8  5 22
      16  0      0 7583616 185392  72144    0     0 1766 1081  0 49  0  1 50
      16  0      0 7583616 184816  72304    0     0 6300 6166  4 62 12  2 20
      18  0      0 7583632 184480  72240    0     0 2814 1754  2 58  4  1 35
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      03779999
    • Bibo Mao's avatar
      LoongArch: KVM: Add PV steal time support in host side · b4ba1570
      Bibo Mao authored
      Add ParaVirt steal time feature in host side, VM can search supported
      features provided by KVM hypervisor, a feature KVM_FEATURE_STEAL_TIME
      is added here. Like x86, steal time structure is saved in guest memory,
      one hypercall function KVM_HCALL_FUNC_NOTIFY is added to notify KVM to
      enable this feature.
      
      One CPU attr ioctl command KVM_LOONGARCH_VCPU_PVTIME_CTRL is added to
      save and restore the base address of steal time structure when a VM is
      migrated.
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      b4ba1570
    • Jia Qingtong's avatar
      LoongArch: KVM: always make pte young in page map's fast path · d7ad41a3
      Jia Qingtong authored
      It seems redundant to check if pte is young before the call to
      kvm_pte_mkyoung() in kvm_map_page_fast(). Just remove the check.
      Reviewed-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarJia Qingtong <jiaqingtong97@gmail.com>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      d7ad41a3
    • Bibo Mao's avatar
      LoongArch: KVM: Mark page accessed and dirty with page ref added · ebf00272
      Bibo Mao authored
      Function kvm_map_page_fast() is fast path of secondary mmu page fault
      flow, pfn is parsed from secondary mmu page table walker. However the
      corresponding page reference is not added, it is dangerious to access
      page out of mmu_lock.
      
      Here page ref is added inside mmu_lock, function kvm_set_pfn_accessed()
      and kvm_set_pfn_dirty() is called with page ref added, so that the page
      will not be freed by others.
      
      Also kvm_set_pfn_accessed() is removed here since it is called in the
      following function kvm_release_pfn_clean().
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      ebf00272
    • Bibo Mao's avatar
      LoongArch: KVM: Add dirty bitmap initially all set support · 8c347042
      Bibo Mao authored
      Add KVM_DIRTY_LOG_INITIALLY_SET support on LoongArch system, this
      feature comes from other architectures like x86 and arm64.
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      8c347042
    • Bibo Mao's avatar
      LoongArch: KVM: Add memory barrier before update pmd entry · 32d4b999
      Bibo Mao authored
      When updating pmd entry such as allocating new pmd page or splitting
      huge page into normal page, it is necessary to firstly update all pte
      entries, and then update pmd entry.
      
      It is weak order with LoongArch system, there will be problem if other
      VCPUs see pmd update firstly while ptes are not updated. Here smp_wmb()
      is added to assure this.
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      32d4b999
    • Bibo Mao's avatar
      LoongArch: KVM: Discard dirty page tracking on readonly memslot · b072cbf0
      Bibo Mao authored
      For readonly memslot such as UEFI BIOS or UEFI var space, guest cannot
      write this memory space directly. So it is not necessary to track dirty
      pages for readonly memslot. Here we make such optimization in function
      kvm_arch_commit_memory_region().
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      b072cbf0
    • Bibo Mao's avatar
      LoongArch: KVM: Select huge page only if secondary mmu supports it · 2f56f9ea
      Bibo Mao authored
      Currently page level selection about secondary mmu depends on memory
      slot and page level about host mmu. There will be problems if page level
      of secondary mmu is zero already. Huge page cannot be selected if there is
      normal page mapped in secondary mmu already, since it is not supported to
      merge normal pages into huge pages now.
      
      So page level selection should depend on the following three conditions.
       1. Memslot is aligned for huge page and vm is not migrating.
       2. Page level of host mmu is also huge page.
       3. Page level of secondary mmu is suituable for huge page.
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      2f56f9ea
    • Bibo Mao's avatar
      LoongArch: KVM: Delay secondary mmu tlb flush until guest entry · b5d4e232
      Bibo Mao authored
      With hardware assisted virtualization, there are two level HW mmu, one
      is GVA to GPA mapping, the other is GPA to HPA mapping which is called
      secondary mmu in generic. If there is page fault for secondary mmu,
      there needs tlb flush operation indexed with fault GPA address and VMID.
      VMID is stored at register CSR.GSTAT and will be reload or recalculated
      before guest entry.
      
      Currently CSR.GSTAT is not saved and restored during VCPU context
      switch, instead it is recalculated during guest entry. So CSR.GSTAT is
      effective only when a VCPU runs in guest mode, however it may not be
      effective if the VCPU exits to host mode. Since register CSR.GSTAT may
      be stale, it may records the VMID of the last schedule-out VCPU, rather
      than the current VCPU.
      
      Function kvm_flush_tlb_gpa() should be called with its real VMID, so
      here move it to the guest entrance. Also an arch-specific request id
      KVM_REQ_TLB_FLUSH_GPA is added to flush tlb for secondary mmu, and it
      can be optimized if VMID is updated, since all guest tlb entries will
      be invalid if VMID is updated.
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      b5d4e232
    • Bibo Mao's avatar
      LoongArch: KVM: Sync pending interrupt when getting ESTAT from user mode · e306e514
      Bibo Mao authored
      Currently interrupts are posted and cleared with the asynchronous mode,
      meanwhile they are saved in SW state vcpu::arch::irq_pending and vcpu::
      arch::irq_clear. When vcpu is ready to run, pending interrupt is written
      back to CSR.ESTAT register from SW state vcpu::arch::irq_pending at the
      guest entrance.
      
      During VM migration stage, vcpu is put into stopped state, however
      pending interrupts are not synced to CSR.ESTAT register. So there will
      be interrupt lost when VCPU is migrated to another host machines.
      
      Here in this patch when ESTAT CSR register is read from VMM user mode,
      pending interrupts are synchronized to ESTAT also. So that VMM can get
      correct pending interrupts.
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      e306e514
  6. 08 Jul, 2024 1 commit
  7. 07 Jul, 2024 2 commits
    • Linus Torvalds's avatar
      Linux 6.10-rc7 · 256abd8e
      Linus Torvalds authored
      256abd8e
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 5a4bd506
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "A set of clk fixes for the Qualcomm, Mediatek, and Allwinner drivers:
      
         - Fix the Qualcomm Stromer Plus PLL set_rate() clk_op to explicitly
           set the alpha enable bit and not set bits that don't exist
      
         - Mark Qualcomm IPQ9574 crypto clks as voted to avoid stuck clk
           warnings
      
         - Fix the parent of some PLLs on Qualcomm sm6530 so their rate is
           correct
      
         - Fix the min/max rate clamping logic in the Allwinner driver that
           got broken in v6.9
      
         - Limit runtime PM enabling in the Mediatek driver to only
           mt8183-mfgcfg so that system wide resume doesn't break on other
           Mediatek SoCs"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: mediatek: mt8183: Only enable runtime PM on mt8183-mfgcfg
        clk: sunxi-ng: common: Don't call hw_to_ccu_common on hw without common
        clk: qcom: gcc-ipq9574: Add BRANCH_HALT_VOTED flag
        clk: qcom: apss-ipq-pll: remove 'config_ctl_hi_val' from Stromer pll configs
        clk: qcom: clk-alpha-pll: set ALPHA_EN bit for Stromer Plus PLLs
        clk: qcom: gcc-sm6350: Fix gpll6* & gpll7 parents
      5a4bd506