FAILED: patch "[PATCH] drm/amdgpu: move nbio ih_doorbell_range() into ih code for" failed to apply to 5.10-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Possible dependencies:
dc1d85cb790f ("drm/amdgpu: move nbio ih_doorbell_range() into ih code for vega") b672cb1eee59 ("drm/amdgpu: enable retry fault wptr overflow") bebd4c79a4eb ("drm/amdgpu: create vega20 ih blocks")554bdbf6de74 ("drm/amdgpu: use cached ih rb control reg offsets for vega10") 21822b6a968d ("drm/amdgpu: switch to ih_enable_ring for vega10") fd95e1b1049e ("drm/amdgpu: switch to ih_toggle_interrupts for vega10") c73750322aaf ("drm/amdgpu: add helper to toggle ih ring interrupts for vega10") ffa02126e0ef ("drm/amdgpu: add helper to enable an ih ring for vega10") 1ebb4841f064 ("drm/amdgpu: add helper to init ih ring regs for vega10") 4750918978a7 ("drm/amdgpu: enabled software IH ring for Vega")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From dc1d85cb790f2091eea074cee24a704b2d6c4a06 Mon Sep 17 00:00:00 2001
From: Alex Deucher <[email protected]>
Date: Fri, 9 Sep 2022 11:47:20 -0400
Subject: [PATCH] drm/amdgpu: move nbio ih_doorbell_range() into ih code for
vega
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This mirrors what we do for other asics and this way we are sure the ih doorbell range is properly initialized.
There is a comment about the way doorbells on gfx9 work that requires that they are initialized for other IPs before GFX is initialized. In this case IH is initialized before GFX, so there should be no issue.
This is a prerequisite for fixing the Unsupported Request error reported through AER during driver load.
The error was unnoticed before and got visible because of the commit referenced below. This doesn't fix anything in the commit below, rather fixes the issue in amdgpu exposed by the commit. The reference is only to associate this commit with below one so that both go together.
drivers/gpu/drm/amd/amdgpu/soc15.c +0 -3
@@ -1224,9 +1224,6 @@ static void soc15_doorbell_range_init(struct amdgpu_device *adev) 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); } }
drivers/gpu/drm/amd/amdgpu/vega10_ih.c +4 -0
@@ -289,6 +289,10 @@ static int vega10_ih_irq_init(struct amdgpu_device *adev) } } +if (!amdgpu_sriov_vf (adev)) + adev->nbio.funcs->ih_doorbell_range (adev, adev->irq.ih.use_doorbell, + adev->irq.ih.doorbell_index); +pci_set_master (adev->pdev);/* enable interrupts */
drivers/gpu/drm/amd/amdgpu/vega20_ih.c +4 -0
@@ -340,6 +340,10 @@ static int vega20_ih_irq_init(struct amdgpu_device *adev) } } +if (!amdgpu_sriov_vf (adev)) + adev->nbio.funcs->ih_doorbell_range (adev, adev->irq.ih.use_doorbell, + adev->irq.ih.doorbell_index); +pci_set_master (adev->pdev);/* enable interrupts */