Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: Add Fiji DID 0x7300 common support

Signed-off-by: David Zhang <david1.zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>

authored by

David Zhang and committed by
Alex Deucher
48299f95 41548ef7

+37
+2
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
··· 55 55 "MULLINS", 56 56 "TOPAZ", 57 57 "TONGA", 58 + "FIJI", 58 59 "CARRIZO", 59 60 "LAST", 60 61 }; ··· 1161 1160 switch (adev->asic_type) { 1162 1161 case CHIP_TOPAZ: 1163 1162 case CHIP_TONGA: 1163 + case CHIP_FIJI: 1164 1164 case CHIP_CARRIZO: 1165 1165 if (adev->asic_type == CHIP_CARRIZO) 1166 1166 adev->family = AMDGPU_FAMILY_CZ;
+34
drivers/gpu/drm/amd/amdgpu/vi.c
··· 203 203 mmHDP_XDP_CGTT_BLK_CTRL, 0xc0000fff, 0x00000104, 204 204 }; 205 205 206 + static const u32 fiji_mgcg_cgcg_init[] = 207 + { 208 + mmCGTT_DRM_CLK_CTRL0, 0xffffffff, 0x00600100, 209 + mmPCIE_INDEX, 0xffffffff, 0x0140001c, 210 + mmPCIE_DATA, 0x000f0000, 0x00000000, 211 + mmSMC_IND_INDEX_4, 0xffffffff, 0xC060000C, 212 + mmSMC_IND_DATA_4, 0xc0000fff, 0x00000100, 213 + mmCGTT_DRM_CLK_CTRL0, 0xff000fff, 0x00000100, 214 + mmHDP_XDP_CGTT_BLK_CTRL, 0xc0000fff, 0x00000104, 215 + }; 216 + 206 217 static const u32 iceland_mgcg_cgcg_init[] = 207 218 { 208 219 mmPCIE_INDEX, 0xffffffff, ixPCIE_CNTL2, ··· 242 231 amdgpu_program_register_sequence(adev, 243 232 iceland_mgcg_cgcg_init, 244 233 (const u32)ARRAY_SIZE(iceland_mgcg_cgcg_init)); 234 + break; 235 + case CHIP_FIJI: 236 + amdgpu_program_register_sequence(adev, 237 + fiji_mgcg_cgcg_init, 238 + (const u32)ARRAY_SIZE(fiji_mgcg_cgcg_init)); 245 239 break; 246 240 case CHIP_TONGA: 247 241 amdgpu_program_register_sequence(adev, ··· 485 469 asic_register_table = tonga_allowed_read_registers; 486 470 size = ARRAY_SIZE(tonga_allowed_read_registers); 487 471 break; 472 + case CHIP_FIJI: 488 473 case CHIP_TONGA: 489 474 case CHIP_CARRIZO: 490 475 asic_register_table = cz_allowed_read_registers; ··· 1164 1147 }, 1165 1148 }; 1166 1149 1150 + static const struct amdgpu_ip_block_version fiji_ip_blocks[] = 1151 + { 1152 + /* ORDER MATTERS! */ 1153 + { 1154 + .type = AMD_IP_BLOCK_TYPE_COMMON, 1155 + .major = 2, 1156 + .minor = 0, 1157 + .rev = 0, 1158 + .funcs = &vi_common_ip_funcs, 1159 + } 1160 + }; 1161 + 1167 1162 static const struct amdgpu_ip_block_version cz_ip_blocks[] = 1168 1163 { 1169 1164 /* ORDER MATTERS! */ ··· 1250 1221 case CHIP_TOPAZ: 1251 1222 adev->ip_blocks = topaz_ip_blocks; 1252 1223 adev->num_ip_blocks = ARRAY_SIZE(topaz_ip_blocks); 1224 + break; 1225 + case CHIP_FIJI: 1226 + adev->ip_blocks = fiji_ip_blocks; 1227 + adev->num_ip_blocks = ARRAY_SIZE(fiji_ip_blocks); 1253 1228 break; 1254 1229 case CHIP_TONGA: 1255 1230 adev->ip_blocks = tonga_ip_blocks; ··· 1332 1299 if (amdgpu_smc_load_fw && smc_enabled) 1333 1300 adev->firmware.smu_load = true; 1334 1301 break; 1302 + case CHIP_FIJI: 1335 1303 case CHIP_TONGA: 1336 1304 adev->has_uvd = true; 1337 1305 adev->cg_flags = 0;
+1
drivers/gpu/drm/amd/include/amd_shared.h
··· 45 45 CHIP_MULLINS, 46 46 CHIP_TOPAZ, 47 47 CHIP_TONGA, 48 + CHIP_FIJI, 48 49 CHIP_CARRIZO, 49 50 CHIP_LAST, 50 51 };