From: Greg Kroah-Hartman Date: Tue, 18 Oct 2022 06:50:02 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v6.0.3~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8e78d9bd9743d07c13c72e6a781c47b87127c295;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: revert-drm-amdgpu-move-nbio-sdma_doorbell_range-into-sdma-code-for-vega.patch revert-drm-amdgpu-use-dirty-framebuffer-helper.patch --- diff --git a/queue-5.10/revert-drm-amdgpu-move-nbio-sdma_doorbell_range-into-sdma-code-for-vega.patch b/queue-5.10/revert-drm-amdgpu-move-nbio-sdma_doorbell_range-into-sdma-code-for-vega.patch new file mode 100644 index 00000000000..a00dfdb02c4 --- /dev/null +++ b/queue-5.10/revert-drm-amdgpu-move-nbio-sdma_doorbell_range-into-sdma-code-for-vega.patch @@ -0,0 +1,84 @@ +From skhan@linuxfoundation.org Tue Oct 18 08:48:30 2022 +From: Shuah Khan +Date: Mon, 17 Oct 2022 19:07:45 -0600 +Subject: Revert "drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega" +To: sashal@kernel.org, gregkh@linuxfoundation.org +Cc: Shuah Khan , alexander.deucher@amd.com, linux-kernel@vger.kernel.org, stable@vger.kernel.org +Message-ID: <20221018010746.603662-1-skhan@linuxfoundation.org> + +From: Shuah Khan + +This reverts commit 9f55f36f749a7608eeef57d7d72991a9bd557341 which is +commit e3163bc8ffdfdb405e10530b140135b2ee487f89 upstream. + +This commit causes repeated WARN_ONs from + +drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amd +gpu_dm.c:7391 amdgpu_dm_atomic_commit_tail+0x23b9/0x2430 [amdgpu] + +dmesg fills up with the following messages and drm initialization takes +a very long time. + +Cc: # 5.10 +Signed-off-by: Shuah Khan +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 5 ----- + drivers/gpu/drm/amd/amdgpu/soc15.c | 25 +++++++++++++++++++++++++ + 2 files changed, 25 insertions(+), 5 deletions(-) + +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +@@ -1475,11 +1475,6 @@ static int sdma_v4_0_start(struct amdgpu + WREG32_SDMA(i, mmSDMA0_CNTL, temp); + + if (!amdgpu_sriov_vf(adev)) { +- ring = &adev->sdma.instance[i].ring; +- adev->nbio.funcs->sdma_doorbell_range(adev, i, +- ring->use_doorbell, ring->doorbell_index, +- adev->doorbell_index.sdma_doorbell_range); +- + /* unhalt engine */ + temp = RREG32_SDMA(i, mmSDMA0_F32_CNTL); + temp = REG_SET_FIELD(temp, SDMA0_F32_CNTL, HALT, 0); +--- a/drivers/gpu/drm/amd/amdgpu/soc15.c ++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c +@@ -1332,6 +1332,25 @@ static int soc15_common_sw_fini(void *ha + return 0; + } + ++static void soc15_doorbell_range_init(struct amdgpu_device *adev) ++{ ++ int i; ++ struct amdgpu_ring *ring; ++ ++ /* sdma/ih doorbell range are programed by hypervisor */ ++ if (!amdgpu_sriov_vf(adev)) { ++ for (i = 0; i < adev->sdma.num_instances; i++) { ++ ring = &adev->sdma.instance[i].ring; ++ adev->nbio.funcs->sdma_doorbell_range(adev, i, ++ ring->use_doorbell, ring->doorbell_index, ++ adev->doorbell_index.sdma_doorbell_range); ++ } ++ ++ adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell, ++ adev->irq.ih.doorbell_index); ++ } ++} ++ + static int soc15_common_hw_init(void *handle) + { + struct amdgpu_device *adev = (struct amdgpu_device *)handle; +@@ -1351,6 +1370,12 @@ static int soc15_common_hw_init(void *ha + + /* enable the doorbell aperture */ + soc15_enable_doorbell_aperture(adev, true); ++ /* HW doorbell routing policy: doorbell writing not ++ * in SDMA/IH/MM/ACV range will be routed to CP. So ++ * we need to init SDMA/IH/MM/ACV doorbell range prior ++ * to CP ip block init and ring test. ++ */ ++ soc15_doorbell_range_init(adev); + + return 0; + } diff --git a/queue-5.10/revert-drm-amdgpu-use-dirty-framebuffer-helper.patch b/queue-5.10/revert-drm-amdgpu-use-dirty-framebuffer-helper.patch new file mode 100644 index 00000000000..485ecf0646c --- /dev/null +++ b/queue-5.10/revert-drm-amdgpu-use-dirty-framebuffer-helper.patch @@ -0,0 +1,51 @@ +From skhan@linuxfoundation.org Tue Oct 18 08:49:21 2022 +From: Shuah Khan +Date: Mon, 17 Oct 2022 19:07:46 -0600 +Subject: Revert "drm/amdgpu: use dirty framebuffer helper" +To: gregkh@linuxfoundation.org, sashal@kernel.org +Cc: Shuah Khan , alexander.deucher@amd.com, hamza.mahfooz@amd.com, linux-kernel@vger.kernel.org, stable@vger.kernel.org +Message-ID: <20221018010746.603662-2-skhan@linuxfoundation.org> + +From: Shuah Khan + +This reverts commit 867b2b2b6802fb3995a0065fc39e0e7e20d8004d which is +commit 66f99628eb24409cb8feb5061f78283c8b65f820 upstream. + +With this commit, dmesg fills up with the following messages and drm +initialization takes a very long time. This commit has bee reverted +from 5.4 + +[drm] Fence fallback timer expired on ring sdma0 +[drm] Fence fallback timer expired on ring gfx +[drm] Fence fallback timer expired on ring sdma0 +[drm] Fence fallback timer expired on ring gfx +[drm] Fence fallback timer expired on ring sdma0 +[drm] Fence fallback timer expired on ring sdma0 +[drm] Fence fallback timer expired on ring sdma0 +[drm] Fence fallback timer expired on ring gfx + +Cc: # 5.10 +Signed-off-by: Shuah Khan +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 -- + 1 file changed, 2 deletions(-) + +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +@@ -35,7 +35,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -499,7 +498,6 @@ bool amdgpu_display_ddc_probe(struct amd + static const struct drm_framebuffer_funcs amdgpu_fb_funcs = { + .destroy = drm_gem_fb_destroy, + .create_handle = drm_gem_fb_create_handle, +- .dirty = drm_atomic_helper_dirtyfb, + }; + + uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev, diff --git a/queue-5.10/series b/queue-5.10/series index 9bab94cba31..4a8e5998c03 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -456,3 +456,5 @@ net-ieee802154-don-t-warn-zero-sized-raw_sendmsg.patch phy-qcom-qmp-fix-msm8996-pcie-phy-support.patch clk-fix-pointer-casting-to-prevent-oops-in-devm_clk_release.patch net-wwan-t7xx-use-gfp_atomic-under-spin-lock-in-t7xx_cldma_gpd_set_next_ptr.patch +revert-drm-amdgpu-move-nbio-sdma_doorbell_range-into-sdma-code-for-vega.patch +revert-drm-amdgpu-use-dirty-framebuffer-helper.patch