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

drm/amdgpu: add gmc ip block support for GC 9.4.3

Initialize various gmc sw/hw settings/configurations
for GC 9.4.3.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Le Ma <Le.Ma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Hawking Zhang and committed by
Alex Deucher
ab1a157e b11e1930

+10 -4
+10 -4
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
··· 657 657 case IP_VERSION(2, 4, 0): 658 658 mmhub_cid = mmhub_client_ids_renoir[cid][rw]; 659 659 break; 660 + case IP_VERSION(1, 8, 0): 660 661 case IP_VERSION(9, 4, 2): 661 662 mmhub_cid = mmhub_client_ids_aldebaran[cid][rw]; 662 663 break; ··· 736 735 static bool gmc_v9_0_use_invalidate_semaphore(struct amdgpu_device *adev, 737 736 uint32_t vmhub) 738 737 { 739 - if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 2)) 738 + if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 2) || 739 + adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 3)) 740 740 return false; 741 741 742 742 return ((vmhub == AMDGPU_MMHUB_0 || ··· 1146 1144 switch (adev->ip_versions[GC_HWIP][0]) { 1147 1145 case IP_VERSION(9, 4, 1): 1148 1146 case IP_VERSION(9, 4, 2): 1147 + case IP_VERSION(9, 4, 3): 1149 1148 if (is_vram) { 1150 1149 if (bo_adev == adev) { 1151 1150 if (uncached) ··· 1158 1155 /* FIXME: is this still needed? Or does 1159 1156 * amdgpu_ttm_tt_pde_flags already handle this? 1160 1157 */ 1161 - if (adev->ip_versions[GC_HWIP][0] == 1162 - IP_VERSION(9, 4, 2) && 1158 + if ((adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 2) || 1159 + adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 3)) && 1163 1160 adev->gmc.xgmi.connected_to_cpu) 1164 1161 snoop = true; 1165 1162 } else { ··· 1547 1544 case IP_VERSION(9, 4, 0): 1548 1545 case IP_VERSION(9, 4, 1): 1549 1546 case IP_VERSION(9, 4, 2): 1547 + case IP_VERSION(9, 4, 3): 1550 1548 default: 1551 1549 adev->gmc.gart_size = 512ULL << 20; 1552 1550 break; ··· 1677 1673 case IP_VERSION(9, 4, 0): 1678 1674 case IP_VERSION(9, 3, 0): 1679 1675 case IP_VERSION(9, 4, 2): 1676 + case IP_VERSION(9, 4, 3): 1680 1677 adev->num_vmhubs = 2; 1681 1678 1682 1679 ··· 1774 1769 */ 1775 1770 adev->vm_manager.first_kfd_vmid = 1776 1771 (adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 1) || 1777 - adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 2)) ? 3 : 8; 1772 + adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 2) || 1773 + adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 3)) ? 3 : 8; 1778 1774 1779 1775 amdgpu_vm_manager_init(adev); 1780 1776