diff options
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 29 |
2 files changed, 17 insertions, 13 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index d39053d06b27..0568140e38b3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1353,7 +1353,6 @@ int emu_soc_asic_init(struct amdgpu_device *adev); | |||
1353 | #define amdgpu_display_add_encoder(adev, e, s, c) (adev)->mode_info.funcs->add_encoder((adev), (e), (s), (c)) | 1353 | #define amdgpu_display_add_encoder(adev, e, s, c) (adev)->mode_info.funcs->add_encoder((adev), (e), (s), (c)) |
1354 | #define amdgpu_display_add_connector(adev, ci, sd, ct, ib, coi, h, r) (adev)->mode_info.funcs->add_connector((adev), (ci), (sd), (ct), (ib), (coi), (h), (r)) | 1354 | #define amdgpu_display_add_connector(adev, ci, sd, ct, ib, coi, h, r) (adev)->mode_info.funcs->add_connector((adev), (ci), (sd), (ct), (ib), (coi), (h), (r)) |
1355 | #define amdgpu_gds_switch(adev, r, v, d, w, a) (adev)->gds.funcs->patch_gds_switch((r), (v), (d), (w), (a)) | 1355 | #define amdgpu_gds_switch(adev, r, v, d, w, a) (adev)->gds.funcs->patch_gds_switch((r), (v), (d), (w), (a)) |
1356 | #define amdgpu_psp_check_fw_loading_status(adev, i) (adev)->firmware.funcs->check_fw_loading_status((adev), (i)) | ||
1357 | 1356 | ||
1358 | /* Common functions */ | 1357 | /* Common functions */ |
1359 | int amdgpu_device_gpu_recover(struct amdgpu_device *adev, | 1358 | int amdgpu_device_gpu_recover(struct amdgpu_device *adev, |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h index 129209686848..967712fd6abd 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | |||
@@ -63,13 +63,16 @@ struct psp_funcs | |||
63 | int (*prep_cmd_buf)(struct amdgpu_firmware_info *ucode, | 63 | int (*prep_cmd_buf)(struct amdgpu_firmware_info *ucode, |
64 | struct psp_gfx_cmd_resp *cmd); | 64 | struct psp_gfx_cmd_resp *cmd); |
65 | int (*ring_init)(struct psp_context *psp, enum psp_ring_type ring_type); | 65 | int (*ring_init)(struct psp_context *psp, enum psp_ring_type ring_type); |
66 | int (*ring_create)(struct psp_context *psp, enum psp_ring_type ring_type); | 66 | int (*ring_create)(struct psp_context *psp, |
67 | enum psp_ring_type ring_type); | ||
67 | int (*ring_stop)(struct psp_context *psp, | 68 | int (*ring_stop)(struct psp_context *psp, |
68 | enum psp_ring_type ring_type); | 69 | enum psp_ring_type ring_type); |
69 | int (*ring_destroy)(struct psp_context *psp, | 70 | int (*ring_destroy)(struct psp_context *psp, |
70 | enum psp_ring_type ring_type); | 71 | enum psp_ring_type ring_type); |
71 | int (*cmd_submit)(struct psp_context *psp, struct amdgpu_firmware_info *ucode, | 72 | int (*cmd_submit)(struct psp_context *psp, |
72 | uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr, int index); | 73 | struct amdgpu_firmware_info *ucode, |
74 | uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr, | ||
75 | int index); | ||
73 | bool (*compare_sram_data)(struct psp_context *psp, | 76 | bool (*compare_sram_data)(struct psp_context *psp, |
74 | struct amdgpu_firmware_info *ucode, | 77 | struct amdgpu_firmware_info *ucode, |
75 | enum AMDGPU_UCODE_ID ucode_type); | 78 | enum AMDGPU_UCODE_ID ucode_type); |
@@ -83,11 +86,11 @@ struct psp_context | |||
83 | struct psp_ring km_ring; | 86 | struct psp_ring km_ring; |
84 | struct psp_gfx_cmd_resp *cmd; | 87 | struct psp_gfx_cmd_resp *cmd; |
85 | 88 | ||
86 | const struct psp_funcs *funcs; | 89 | const struct psp_funcs *funcs; |
87 | 90 | ||
88 | /* fence buffer */ | 91 | /* fence buffer */ |
89 | struct amdgpu_bo *fw_pri_bo; | 92 | struct amdgpu_bo *fw_pri_bo; |
90 | uint64_t fw_pri_mc_addr; | 93 | uint64_t fw_pri_mc_addr; |
91 | void *fw_pri_buf; | 94 | void *fw_pri_buf; |
92 | 95 | ||
93 | /* sos firmware */ | 96 | /* sos firmware */ |
@@ -100,8 +103,8 @@ struct psp_context | |||
100 | uint8_t *sos_start_addr; | 103 | uint8_t *sos_start_addr; |
101 | 104 | ||
102 | /* tmr buffer */ | 105 | /* tmr buffer */ |
103 | struct amdgpu_bo *tmr_bo; | 106 | struct amdgpu_bo *tmr_bo; |
104 | uint64_t tmr_mc_addr; | 107 | uint64_t tmr_mc_addr; |
105 | void *tmr_buf; | 108 | void *tmr_buf; |
106 | 109 | ||
107 | /* asd firmware and buffer */ | 110 | /* asd firmware and buffer */ |
@@ -110,13 +113,13 @@ struct psp_context | |||
110 | uint32_t asd_feature_version; | 113 | uint32_t asd_feature_version; |
111 | uint32_t asd_ucode_size; | 114 | uint32_t asd_ucode_size; |
112 | uint8_t *asd_start_addr; | 115 | uint8_t *asd_start_addr; |
113 | struct amdgpu_bo *asd_shared_bo; | 116 | struct amdgpu_bo *asd_shared_bo; |
114 | uint64_t asd_shared_mc_addr; | 117 | uint64_t asd_shared_mc_addr; |
115 | void *asd_shared_buf; | 118 | void *asd_shared_buf; |
116 | 119 | ||
117 | /* fence buffer */ | 120 | /* fence buffer */ |
118 | struct amdgpu_bo *fence_buf_bo; | 121 | struct amdgpu_bo *fence_buf_bo; |
119 | uint64_t fence_buf_mc_addr; | 122 | uint64_t fence_buf_mc_addr; |
120 | void *fence_buf; | 123 | void *fence_buf; |
121 | 124 | ||
122 | /* cmd buffer */ | 125 | /* cmd buffer */ |
@@ -150,6 +153,8 @@ struct amdgpu_psp_funcs { | |||
150 | #define psp_mode1_reset(psp) \ | 153 | #define psp_mode1_reset(psp) \ |
151 | ((psp)->funcs->mode1_reset ? (psp)->funcs->mode1_reset((psp)) : false) | 154 | ((psp)->funcs->mode1_reset ? (psp)->funcs->mode1_reset((psp)) : false) |
152 | 155 | ||
156 | #define amdgpu_psp_check_fw_loading_status(adev, i) (adev)->firmware.funcs->check_fw_loading_status((adev), (i)) | ||
157 | |||
153 | extern const struct amd_ip_funcs psp_ip_funcs; | 158 | extern const struct amd_ip_funcs psp_ip_funcs; |
154 | 159 | ||
155 | extern const struct amdgpu_ip_block_version psp_v3_1_ip_block; | 160 | extern const struct amdgpu_ip_block_version psp_v3_1_ip_block; |