summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/irq.h')
-rw-r--r--arch/x86/include/asm/irq.h26
1 files changed, 23 insertions, 3 deletions
diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
index ad95bb4927..bfa58cf589 100644
--- a/arch/x86/include/asm/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -52,9 +52,29 @@ struct pirq_routing {
int pirq;
};
-/* PIRQ link number and value conversion */
-#define LINK_V2N(link, base) (link - base)
-#define LINK_N2V(link, base) (link + base)
+/**
+ * pirq_reg_to_linkno() - Convert a PIRQ routing register offset to link number
+ *
+ * @reg: PIRQ routing register offset from the base address
+ * @base: PIRQ routing register block base address
+ * @return: PIRQ link number (0 for PIRQA, 1 for PIRQB, etc)
+ */
+static inline int pirq_reg_to_linkno(int reg, int base)
+{
+ return reg - base;
+}
+
+/**
+ * pirq_linkno_to_reg() - Convert a PIRQ link number to routing register offset
+ *
+ * @linkno: PIRQ link number (0 for PIRQA, 1 for PIRQB, etc)
+ * @base: PIRQ routing register block base address
+ * @return: PIRQ routing register offset from the base address
+ */
+static inline int pirq_linkno_to_reg(int linkno, int base)
+{
+ return linkno + base;
+}
#define PIRQ_BITMAP 0xdef8