diff options
Diffstat (limited to 'arch/mips/kernel/perf_event_mipsxx.c')
-rw-r--r-- | arch/mips/kernel/perf_event_mipsxx.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/arch/mips/kernel/perf_event_mipsxx.c b/arch/mips/kernel/perf_event_mipsxx.c index a8f9cdc6f8b0..9466184d0039 100644 --- a/arch/mips/kernel/perf_event_mipsxx.c +++ b/arch/mips/kernel/perf_event_mipsxx.c | |||
@@ -561,8 +561,8 @@ static int mipspmu_get_irq(void) | |||
561 | IRQF_PERCPU | IRQF_NOBALANCING | IRQF_NO_THREAD, | 561 | IRQF_PERCPU | IRQF_NOBALANCING | IRQF_NO_THREAD, |
562 | "mips_perf_pmu", NULL); | 562 | "mips_perf_pmu", NULL); |
563 | if (err) { | 563 | if (err) { |
564 | pr_warning("Unable to request IRQ%d for MIPS " | 564 | pr_warn("Unable to request IRQ%d for MIPS performance counters!\n", |
565 | "performance counters!\n", mipspmu.irq); | 565 | mipspmu.irq); |
566 | } | 566 | } |
567 | } else if (cp0_perfcount_irq < 0) { | 567 | } else if (cp0_perfcount_irq < 0) { |
568 | /* | 568 | /* |
@@ -572,8 +572,7 @@ static int mipspmu_get_irq(void) | |||
572 | perf_irq = mipsxx_pmu_handle_shared_irq; | 572 | perf_irq = mipsxx_pmu_handle_shared_irq; |
573 | err = 0; | 573 | err = 0; |
574 | } else { | 574 | } else { |
575 | pr_warning("The platform hasn't properly defined its " | 575 | pr_warn("The platform hasn't properly defined its interrupt controller\n"); |
576 | "interrupt controller.\n"); | ||
577 | err = -ENOENT; | 576 | err = -ENOENT; |
578 | } | 577 | } |
579 | 578 | ||
@@ -1614,22 +1613,13 @@ init_hw_perf_events(void) | |||
1614 | counters = counters_total_to_per_cpu(counters); | 1613 | counters = counters_total_to_per_cpu(counters); |
1615 | #endif | 1614 | #endif |
1616 | 1615 | ||
1617 | #ifdef MSC01E_INT_BASE | 1616 | if (get_c0_perfcount_int) |
1618 | if (cpu_has_veic) { | 1617 | irq = get_c0_perfcount_int(); |
1619 | /* | 1618 | else if ((cp0_perfcount_irq >= 0) && |
1620 | * Using platform specific interrupt controller defines. | 1619 | (cp0_compare_irq != cp0_perfcount_irq)) |
1621 | */ | 1620 | irq = MIPS_CPU_IRQ_BASE + cp0_perfcount_irq; |
1622 | irq = MSC01E_INT_BASE + MSC01E_INT_PERFCTR; | 1621 | else |
1623 | } else { | 1622 | irq = -1; |
1624 | #endif | ||
1625 | if ((cp0_perfcount_irq >= 0) && | ||
1626 | (cp0_compare_irq != cp0_perfcount_irq)) | ||
1627 | irq = MIPS_CPU_IRQ_BASE + cp0_perfcount_irq; | ||
1628 | else | ||
1629 | irq = -1; | ||
1630 | #ifdef MSC01E_INT_BASE | ||
1631 | } | ||
1632 | #endif | ||
1633 | 1623 | ||
1634 | mipspmu.map_raw_event = mipsxx_pmu_map_raw_event; | 1624 | mipspmu.map_raw_event = mipsxx_pmu_map_raw_event; |
1635 | 1625 | ||