Revert "drm/amdgpu: make sure to init common IP before gmc"
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 20 Oct 2022 15:38:57 +0000 (11:38 -0400)
committerSalvatore Bonaccorso <carnil@debian.org>
Fri, 21 Oct 2022 20:24:21 +0000 (21:24 +0100)
Origin: https://lore.kernel.org/stable/20221020153857.565160-2-alexander.deucher@amd.com/
Bug-Debian: https://bugs.debian.org/1022025

This reverts commit 7b0db849ea030a70b8fb9c9afec67c81f955482e.

The patches that this patch depends on were not backported properly
and the patch that caused the regression that this patch set fixed
was reverted in commit 412b844143e3 ("Revert "PCI/portdrv: Don't disable AER reporting in get_port_device_capability()"").
This isn't necessary and causes a regression so drop it.

Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2216
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: <stable@vger.kernel.org> # 5.10
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name Revert-drm-amdgpu-make-sure-to-init-common-IP-before.patch

drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 881045e600af28e47c21a3a9418762cbcbd239d2..bde0496d2f153961c758d7cdf8e6d758e9ca892c 100644 (file)
@@ -2179,16 +2179,8 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
                }
                adev->ip_blocks[i].status.sw = true;
 
-               if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) {
-                       /* need to do common hw init early so everything is set up for gmc */
-                       r = adev->ip_blocks[i].version->funcs->hw_init((void *)adev);
-                       if (r) {
-                               DRM_ERROR("hw_init %d failed %d\n", i, r);
-                               goto init_failed;
-                       }
-                       adev->ip_blocks[i].status.hw = true;
-               } else if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) {
-                       /* need to do gmc hw init early so we can allocate gpu mem */
+               /* need to do gmc hw init early so we can allocate gpu mem */
+               if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) {
                        /* Try to reserve bad pages early */
                        if (amdgpu_sriov_vf(adev))
                                amdgpu_virt_exchange_data(adev);
@@ -2770,8 +2762,8 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
        int i, r;
 
        static enum amd_ip_block_type ip_order[] = {
-               AMD_IP_BLOCK_TYPE_COMMON,
                AMD_IP_BLOCK_TYPE_GMC,
+               AMD_IP_BLOCK_TYPE_COMMON,
                AMD_IP_BLOCK_TYPE_PSP,
                AMD_IP_BLOCK_TYPE_IH,
        };