hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/arch/powerpc/sysdev/xive/xive-internal.h
....@@ -1,10 +1,6 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /*
23 * Copyright 2016,2017 IBM Corporation.
3
- *
4
- * This program is free software; you can redistribute it and/or
5
- * modify it under the terms of the GNU General Public License
6
- * as published by the Free Software Foundation; either version
7
- * 2 of the License, or (at your option) any later version.
84 */
95 #ifndef __XIVE_INTERNAL_H
106 #define __XIVE_INTERNAL_H
....@@ -44,6 +40,8 @@
4440 struct xive_ops {
4541 int (*populate_irq_data)(u32 hw_irq, struct xive_irq_data *data);
4642 int (*configure_irq)(u32 hw_irq, u32 target, u8 prio, u32 sw_irq);
43
+ int (*get_irq_config)(u32 hw_irq, u32 *target, u8 *prio,
44
+ u32 *sw_irq);
4745 int (*setup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio);
4846 void (*cleanup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio);
4947 void (*setup_cpu)(unsigned int cpu, struct xive_cpu *xc);
....@@ -59,12 +57,14 @@
5957 int (*get_ipi)(unsigned int cpu, struct xive_cpu *xc);
6058 void (*put_ipi)(unsigned int cpu, struct xive_cpu *xc);
6159 #endif
60
+ int (*debug_show)(struct seq_file *m, void *private);
6261 const char *name;
6362 };
6463
6564 bool xive_core_init(const struct xive_ops *ops, void __iomem *area, u32 offset,
6665 u8 max_prio);
6766 __be32 *xive_queue_page_alloc(unsigned int cpu, u32 queue_shift);
67
+int xive_core_debug_init(void);
6868
6969 static inline u32 xive_alloc_order(u32 queue_shift)
7070 {