1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #ifndef __VF_ERROR_H__
25 #define __VF_ERROR_H__
26
27 #define AMDGIM_ERROR_CODE_FLAGS_TO_MAILBOX(c,f) (((c & 0xFFFF) << 16) | (f & 0xFFFF))
28 #define AMDGIM_ERROR_CODE(t,c) (((t&0xF)<<12)|(c&0xFFF))
29
30
31 enum AMDGIM_ERROR_VF {
32 AMDGIM_ERROR_VF_ATOMBIOS_INIT_FAIL = 0,
33 AMDGIM_ERROR_VF_NO_VBIOS,
34 AMDGIM_ERROR_VF_GPU_POST_ERROR,
35 AMDGIM_ERROR_VF_ATOMBIOS_GET_CLOCK_FAIL,
36 AMDGIM_ERROR_VF_FENCE_INIT_FAIL,
37
38 AMDGIM_ERROR_VF_AMDGPU_INIT_FAIL,
39 AMDGIM_ERROR_VF_IB_INIT_FAIL,
40 AMDGIM_ERROR_VF_AMDGPU_LATE_INIT_FAIL,
41 AMDGIM_ERROR_VF_ASIC_RESUME_FAIL,
42 AMDGIM_ERROR_VF_GPU_RESET_FAIL,
43
44 AMDGIM_ERROR_VF_TEST,
45 AMDGIM_ERROR_VF_MAX
46 };
47
48 enum AMDGIM_ERROR_CATEGORY {
49 AMDGIM_ERROR_CATEGORY_NON_USED = 0,
50 AMDGIM_ERROR_CATEGORY_GIM,
51 AMDGIM_ERROR_CATEGORY_PF,
52 AMDGIM_ERROR_CATEGORY_VF,
53 AMDGIM_ERROR_CATEGORY_VBIOS,
54 AMDGIM_ERROR_CATEGORY_MONITOR,
55
56 AMDGIM_ERROR_CATEGORY_MAX
57 };
58
59 void amdgpu_vf_error_put(struct amdgpu_device *adev,
60 uint16_t sub_error_code,
61 uint16_t error_flags,
62 uint64_t error_data);
63 void amdgpu_vf_error_trans_all (struct amdgpu_device *adev);
64
65 #endif