.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | /* |
---|
2 | 3 | * 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. |
---|
8 | 4 | */ |
---|
9 | 5 | #ifndef __XIVE_INTERNAL_H |
---|
10 | 6 | #define __XIVE_INTERNAL_H |
---|
.. | .. |
---|
44 | 40 | struct xive_ops { |
---|
45 | 41 | int (*populate_irq_data)(u32 hw_irq, struct xive_irq_data *data); |
---|
46 | 42 | 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); |
---|
47 | 45 | int (*setup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio); |
---|
48 | 46 | void (*cleanup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio); |
---|
49 | 47 | void (*setup_cpu)(unsigned int cpu, struct xive_cpu *xc); |
---|
.. | .. |
---|
59 | 57 | int (*get_ipi)(unsigned int cpu, struct xive_cpu *xc); |
---|
60 | 58 | void (*put_ipi)(unsigned int cpu, struct xive_cpu *xc); |
---|
61 | 59 | #endif |
---|
| 60 | + int (*debug_show)(struct seq_file *m, void *private); |
---|
62 | 61 | const char *name; |
---|
63 | 62 | }; |
---|
64 | 63 | |
---|
65 | 64 | bool xive_core_init(const struct xive_ops *ops, void __iomem *area, u32 offset, |
---|
66 | 65 | u8 max_prio); |
---|
67 | 66 | __be32 *xive_queue_page_alloc(unsigned int cpu, u32 queue_shift); |
---|
| 67 | +int xive_core_debug_init(void); |
---|
68 | 68 | |
---|
69 | 69 | static inline u32 xive_alloc_order(u32 queue_shift) |
---|
70 | 70 | { |
---|