File tree Expand file tree Collapse file tree 2 files changed +28
-0
lines changed
drivers/gpu/drm/amd/amdgpu Expand file tree Collapse file tree 2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -1154,6 +1154,8 @@ void amdgpu_discovery_harvest_ip(struct amdgpu_device *adev)
11541154
11551155union gc_info {
11561156 struct gc_info_v1_0 v1 ;
1157+ struct gc_info_v1_1 v1_1 ;
1158+ struct gc_info_v1_2 v1_2 ;
11571159 struct gc_info_v2_0 v2 ;
11581160};
11591161
@@ -1190,6 +1192,21 @@ int amdgpu_discovery_get_gfx_info(struct amdgpu_device *adev)
11901192 adev -> gfx .config .num_sc_per_sh = le32_to_cpu (gc_info -> v1 .gc_num_sc_per_se ) /
11911193 le32_to_cpu (gc_info -> v1 .gc_num_sa_per_se );
11921194 adev -> gfx .config .num_packer_per_sc = le32_to_cpu (gc_info -> v1 .gc_num_packer_per_sc );
1195+ if (gc_info -> v1 .header .version_minor >= 1 ) {
1196+ adev -> gfx .config .gc_num_tcp_per_sa = le32_to_cpu (gc_info -> v1_1 .gc_num_tcp_per_sa );
1197+ adev -> gfx .config .gc_num_sdp_interface = le32_to_cpu (gc_info -> v1_1 .gc_num_sdp_interface );
1198+ adev -> gfx .config .gc_num_tcps = le32_to_cpu (gc_info -> v1_1 .gc_num_tcps );
1199+ }
1200+ if (gc_info -> v1 .header .version_minor >= 2 ) {
1201+ adev -> gfx .config .gc_num_tcp_per_wpg = le32_to_cpu (gc_info -> v1_2 .gc_num_tcp_per_wpg );
1202+ adev -> gfx .config .gc_tcp_l1_size = le32_to_cpu (gc_info -> v1_2 .gc_tcp_l1_size );
1203+ adev -> gfx .config .gc_num_sqc_per_wgp = le32_to_cpu (gc_info -> v1_2 .gc_num_sqc_per_wgp );
1204+ adev -> gfx .config .gc_l1_instruction_cache_size_per_sqc = le32_to_cpu (gc_info -> v1_2 .gc_l1_instruction_cache_size_per_sqc );
1205+ adev -> gfx .config .gc_l1_data_cache_size_per_sqc = le32_to_cpu (gc_info -> v1_2 .gc_l1_data_cache_size_per_sqc );
1206+ adev -> gfx .config .gc_gl1c_per_sa = le32_to_cpu (gc_info -> v1_2 .gc_gl1c_per_sa );
1207+ adev -> gfx .config .gc_gl1c_size_per_instance = le32_to_cpu (gc_info -> v1_2 .gc_gl1c_size_per_instance );
1208+ adev -> gfx .config .gc_gl2c_per_gpu = le32_to_cpu (gc_info -> v1_2 .gc_gl2c_per_gpu );
1209+ }
11931210 break ;
11941211 case 2 :
11951212 adev -> gfx .config .max_shader_engines = le32_to_cpu (gc_info -> v2 .gc_num_se );
Original file line number Diff line number Diff line change @@ -183,6 +183,17 @@ struct amdgpu_gfx_config {
183183 uint32_t num_packer_per_sc ;
184184 uint32_t pa_sc_tile_steering_override ;
185185 uint64_t tcc_disabled_mask ;
186+ uint32_t gc_num_tcp_per_sa ;
187+ uint32_t gc_num_sdp_interface ;
188+ uint32_t gc_num_tcps ;
189+ uint32_t gc_num_tcp_per_wpg ;
190+ uint32_t gc_tcp_l1_size ;
191+ uint32_t gc_num_sqc_per_wgp ;
192+ uint32_t gc_l1_instruction_cache_size_per_sqc ;
193+ uint32_t gc_l1_data_cache_size_per_sqc ;
194+ uint32_t gc_gl1c_per_sa ;
195+ uint32_t gc_gl1c_size_per_instance ;
196+ uint32_t gc_gl2c_per_gpu ;
186197};
187198
188199struct amdgpu_cu_info {
You can’t perform that action at this time.
0 commit comments