[PATCH v2] drm/amdkfd: Don't drain ih1 for APU
Alex Deucher
alexdeucher at gmail.com
Tue Aug 27 13:27:04 UTC 2024
On Tue, Aug 27, 2024 at 9:21 AM Yifan Zhang <yifan1.zhang at amd.com> wrote:
>
> ih1 is not initialized for APUs. Don't drain it or NULL pointer
> error will be triggered.
>
> Fixes: 490fc21fe97c (drm/amdkfd: Change kfd/svm page fault drain handling)
> Signed-off-by: Yifan Zhang <yifan1.zhang at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
> index b44dec90969f..512cbf9403a3 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
> @@ -2458,11 +2458,13 @@ svm_range_unmap_from_cpu(struct mm_struct *mm, struct svm_range *prange,
> adev = pdd->dev->adev;
>
> /* Check and drain ih1 ring if cam not available */
> - ih = &adev->irq.ih1;
> - checkpoint_wptr = amdgpu_ih_get_wptr(adev, ih);
> - if (ih->rptr != checkpoint_wptr) {
> - svms->checkpoint_ts[i] = amdgpu_ih_decode_iv_ts(adev, ih, checkpoint_wptr, -1);
> - continue;
> + if (adev->irq.ih1.ring_size) {
> + ih = &adev->irq.ih1;
> + checkpoint_wptr = amdgpu_ih_get_wptr(adev, ih);
> + if (ih->rptr != checkpoint_wptr) {
> + svms->checkpoint_ts[i] = amdgpu_ih_decode_iv_ts(adev, ih, checkpoint_wptr, -1);
> + continue;
> + }
> }
>
> /* check if dev->irq.ih_soft is not empty */
> --
> 2.37.3
>
More information about the amd-gfx
mailing list