1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 2/*
 3 * Copyright IBM Corp. 2015
 4 *
 5 * Authors: Gavin Shan <gwshan@linux.vnet.ibm.com>
 6 */
 7
 8#ifndef _ASM_POWERPC_EEH_H
 9#define _ASM_POWERPC_EEH_H
10
11/* PE states */
12#define EEH_PE_STATE_NORMAL		0	/* Normal state		*/
13#define EEH_PE_STATE_RESET		1	/* PE reset asserted	*/
14#define EEH_PE_STATE_STOPPED_IO_DMA	2	/* Frozen PE		*/
15#define EEH_PE_STATE_STOPPED_DMA	4	/* Stopped DMA only	*/
16#define EEH_PE_STATE_UNAVAIL		5	/* Unavailable		*/
17
18/* EEH error types and functions */
19#define EEH_ERR_TYPE_32			0       /* 32-bits error	*/
20#define EEH_ERR_TYPE_64			1       /* 64-bits error	*/
21#define EEH_ERR_FUNC_MIN		0
22#define EEH_ERR_FUNC_LD_MEM_ADDR	0	/* Memory load	*/
23#define EEH_ERR_FUNC_LD_MEM_DATA	1
24#define EEH_ERR_FUNC_LD_IO_ADDR		2	/* IO load	*/
25#define EEH_ERR_FUNC_LD_IO_DATA		3
26#define EEH_ERR_FUNC_LD_CFG_ADDR	4	/* Config load	*/
27#define EEH_ERR_FUNC_LD_CFG_DATA	5
28#define EEH_ERR_FUNC_ST_MEM_ADDR	6	/* Memory store	*/
29#define EEH_ERR_FUNC_ST_MEM_DATA	7
30#define EEH_ERR_FUNC_ST_IO_ADDR		8	/* IO store	*/
31#define EEH_ERR_FUNC_ST_IO_DATA		9
32#define EEH_ERR_FUNC_ST_CFG_ADDR	10	/* Config store	*/
33#define EEH_ERR_FUNC_ST_CFG_DATA	11
34#define EEH_ERR_FUNC_DMA_RD_ADDR	12	/* DMA read	*/
35#define EEH_ERR_FUNC_DMA_RD_DATA	13
36#define EEH_ERR_FUNC_DMA_RD_MASTER	14
37#define EEH_ERR_FUNC_DMA_RD_TARGET	15
38#define EEH_ERR_FUNC_DMA_WR_ADDR	16	/* DMA write	*/
39#define EEH_ERR_FUNC_DMA_WR_DATA	17
40#define EEH_ERR_FUNC_DMA_WR_MASTER	18
41#define EEH_ERR_FUNC_DMA_WR_TARGET	19
42#define EEH_ERR_FUNC_MAX		19
43
44#endif /* _ASM_POWERPC_EEH_H */