/kernel/linux/linux-6.6/arch/powerpc/kvm/ |
H A D | book3s_hv_p9_perf.c | 94 mtspr(SPRN_MMCR1, vcpu->arch.mmcr[1]); in switch_pmu_to_guest() 95 mtspr(SPRN_MMCR2, vcpu->arch.mmcr[2]); in switch_pmu_to_guest() 101 mtspr(SPRN_MMCR3, vcpu->arch.mmcr[3]); in switch_pmu_to_guest() 108 mtspr(SPRN_MMCR0, vcpu->arch.mmcr[0]); in switch_pmu_to_guest() 137 vcpu->arch.mmcr[0] = mfspr(SPRN_MMCR0); in switch_pmu_to_host() 140 freeze_pmu(vcpu->arch.mmcr[0], vcpu->arch.mmcra); in switch_pmu_to_host() 148 vcpu->arch.mmcr[1] = mfspr(SPRN_MMCR1); in switch_pmu_to_host() 149 vcpu->arch.mmcr[2] = mfspr(SPRN_MMCR2); in switch_pmu_to_host() 155 vcpu->arch.mmcr[3] = mfspr(SPRN_MMCR3); in switch_pmu_to_host()
|
/kernel/linux/linux-5.10/arch/powerpc/perf/ |
H A D | ppc970-pmu.c | 258 unsigned int hwc[], struct mmcr_regs *mmcr, in p970_compute_mmcr() 399 mmcr->mmcr0 = mmcr0; in p970_compute_mmcr() 400 mmcr->mmcr1 = mmcr1; in p970_compute_mmcr() 401 mmcr->mmcra = mmcra; in p970_compute_mmcr() 405 static void p970_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in p970_disable_pmc() argument 414 mmcr->mmcr0 = (mmcr->mmcr0 & ~(0x1fUL << shift)) | (0x08UL << shift); in p970_disable_pmc() 417 mmcr->mmcr1 = (mmcr->mmcr1 & ~(0x1fUL << shift)) | (0x08UL << shift); in p970_disable_pmc() 257 p970_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) p970_compute_mmcr() argument
|
H A D | isa207-common.c | 414 unsigned int hwc[], struct mmcr_regs *mmcr, in isa207_compute_mmcr() 552 mmcr->mmcr0 = 0; in isa207_compute_mmcr() 556 mmcr->mmcr0 = MMCR0_PMC1CE; in isa207_compute_mmcr() 559 mmcr->mmcr0 |= MMCR0_PMCjCE; in isa207_compute_mmcr() 563 mmcr->mmcr0 |= MMCR0_FC56; in isa207_compute_mmcr() 571 mmcr->mmcr0 |= MMCR0_PMCCEXT; in isa207_compute_mmcr() 573 mmcr->mmcr1 = mmcr1; in isa207_compute_mmcr() 574 mmcr->mmcra = mmcra; in isa207_compute_mmcr() 575 mmcr->mmcr2 = mmcr2; in isa207_compute_mmcr() 576 mmcr in isa207_compute_mmcr() 413 isa207_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) isa207_compute_mmcr() argument 581 isa207_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) isa207_disable_pmc() argument [all...] |
H A D | mpc7450-pmu.c | 260 struct mmcr_regs *mmcr, in mpc7450_compute_mmcr() 324 mmcr->mmcr0 = mmcr0; in mpc7450_compute_mmcr() 325 mmcr->mmcr1 = mmcr1; in mpc7450_compute_mmcr() 326 mmcr->mmcr2 = mmcr2; in mpc7450_compute_mmcr() 333 mmcr->mmcra = mmcr2; in mpc7450_compute_mmcr() 341 static void mpc7450_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in mpc7450_disable_pmc() argument 344 mmcr->mmcr0 &= ~(pmcsel_mask[pmc] << pmcsel_shift[pmc]); in mpc7450_disable_pmc() 346 mmcr->mmcr1 &= ~(pmcsel_mask[pmc] << pmcsel_shift[pmc]); in mpc7450_disable_pmc() 259 mpc7450_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) mpc7450_compute_mmcr() argument
|
H A D | power7-pmu.c | 247 unsigned int hwc[], struct mmcr_regs *mmcr, in power7_compute_mmcr() 304 mmcr->mmcr0 = 0; in power7_compute_mmcr() 306 mmcr->mmcr0 = MMCR0_PMC1CE; in power7_compute_mmcr() 308 mmcr->mmcr0 |= MMCR0_PMCjCE; in power7_compute_mmcr() 309 mmcr->mmcr1 = mmcr1; in power7_compute_mmcr() 310 mmcr->mmcra = mmcra; in power7_compute_mmcr() 314 static void power7_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in power7_disable_pmc() argument 317 mmcr->mmcr1 &= ~(0xffUL << MMCR1_PMCSEL_SH(pmc)); in power7_disable_pmc() 246 power7_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) power7_compute_mmcr() argument
|
H A D | power5+-pmu.c | 453 unsigned int hwc[], struct mmcr_regs *mmcr, in power5p_compute_mmcr() 592 mmcr->mmcr0 = 0; in power5p_compute_mmcr() 594 mmcr->mmcr0 = MMCR0_PMC1CE; in power5p_compute_mmcr() 596 mmcr->mmcr0 |= MMCR0_PMCjCE; in power5p_compute_mmcr() 597 mmcr->mmcr1 = mmcr1; in power5p_compute_mmcr() 598 mmcr->mmcra = mmcra; in power5p_compute_mmcr() 602 static void power5p_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in power5p_disable_pmc() argument 605 mmcr->mmcr1 &= ~(0x7fUL << MMCR1_PMCSEL_SH(pmc)); in power5p_disable_pmc() 452 power5p_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) power5p_compute_mmcr() argument
|
H A D | power5-pmu.c | 384 unsigned int hwc[], struct mmcr_regs *mmcr, in power5_compute_mmcr() 534 mmcr->mmcr0 = 0; in power5_compute_mmcr() 536 mmcr->mmcr0 = MMCR0_PMC1CE; in power5_compute_mmcr() 538 mmcr->mmcr0 |= MMCR0_PMCjCE; in power5_compute_mmcr() 539 mmcr->mmcr1 = mmcr1; in power5_compute_mmcr() 540 mmcr->mmcra = mmcra; in power5_compute_mmcr() 544 static void power5_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in power5_disable_pmc() argument 547 mmcr->mmcr1 &= ~(0x7fUL << MMCR1_PMCSEL_SH(pmc)); in power5_disable_pmc() 383 power5_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) power5_compute_mmcr() argument
|
H A D | power6-pmu.c | 176 unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) in p6_compute_mmcr() 248 mmcr->mmcr0 = 0; in p6_compute_mmcr() 250 mmcr->mmcr0 = MMCR0_PMC1CE; in p6_compute_mmcr() 252 mmcr->mmcr0 |= MMCR0_PMCjCE; in p6_compute_mmcr() 253 mmcr->mmcr1 = mmcr1; in p6_compute_mmcr() 254 mmcr->mmcra = mmcra; in p6_compute_mmcr() 462 static void p6_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in p6_disable_pmc() argument 466 mmcr->mmcr1 &= ~(0xffUL << MMCR1_PMCSEL_SH(pmc)); in p6_disable_pmc() 175 p6_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[]) p6_compute_mmcr() argument
|
H A D | core-book3s.c | 40 struct mmcr_regs mmcr; member 125 return cpuhw->mmcr.mmcr0; in ebb_switch_in() 596 unsigned long mmcr0 = cpuhw->mmcr.mmcr0; in ebb_switch_in() 630 mtspr(SPRN_MMCR2, cpuhw->mmcr.mmcr2 | current->thread.mmcr2); in ebb_switch_in() 1287 val = mmcra = cpuhw->mmcr.mmcra; in power_pmu_disable() 1386 mtspr(SPRN_MMCRA, cpuhw->mmcr.mmcra & ~MMCRA_SAMPLE_ENABLE); in power_pmu_enable() 1387 mtspr(SPRN_MMCR1, cpuhw->mmcr.mmcr1); in power_pmu_enable() 1389 mtspr(SPRN_MMCR3, cpuhw->mmcr.mmcr3); in power_pmu_enable() 1396 memset(&cpuhw->mmcr, 0, sizeof(cpuhw->mmcr)); in power_pmu_enable() [all...] |
H A D | isa207-common.h | 267 unsigned int hwc[], struct mmcr_regs *mmcr, 269 void isa207_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr);
|
/kernel/linux/linux-6.6/arch/powerpc/perf/ |
H A D | ppc970-pmu.c | 258 unsigned int hwc[], struct mmcr_regs *mmcr, in p970_compute_mmcr() 400 mmcr->mmcr0 = mmcr0; in p970_compute_mmcr() 401 mmcr->mmcr1 = mmcr1; in p970_compute_mmcr() 402 mmcr->mmcra = mmcra; in p970_compute_mmcr() 406 static void p970_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in p970_disable_pmc() argument 415 mmcr->mmcr0 = (mmcr->mmcr0 & ~(0x1fUL << shift)) | (0x08UL << shift); in p970_disable_pmc() 418 mmcr->mmcr1 = (mmcr->mmcr1 & ~(0x1fUL << shift)) | (0x08UL << shift); in p970_disable_pmc() 257 p970_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags __maybe_unused) p970_compute_mmcr() argument
|
H A D | mpc7450-pmu.c | 260 struct mmcr_regs *mmcr, in mpc7450_compute_mmcr() 325 mmcr->mmcr0 = mmcr0; in mpc7450_compute_mmcr() 326 mmcr->mmcr1 = mmcr1; in mpc7450_compute_mmcr() 327 mmcr->mmcr2 = mmcr2; in mpc7450_compute_mmcr() 334 mmcr->mmcra = mmcr2; in mpc7450_compute_mmcr() 342 static void mpc7450_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in mpc7450_disable_pmc() argument 345 mmcr->mmcr0 &= ~(pmcsel_mask[pmc] << pmcsel_shift[pmc]); in mpc7450_disable_pmc() 347 mmcr->mmcr1 &= ~(pmcsel_mask[pmc] << pmcsel_shift[pmc]); in mpc7450_disable_pmc() 259 mpc7450_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags __maybe_unused) mpc7450_compute_mmcr() argument
|
H A D | power7-pmu.c | 247 unsigned int hwc[], struct mmcr_regs *mmcr, in power7_compute_mmcr() 305 mmcr->mmcr0 = 0; in power7_compute_mmcr() 307 mmcr->mmcr0 = MMCR0_PMC1CE; in power7_compute_mmcr() 309 mmcr->mmcr0 |= MMCR0_PMCjCE; in power7_compute_mmcr() 310 mmcr->mmcr1 = mmcr1; in power7_compute_mmcr() 311 mmcr->mmcra = mmcra; in power7_compute_mmcr() 315 static void power7_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in power7_disable_pmc() argument 318 mmcr->mmcr1 &= ~(0xffUL << MMCR1_PMCSEL_SH(pmc)); in power7_disable_pmc() 246 power7_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags __maybe_unused) power7_compute_mmcr() argument
|
H A D | isa207-common.c | 559 unsigned int hwc[], struct mmcr_regs *mmcr, in isa207_compute_mmcr() 704 mmcr->mmcr0 = 0; in isa207_compute_mmcr() 708 mmcr->mmcr0 = MMCR0_PMC1CE; in isa207_compute_mmcr() 711 mmcr->mmcr0 |= MMCR0_PMCjCE; in isa207_compute_mmcr() 715 mmcr->mmcr0 |= MMCR0_FC56; in isa207_compute_mmcr() 723 mmcr->mmcr0 |= MMCR0_PMCCEXT; in isa207_compute_mmcr() 725 mmcr->mmcr1 = mmcr1; in isa207_compute_mmcr() 726 mmcr->mmcra = mmcra; in isa207_compute_mmcr() 727 mmcr->mmcr2 = mmcr2; in isa207_compute_mmcr() 728 mmcr in isa207_compute_mmcr() 558 isa207_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags) isa207_compute_mmcr() argument 733 isa207_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) isa207_disable_pmc() argument [all...] |
H A D | power5+-pmu.c | 453 unsigned int hwc[], struct mmcr_regs *mmcr, in power5p_compute_mmcr() 593 mmcr->mmcr0 = 0; in power5p_compute_mmcr() 595 mmcr->mmcr0 = MMCR0_PMC1CE; in power5p_compute_mmcr() 597 mmcr->mmcr0 |= MMCR0_PMCjCE; in power5p_compute_mmcr() 598 mmcr->mmcr1 = mmcr1; in power5p_compute_mmcr() 599 mmcr->mmcra = mmcra; in power5p_compute_mmcr() 603 static void power5p_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in power5p_disable_pmc() argument 606 mmcr->mmcr1 &= ~(0x7fUL << MMCR1_PMCSEL_SH(pmc)); in power5p_disable_pmc() 452 power5p_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags __maybe_unused) power5p_compute_mmcr() argument
|
H A D | power5-pmu.c | 384 unsigned int hwc[], struct mmcr_regs *mmcr, in power5_compute_mmcr() 535 mmcr->mmcr0 = 0; in power5_compute_mmcr() 537 mmcr->mmcr0 = MMCR0_PMC1CE; in power5_compute_mmcr() 539 mmcr->mmcr0 |= MMCR0_PMCjCE; in power5_compute_mmcr() 540 mmcr->mmcr1 = mmcr1; in power5_compute_mmcr() 541 mmcr->mmcra = mmcra; in power5_compute_mmcr() 545 static void power5_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in power5_disable_pmc() argument 548 mmcr->mmcr1 &= ~(0x7fUL << MMCR1_PMCSEL_SH(pmc)); in power5_disable_pmc() 383 power5_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags __maybe_unused) power5_compute_mmcr() argument
|
H A D | power6-pmu.c | 176 unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], in p6_compute_mmcr() 249 mmcr->mmcr0 = 0; in p6_compute_mmcr() 251 mmcr->mmcr0 = MMCR0_PMC1CE; in p6_compute_mmcr() 253 mmcr->mmcr0 |= MMCR0_PMCjCE; in p6_compute_mmcr() 254 mmcr->mmcr1 = mmcr1; in p6_compute_mmcr() 255 mmcr->mmcra = mmcra; in p6_compute_mmcr() 463 static void p6_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in p6_disable_pmc() argument 467 mmcr->mmcr1 &= ~(0xffUL << MMCR1_PMCSEL_SH(pmc)); in p6_disable_pmc() 175 p6_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags __maybe_unused) p6_compute_mmcr() argument
|
H A D | core-book3s.c | 42 struct mmcr_regs mmcr; member 130 return cpuhw->mmcr.mmcr0; in ebb_switch_in() 649 unsigned long mmcr0 = cpuhw->mmcr.mmcr0; in ebb_switch_in() 683 mtspr(SPRN_MMCR2, cpuhw->mmcr.mmcr2 | current->thread.mmcr2); in ebb_switch_in() 1369 val = mmcra = cpuhw->mmcr.mmcra; in power_pmu_disable() 1468 mtspr(SPRN_MMCRA, cpuhw->mmcr.mmcra & ~MMCRA_SAMPLE_ENABLE); in power_pmu_enable() 1469 mtspr(SPRN_MMCR1, cpuhw->mmcr.mmcr1); in power_pmu_enable() 1471 mtspr(SPRN_MMCR3, cpuhw->mmcr.mmcr3); in power_pmu_enable() 1478 memset(&cpuhw->mmcr, 0, sizeof(cpuhw->mmcr)); in power_pmu_enable() [all...] |
H A D | generic-compat-pmu.c | 293 unsigned int hwc[], struct mmcr_regs *mmcr, in generic_compute_mmcr() 298 ret = isa207_compute_mmcr(event, n_ev, hwc, mmcr, pevents, flags); in generic_compute_mmcr() 300 mmcr->mmcr0 |= MMCR0_C56RUN; in generic_compute_mmcr() 292 generic_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags) generic_compute_mmcr() argument
|
H A D | power10-pmu.c | 569 unsigned int hwc[], struct mmcr_regs *mmcr, in power10_compute_mmcr() 574 ret = isa207_compute_mmcr(event, n_ev, hwc, mmcr, pevents, flags); in power10_compute_mmcr() 576 mmcr->mmcr0 |= MMCR0_C56RUN; in power10_compute_mmcr() 568 power10_compute_mmcr(u64 event[], int n_ev, unsigned int hwc[], struct mmcr_regs *mmcr, struct perf_event *pevents[], u32 flags) power10_compute_mmcr() argument
|
H A D | isa207-common.h | 282 unsigned int hwc[], struct mmcr_regs *mmcr, 284 void isa207_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr);
|
/kernel/linux/linux-5.10/drivers/mtd/maps/ |
H A D | sc520cdp.c | 172 unsigned long __iomem *mmcr; in sc520cdp_setup_par() local 177 mmcr = ioremap(SC520_MMCR_BASE, SC520_MMCR_EXTENT); in sc520cdp_setup_par() 178 if(!mmcr) { /* ioremap failed: skip the PAR reprogramming */ in sc520cdp_setup_par() 192 mmcr_val = readl(&mmcr[SC520_PAR(j)]); in sc520cdp_setup_par() 196 writel(par_table[i].new_par, &mmcr[SC520_PAR(j)]); in sc520cdp_setup_par() 209 iounmap(mmcr); in sc520cdp_setup_par()
|
/kernel/linux/linux-6.6/drivers/mtd/maps/ |
H A D | sc520cdp.c | 172 unsigned long __iomem *mmcr; in sc520cdp_setup_par() local 177 mmcr = ioremap(SC520_MMCR_BASE, SC520_MMCR_EXTENT); in sc520cdp_setup_par() 178 if(!mmcr) { /* ioremap failed: skip the PAR reprogramming */ in sc520cdp_setup_par() 192 mmcr_val = readl(&mmcr[SC520_PAR(j)]); in sc520cdp_setup_par() 196 writel(par_table[i].new_par, &mmcr[SC520_PAR(j)]); in sc520cdp_setup_par() 209 iounmap(mmcr); in sc520cdp_setup_par()
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | perf_event_server.h | 38 unsigned int hwc[], struct mmcr_regs *mmcr, 51 void (*disable_pmc)(unsigned int pmc, struct mmcr_regs *mmcr);
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | perf_event_server.h | 38 unsigned int hwc[], struct mmcr_regs *mmcr, 51 void (*disable_pmc)(unsigned int pmc, struct mmcr_regs *mmcr);
|