aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h1
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h29
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 */
1359int amdgpu_device_gpu_recover(struct amdgpu_device *adev, 1358int 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
153extern const struct amd_ip_funcs psp_ip_funcs; 158extern const struct amd_ip_funcs psp_ip_funcs;
154 159
155extern const struct amdgpu_ip_block_version psp_v3_1_ip_block; 160extern const struct amdgpu_ip_block_version psp_v3_1_ip_block;