aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS1
-rw-r--r--arch/mips/ath79/setup.c6
-rw-r--r--arch/mips/kernel/scall64-o32.S2
-rw-r--r--drivers/irqchip/irq-ath79-misc.c11
4 files changed, 13 insertions, 7 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 09f43f1bdd15..ccd91034d751 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3121,6 +3121,7 @@ F: drivers/cpufreq/bmips-cpufreq.c
3121BROADCOM BMIPS MIPS ARCHITECTURE 3121BROADCOM BMIPS MIPS ARCHITECTURE
3122M: Kevin Cernekee <cernekee@gmail.com> 3122M: Kevin Cernekee <cernekee@gmail.com>
3123M: Florian Fainelli <f.fainelli@gmail.com> 3123M: Florian Fainelli <f.fainelli@gmail.com>
3124L: bcm-kernel-feedback-list@broadcom.com
3124L: linux-mips@vger.kernel.org 3125L: linux-mips@vger.kernel.org
3125T: git git://github.com/broadcom/stblinux.git 3126T: git git://github.com/broadcom/stblinux.git
3126S: Maintained 3127S: Maintained
diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index 4a70c5de8c92..25a57895a3a3 100644
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
@@ -210,12 +210,6 @@ const char *get_system_type(void)
210 return ath79_sys_type; 210 return ath79_sys_type;
211} 211}
212 212
213int get_c0_perfcount_int(void)
214{
215 return ATH79_MISC_IRQ(5);
216}
217EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
218
219unsigned int get_c0_compare_int(void) 213unsigned int get_c0_compare_int(void)
220{ 214{
221 return CP0_LEGACY_COMPARE_IRQ; 215 return CP0_LEGACY_COMPARE_IRQ;
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index f158c5894a9a..feb2653490df 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -125,7 +125,7 @@ trace_a_syscall:
125 subu t1, v0, __NR_O32_Linux 125 subu t1, v0, __NR_O32_Linux
126 move a1, v0 126 move a1, v0
127 bnez t1, 1f /* __NR_syscall at offset 0 */ 127 bnez t1, 1f /* __NR_syscall at offset 0 */
128 lw a1, PT_R4(sp) /* Arg1 for __NR_syscall case */ 128 ld a1, PT_R4(sp) /* Arg1 for __NR_syscall case */
129 .set pop 129 .set pop
130 130
1311: jal syscall_trace_enter 1311: jal syscall_trace_enter
diff --git a/drivers/irqchip/irq-ath79-misc.c b/drivers/irqchip/irq-ath79-misc.c
index aa7290784636..0390603170b4 100644
--- a/drivers/irqchip/irq-ath79-misc.c
+++ b/drivers/irqchip/irq-ath79-misc.c
@@ -22,6 +22,15 @@
22#define AR71XX_RESET_REG_MISC_INT_ENABLE 4 22#define AR71XX_RESET_REG_MISC_INT_ENABLE 4
23 23
24#define ATH79_MISC_IRQ_COUNT 32 24#define ATH79_MISC_IRQ_COUNT 32
25#define ATH79_MISC_PERF_IRQ 5
26
27static int ath79_perfcount_irq;
28
29int get_c0_perfcount_int(void)
30{
31 return ath79_perfcount_irq;
32}
33EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
25 34
26static void ath79_misc_irq_handler(struct irq_desc *desc) 35static void ath79_misc_irq_handler(struct irq_desc *desc)
27{ 36{
@@ -113,6 +122,8 @@ static void __init ath79_misc_intc_domain_init(
113{ 122{
114 void __iomem *base = domain->host_data; 123 void __iomem *base = domain->host_data;
115 124
125 ath79_perfcount_irq = irq_create_mapping(domain, ATH79_MISC_PERF_IRQ);
126
116 /* Disable and clear all interrupts */ 127 /* Disable and clear all interrupts */
117 __raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_ENABLE); 128 __raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_ENABLE);
118 __raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_STATUS); 129 __raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_STATUS);