| /* | 
 |  * Copyright 2017 IBM Corp. | 
 |  * | 
 |  * This program is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU General Public License | 
 |  * as published by the Free Software Foundation; either version | 
 |  * 2 of the License, or (at your option) any later version. | 
 |  */ | 
 |  | 
 | #ifndef _ASM_POWERNV_H | 
 | #define _ASM_POWERNV_H | 
 |  | 
 | #ifdef CONFIG_PPC_POWERNV | 
 | #define NPU2_WRITE 1 | 
 | extern void powernv_set_nmmu_ptcr(unsigned long ptcr); | 
 | extern struct npu_context *pnv_npu2_init_context(struct pci_dev *gpdev, | 
 | 			unsigned long flags, | 
 | 			struct npu_context *(*cb)(struct npu_context *, void *), | 
 | 			void *priv); | 
 | extern void pnv_npu2_destroy_context(struct npu_context *context, | 
 | 				struct pci_dev *gpdev); | 
 | extern int pnv_npu2_handle_fault(struct npu_context *context, uintptr_t *ea, | 
 | 				unsigned long *flags, unsigned long *status, | 
 | 				int count); | 
 |  | 
 | void pnv_tm_init(void); | 
 | #else | 
 | static inline void powernv_set_nmmu_ptcr(unsigned long ptcr) { } | 
 | static inline struct npu_context *pnv_npu2_init_context(struct pci_dev *gpdev, | 
 | 			unsigned long flags, | 
 | 			struct npu_context *(*cb)(struct npu_context *, void *), | 
 | 			void *priv) { return ERR_PTR(-ENODEV); } | 
 | static inline void pnv_npu2_destroy_context(struct npu_context *context, | 
 | 					struct pci_dev *gpdev) { } | 
 |  | 
 | static inline int pnv_npu2_handle_fault(struct npu_context *context, | 
 | 					uintptr_t *ea, unsigned long *flags, | 
 | 					unsigned long *status, int count) { | 
 | 	return -ENODEV; | 
 | } | 
 |  | 
 | static inline void pnv_tm_init(void) { } | 
 | #endif | 
 |  | 
 | #endif /* _ASM_POWERNV_H */ |