/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | dt_cpu_ftrs.c | 71 u64 lpcr; member 82 u64 lpcr; in __restore_cpu_cpufeatures() local 96 lpcr = mfspr(SPRN_LPCR); in __restore_cpu_cpufeatures() 97 lpcr |= system_registers.lpcr; in __restore_cpu_cpufeatures() 98 lpcr &= ~system_registers.lpcr_clear; in __restore_cpu_cpufeatures() 99 mtspr(SPRN_LPCR, lpcr); in __restore_cpu_cpufeatures() 231 u64 lpcr; in feat_enable_hv() local 240 lpcr = mfspr(SPRN_LPCR); in feat_enable_hv() 241 lpcr in feat_enable_hv() 264 u64 lpcr; feat_enable_idle_nap() local 285 u64 lpcr; feat_enable_idle_stop() local 299 u64 lpcr; feat_enable_mmu_hash() local 318 u64 lpcr; feat_enable_mmu_hash_v3() local 347 u64 lpcr; feat_enable_dscr() local 551 u64 lpcr; feat_enable_dbell() local 567 u64 lpcr; feat_enable_hvi() local [all...] |
H A D | cpu_setup_power.c | 29 static void init_LPCR_ISA300(u64 lpcr, u64 lpes) in init_LPCR_ISA300() argument 32 lpcr |= (lpes << LPCR_LPES_SH) & LPCR_LPES; in init_LPCR_ISA300() 33 lpcr |= LPCR_PECE0|LPCR_PECE1|LPCR_PECE2; in init_LPCR_ISA300() 34 lpcr |= (4ull << LPCR_DPFD_SH) & LPCR_DPFD; in init_LPCR_ISA300() 35 lpcr &= ~LPCR_HDICE; /* clear HDICE */ in init_LPCR_ISA300() 36 lpcr |= (4ull << LPCR_VC_SH); in init_LPCR_ISA300() 37 mtspr(SPRN_LPCR, lpcr); in init_LPCR_ISA300() 54 static void init_LPCR_ISA206(u64 lpcr, u64 lpes) in init_LPCR_ISA206() argument 56 lpcr |= (0x10ull << LPCR_VRMASD_SH) & LPCR_VRMASD; in init_LPCR_ISA206() 57 init_LPCR_ISA300(lpcr, lpe in init_LPCR_ISA206() [all...] |
H A D | setup_64.c | 235 unsigned long lpcr = mfspr(SPRN_LPCR); in cpu_ready_for_interrupts() local 236 unsigned long new_lpcr = lpcr; in cpu_ready_for_interrupts() 249 if (new_lpcr != lpcr) in cpu_ready_for_interrupts()
|
/kernel/linux/linux-6.6/arch/powerpc/kernel/ |
H A D | dt_cpu_ftrs.c | 70 u64 lpcr; member 80 mtspr(SPRN_LPCR, system_registers.lpcr); in __restore_cpu_cpufeatures() 211 u64 lpcr; in feat_enable_hv() local 221 lpcr = mfspr(SPRN_LPCR); in feat_enable_hv() 222 lpcr &= ~LPCR_LPES0; /* HV external interrupts */ in feat_enable_hv() 223 mtspr(SPRN_LPCR, lpcr); in feat_enable_hv() 245 u64 lpcr; in feat_enable_idle_nap() local 248 lpcr = mfspr(SPRN_LPCR); in feat_enable_idle_nap() 249 lpcr |= LPCR_PECE0; in feat_enable_idle_nap() 250 lpcr | in feat_enable_idle_nap() 259 u64 lpcr; feat_enable_idle_stop() local 273 u64 lpcr; feat_enable_mmu_hash() local 295 u64 lpcr; feat_enable_mmu_hash_v3() local 326 u64 lpcr; feat_enable_dscr() local 527 u64 lpcr; feat_enable_dbell() local 543 u64 lpcr; feat_enable_hvi() local [all...] |
H A D | cpu_setup_power.c | 29 static void init_LPCR_ISA300(u64 lpcr, u64 lpes) in init_LPCR_ISA300() argument 32 lpcr |= (lpes << LPCR_LPES_SH) & LPCR_LPES; in init_LPCR_ISA300() 33 lpcr |= LPCR_PECE0|LPCR_PECE1|LPCR_PECE2; in init_LPCR_ISA300() 34 lpcr |= (4ull << LPCR_DPFD_SH) & LPCR_DPFD; in init_LPCR_ISA300() 35 lpcr &= ~LPCR_HDICE; /* clear HDICE */ in init_LPCR_ISA300() 36 lpcr |= (4ull << LPCR_VC_SH); in init_LPCR_ISA300() 37 mtspr(SPRN_LPCR, lpcr); in init_LPCR_ISA300() 54 static void init_LPCR_ISA206(u64 lpcr, u64 lpes) in init_LPCR_ISA206() argument 56 lpcr |= (0x10ull << LPCR_VRMASD_SH) & LPCR_VRMASD; in init_LPCR_ISA206() 57 init_LPCR_ISA300(lpcr, lpe in init_LPCR_ISA206() [all...] |
H A D | setup_64.c | 276 unsigned long lpcr = mfspr(SPRN_LPCR); in cpu_ready_for_interrupts() local 277 unsigned long new_lpcr = lpcr; in cpu_ready_for_interrupts() 290 if (new_lpcr != lpcr) in cpu_ready_for_interrupts()
|
/kernel/linux/linux-6.6/arch/powerpc/kvm/ |
H A D | book3s_hv.c | 480 pr_err("lpcr = %.16lx sdr1 = %.16lx last_inst = %.16lx\n", in kvmppc_dump_regs() 481 vcpu->arch.vcore->lpcr, vcpu->kvm->arch.sdr1, in kvmppc_dump_regs() 2104 unsigned long kvmppc_filter_lpcr_hv(struct kvm *kvm, unsigned long lpcr) in kvmppc_filter_lpcr_hv() argument 2108 lpcr &= ~LPCR_TC; in kvmppc_filter_lpcr_hv() 2112 lpcr &= ~LPCR_AIL; in kvmppc_filter_lpcr_hv() 2113 if ((lpcr & LPCR_AIL) != LPCR_AIL_3) in kvmppc_filter_lpcr_hv() 2114 lpcr &= ~LPCR_AIL; /* LPCR[AIL]=1/2 is disallowed */ in kvmppc_filter_lpcr_hv() 2122 lpcr &= ~LPCR_AIL; in kvmppc_filter_lpcr_hv() 2129 lpcr &= ~LPCR_LD; in kvmppc_filter_lpcr_hv() 2131 return lpcr; in kvmppc_filter_lpcr_hv() 2134 verify_lpcr(struct kvm *kvm, unsigned long lpcr) verify_lpcr() argument 4047 kvmhv_vcpu_entry_p9_nested(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb) kvmhv_vcpu_entry_p9_nested() argument 4143 kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb) kvmhv_p9_guest_entry() argument 4594 kvmhv_run_single_vcpu(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr) kvmhv_run_single_vcpu() argument 5128 kvmppc_update_lpcr(struct kvm *kvm, unsigned long lpcr, unsigned long mask) kvmppc_update_lpcr() argument 5184 unsigned long lpcr = 0, senc; kvmppc_hv_setup_htab_rma() local 5269 unsigned long lpcr, lpcr_mask; kvmppc_switch_mmu_to_hpt() local 5296 unsigned long lpcr, lpcr_mask; kvmppc_switch_mmu_to_radix() local 5407 unsigned long lpcr, lpid; kvmppc_core_init_vm_hv() local 5930 unsigned long lpcr; kvmhv_configure_mmu() local [all...] |
H A D | book3s_hv_p9_entry.c | 301 static void switch_mmu_to_guest_radix(struct kvm *kvm, struct kvm_vcpu *vcpu, u64 lpcr) in switch_mmu_to_guest_radix() argument 318 mtspr(SPRN_LPCR, lpcr); in switch_mmu_to_guest_radix() 326 static void switch_mmu_to_guest_hpt(struct kvm *kvm, struct kvm_vcpu *vcpu, u64 lpcr) in switch_mmu_to_guest_hpt() argument 343 mtspr(SPRN_LPCR, lpcr); in switch_mmu_to_guest_hpt() 356 u64 lpcr = kvm->arch.host_lpcr; in switch_mmu_to_host() local 368 mtspr(SPRN_LPCR, lpcr); in switch_mmu_to_host() 532 int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb) in kvmhv_vcpu_entry_p9() argument 698 switch_mmu_to_guest_radix(kvm, vcpu, lpcr); in kvmhv_vcpu_entry_p9() 700 switch_mmu_to_guest_hpt(kvm, vcpu, lpcr); in kvmhv_vcpu_entry_p9() 846 if (!(lpcr in kvmhv_vcpu_entry_p9() [all...] |
H A D | book3s_hv_builtin.c | 543 (vcpu->arch.vcore->lpcr & LPCR_AIL) == LPCR_AIL_3 && in inject_interrupt() 569 unsigned long lpcr; in kvmppc_guest_entry_inject_int() local 575 lpcr = mfspr(SPRN_LPCR); in kvmppc_guest_entry_inject_int() 576 lpcr |= ext << LPCR_MER_SH; in kvmppc_guest_entry_inject_int() 577 mtspr(SPRN_LPCR, lpcr); in kvmppc_guest_entry_inject_int() 585 if (!(lpcr & LPCR_LD)) in kvmppc_guest_entry_inject_int()
|
H A D | book3s_hv_nested.c | 72 hr->lpcr = swab64(hr->lpcr); in byteswap_hv_regs() 255 const struct hv_guest_state *l1_hv, u64 *lpcr) in load_l2_hv_regs() 271 *lpcr = kvmppc_filter_lpcr_hv(vcpu->kvm, in load_l2_hv_regs() 272 (vc->lpcr & ~mask) | (*lpcr & mask)); in load_l2_hv_regs() 297 u64 hdec_exp, lpcr; in kvmhv_enter_nested_guest() local 372 lpcr = l2_hv.lpcr; in kvmhv_enter_nested_guest() 373 load_l2_hv_regs(vcpu, &l2_hv, &saved_l1_hv, &lpcr); in kvmhv_enter_nested_guest() 253 load_l2_hv_regs(struct kvm_vcpu *vcpu, const struct hv_guest_state *l2_hv, const struct hv_guest_state *l1_hv, u64 *lpcr) load_l2_hv_regs() argument [all...] |
/kernel/linux/linux-5.10/arch/powerpc/kvm/ |
H A D | book3s_hv.c | 436 pr_err("lpcr = %.16lx sdr1 = %.16lx last_inst = %.8x\n", in kvmppc_dump_regs() 437 vcpu->arch.vcore->lpcr, vcpu->kvm->arch.sdr1, in kvmppc_dump_regs() 1622 if ((new_lpcr & LPCR_ILE) != (vc->lpcr & LPCR_ILE)) { in kvmppc_set_lpcr() 1654 vc->lpcr = (vc->lpcr & ~mask) | (new_lpcr & mask); in kvmppc_set_lpcr() 1805 *val = get_reg_val(id, vcpu->arch.vcore->lpcr); in kvmppc_get_one_reg_hv() 2176 vcore->lpcr = kvm->arch.lpcr; in kvmppc_vcore_create() 3234 split_info.lpcr_req = vc->lpcr; in kvmppc_run_core() 3450 unsigned long lpcr) in kvmhv_load_hv_regs_and_go() 3449 kvmhv_load_hv_regs_and_go(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr) kvmhv_load_hv_regs_and_go() argument 3596 kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr) kvmhv_p9_guest_entry() argument 4138 kvmhv_run_single_vcpu(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr) kvmhv_run_single_vcpu() argument 4662 kvmppc_update_lpcr(struct kvm *kvm, unsigned long lpcr, unsigned long mask) kvmppc_update_lpcr() argument 4716 unsigned long lpcr = 0, senc; kvmppc_hv_setup_htab_rma() local 4919 unsigned long lpcr, lpid; kvmppc_core_init_vm_hv() local 5432 unsigned long lpcr; kvmhv_configure_mmu() local [all...] |
H A D | book3s_hv_builtin.c | 796 (vcpu->arch.vcore->lpcr & LPCR_AIL) == LPCR_AIL_3 && in inject_interrupt() 822 unsigned long lpcr; in kvmppc_guest_entry_inject_int() local 826 lpcr = mfspr(SPRN_LPCR); in kvmppc_guest_entry_inject_int() 827 lpcr |= ext << LPCR_MER_SH; in kvmppc_guest_entry_inject_int() 828 mtspr(SPRN_LPCR, lpcr); in kvmppc_guest_entry_inject_int() 836 if (!(lpcr & LPCR_LD)) in kvmppc_guest_entry_inject_int()
|
H A D | book3s_hv_nested.c | 68 hr->lpcr = swab64(hr->lpcr); in byteswap_hv_regs() 230 unsigned long lpcr; in kvmhv_enter_nested_guest() local 303 lpcr = (vc->lpcr & ~mask) | (l2_hv.lpcr & mask); in kvmhv_enter_nested_guest() 315 r = kvmhv_run_single_vcpu(vcpu, hdec_exp, lpcr); in kvmhv_enter_nested_guest()
|
/kernel/linux/linux-5.10/arch/powerpc/mm/book3s64/ |
H A D | radix_pgtable.c | 636 unsigned long lpcr; in radix__early_init_mmu() local 691 lpcr = mfspr(SPRN_LPCR); in radix__early_init_mmu() 692 mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); in radix__early_init_mmu() 708 unsigned long lpcr; in radix__early_init_mmu_secondary() local 713 lpcr = mfspr(SPRN_LPCR); in radix__early_init_mmu_secondary() 714 mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); in radix__early_init_mmu_secondary() 728 unsigned long lpcr; in radix__mmu_cleanup_all() local 731 lpcr = mfspr(SPRN_LPCR); in radix__mmu_cleanup_all() 732 mtspr(SPRN_LPCR, lpcr & ~LPCR_UPRT); in radix__mmu_cleanup_all()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/imx/lcdc/ |
H A D | imx-lcdc.c | 144 u32 lpcr, lvcr, lhcr; in imx_lcdc_update_hw_registers() local 176 lpcr = readl(lcdc->base + IMX21LCDC_LPCR); in imx_lcdc_update_hw_registers() 177 lpcr &= ~IMX21LCDC_LPCR_BPIX; in imx_lcdc_update_hw_registers() 178 lpcr |= FIELD_PREP(IMX21LCDC_LPCR_BPIX, imx_lcdc_get_format(fb->format->format)); in imx_lcdc_update_hw_registers() 179 writel(lpcr, lcdc->base + IMX21LCDC_LPCR); in imx_lcdc_update_hw_registers()
|
/kernel/linux/linux-6.6/arch/powerpc/mm/book3s64/ |
H A D | radix_pgtable.c | 532 unsigned long lpcr; in radix__early_init_mmu() local 578 lpcr = mfspr(SPRN_LPCR); in radix__early_init_mmu() 579 mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); in radix__early_init_mmu() 594 unsigned long lpcr; in radix__early_init_mmu_secondary() local 599 lpcr = mfspr(SPRN_LPCR); in radix__early_init_mmu_secondary() 600 mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); in radix__early_init_mmu_secondary() 616 unsigned long lpcr; in radix__mmu_cleanup_all() local 619 lpcr = mfspr(SPRN_LPCR); in radix__mmu_cleanup_all() 620 mtspr(SPRN_LPCR, lpcr & ~LPCR_UPRT); in radix__mmu_cleanup_all()
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | kvm_book3s.h | 89 ulong lpcr; member 262 unsigned long lpcr); 263 extern void kvmppc_update_lpcr(struct kvm *kvm, unsigned long lpcr, 311 u64 time_limit, unsigned long lpcr);
|
H A D | pnv-ocxl.h | 79 uint64_t lpcr, void __iomem **arva);
|
/kernel/linux/linux-5.10/drivers/rtc/ |
H A D | rtc-snvs.c | 137 u32 lpcr; in snvs_rtc_enable() local 143 regmap_read(data->regmap, data->offset + SNVS_LPCR, &lpcr); in snvs_rtc_enable() 146 if (lpcr & SNVS_LPCR_SRTC_ENV) in snvs_rtc_enable() 149 if (!(lpcr & SNVS_LPCR_SRTC_ENV)) in snvs_rtc_enable()
|
/kernel/linux/linux-6.6/drivers/rtc/ |
H A D | rtc-snvs.c | 137 u32 lpcr; in snvs_rtc_enable() local 143 regmap_read(data->regmap, data->offset + SNVS_LPCR, &lpcr); in snvs_rtc_enable() 146 if (lpcr & SNVS_LPCR_SRTC_ENV) in snvs_rtc_enable() 149 if (!(lpcr & SNVS_LPCR_SRTC_ENV)) in snvs_rtc_enable()
|
/kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/ |
H A D | idle.c | 70 * hid0, hid1, hid4, hid5, hmeer and lpcr values are symmetric across in pnv_save_sprs_for_deep_states() 297 u64 lpcr; member 347 sprs.lpcr = mfspr(SPRN_LPCR); in power7_idle_insn() 482 mtspr(SPRN_LPCR, sprs.lpcr); in power7_idle_insn() 584 u64 lpcr; member 663 sprs.lpcr = mfspr(SPRN_LPCR); in power9_idle_stop() 780 mtspr(SPRN_LPCR, sprs.lpcr); in power9_idle_stop()
|
H A D | vas-window.c | 275 u64 lpcr, val; in init_xlate_regs() local 290 lpcr = mfspr(SPRN_LPCR); in init_xlate_regs() 300 val = SET_FIELD(VAS_XLATE_LPCR_ISL, val, lpcr & LPCR_ISL); in init_xlate_regs() 301 val = SET_FIELD(VAS_XLATE_LPCR_TC, val, lpcr & LPCR_TC); in init_xlate_regs()
|
/kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/ |
H A D | idle.c | 70 * hid0, hid1, hid4, hid5, hmeer and lpcr values are symmetric across in pnv_save_sprs_for_deep_states() 299 u64 lpcr; member 349 sprs.lpcr = mfspr(SPRN_LPCR); in power7_idle_insn() 483 mtspr(SPRN_LPCR, sprs.lpcr); in power7_idle_insn() 587 u64 lpcr; member 664 sprs.lpcr = mfspr(SPRN_LPCR); in power9_idle_stop() 780 mtspr(SPRN_LPCR, sprs.lpcr); in power9_idle_stop()
|
H A D | ocxl.c | 487 uint64_t lpcr, void __iomem **arva) in pnv_ocxl_map_lpar() 509 lparid, lpcr); in pnv_ocxl_map_lpar() 486 pnv_ocxl_map_lpar(struct pci_dev *dev, uint64_t lparid, uint64_t lpcr, void __iomem **arva) pnv_ocxl_map_lpar() argument
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | kvm_book3s.h | 89 ulong lpcr; member 261 extern void kvmppc_update_lpcr(struct kvm *kvm, unsigned long lpcr, 302 u64 time_limit, unsigned long lpcr);
|