]>
Commit | Line | Data |
---|---|---|
1d0761d2 AP |
1 | /* |
2 | * Copyright 2017 IBM Corp. | |
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 | */ | |
9 | ||
10 | #ifndef _ASM_POWERNV_H | |
11 | #define _ASM_POWERNV_H | |
12 | ||
13 | #ifdef CONFIG_PPC_POWERNV | |
1ab66d1f | 14 | #define NPU2_WRITE 1 |
1d0761d2 | 15 | extern void powernv_set_nmmu_ptcr(unsigned long ptcr); |
1ab66d1f AP |
16 | extern struct npu_context *pnv_npu2_init_context(struct pci_dev *gpdev, |
17 | unsigned long flags, | |
a1409ada | 18 | void (*cb)(struct npu_context *, void *), |
1ab66d1f AP |
19 | void *priv); |
20 | extern void pnv_npu2_destroy_context(struct npu_context *context, | |
21 | struct pci_dev *gpdev); | |
22 | extern int pnv_npu2_handle_fault(struct npu_context *context, uintptr_t *ea, | |
23 | unsigned long *flags, unsigned long *status, | |
24 | int count); | |
54820530 ME |
25 | |
26 | void pnv_tm_init(void); | |
1d0761d2 AP |
27 | #else |
28 | static inline void powernv_set_nmmu_ptcr(unsigned long ptcr) { } | |
1ab66d1f AP |
29 | static inline struct npu_context *pnv_npu2_init_context(struct pci_dev *gpdev, |
30 | unsigned long flags, | |
31 | struct npu_context *(*cb)(struct npu_context *, void *), | |
32 | void *priv) { return ERR_PTR(-ENODEV); } | |
33 | static inline void pnv_npu2_destroy_context(struct npu_context *context, | |
34 | struct pci_dev *gpdev) { } | |
35 | ||
36 | static inline int pnv_npu2_handle_fault(struct npu_context *context, | |
37 | uintptr_t *ea, unsigned long *flags, | |
38 | unsigned long *status, int count) { | |
39 | return -ENODEV; | |
40 | } | |
54820530 ME |
41 | |
42 | static inline void pnv_tm_init(void) { } | |
7672691a | 43 | static inline void pnv_power9_force_smt4(void) { } |
1d0761d2 AP |
44 | #endif |
45 | ||
46 | #endif /* _ASM_POWERNV_H */ |