Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/sh/kernel/cpu/sh4a/intc-shx3.c
26498 views
1
// SPDX-License-Identifier: GPL-2.0
2
/*
3
* Shared support for SH-X3 interrupt controllers.
4
*
5
* Copyright (C) 2009 - 2010 Paul Mundt
6
*/
7
#include <linux/irq.h>
8
#include <linux/io.h>
9
#include <linux/init.h>
10
11
#define INTACK 0xfe4100b8
12
#define INTACKCLR 0xfe4100bc
13
#define INTC_USERIMASK 0xfe411000
14
15
#ifdef CONFIG_INTC_BALANCING
16
unsigned int irq_lookup(unsigned int irq)
17
{
18
return __raw_readl(INTACK) & 1 ? irq : NO_IRQ_IGNORE;
19
}
20
21
void irq_finish(unsigned int irq)
22
{
23
__raw_writel(irq2evt(irq), INTACKCLR);
24
}
25
#endif
26
27
static int __init shx3_irq_setup(void)
28
{
29
return register_intc_userimask(INTC_USERIMASK);
30
}
31
arch_initcall(shx3_irq_setup);
32
33