Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/parisc/include/asm/irq.h
26298 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* include/asm-parisc/irq.h
4
*
5
* Copyright 2005 Matthew Wilcox <[email protected]>
6
*/
7
8
#ifndef _ASM_PARISC_IRQ_H
9
#define _ASM_PARISC_IRQ_H
10
11
#include <linux/cpumask.h>
12
#include <asm/types.h>
13
14
#define NO_IRQ (-1)
15
16
#ifdef CONFIG_GSC
17
#define GSC_IRQ_BASE 16
18
#define GSC_IRQ_MAX 63
19
#define CPU_IRQ_BASE 64
20
#else
21
#define CPU_IRQ_BASE 16
22
#endif
23
24
#define TIMER_IRQ (CPU_IRQ_BASE + 0)
25
#define IPI_IRQ (CPU_IRQ_BASE + 1)
26
#define CPU_IRQ_MAX (CPU_IRQ_BASE + (BITS_PER_LONG - 1))
27
28
#define NR_IRQS (CPU_IRQ_MAX + 1)
29
30
static __inline__ int irq_canonicalize(int irq)
31
{
32
return (irq == 2) ? 9 : irq;
33
}
34
35
struct irq_chip;
36
struct irq_data;
37
38
void cpu_ack_irq(struct irq_data *d);
39
void cpu_eoi_irq(struct irq_data *d);
40
41
extern int txn_alloc_irq(unsigned int nbits);
42
extern int txn_claim_irq(int);
43
extern unsigned int txn_alloc_data(unsigned int);
44
extern unsigned long txn_alloc_addr(unsigned int);
45
extern unsigned long txn_affinity_addr(unsigned int irq, int cpu);
46
47
extern int cpu_claim_irq(unsigned int irq, struct irq_chip *, void *);
48
extern int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest);
49
50
#endif /* _ASM_PARISC_IRQ_H */
51
52