On 2020-09-25 4:09 p.m., Alex Deucher wrote:
> From: Huang Rui <[email protected]>
>
> The interrupts are not stable while uses guest physical address (GPA)
> for interrupt packet write space even on direct loading case.
>
> Signed-off-by: Huang Rui <[email protected]>
> Acked-by: Alex Deucher <[email protected]>
> Signed-off-by: Alex Deucher <[email protected]>
> ---
> drivers/gpu/drm/amd/amdgpu/navi10_ih.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/navi10_ih.c
> b/drivers/gpu/drm/amd/amdgpu/navi10_ih.c
> index ce4a974ab777..b66414998c90 100644
> --- a/drivers/gpu/drm/amd/amdgpu/navi10_ih.c
> +++ b/drivers/gpu/drm/amd/amdgpu/navi10_ih.c
> @@ -661,7 +661,10 @@ static int navi10_ih_sw_init(void *handle)
> /* use gpu virtual address for ih ring
> * until ih_checken is programmed to allow
> * use bus address for ih ring by psp bl */
> - use_bus_addr =
> + if (adev->flags & AMD_IS_APU)
> + use_bus_addr = false;
> + else
> + use_bus_addr =
> (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) ? false : true;
Previously to this patch, as a one-liner, it made sense to use a ternary
expression,
but adding the if-conditional, perhaps a more readable way would be:
if (adev->flags & AMD_IS_APU ||
adev->firmware.load_type == AMDGPU_FW_LOAD_PSP)
use_bus_addr = false;
else
use_bus_addr = true;
Regards,
Luben
> r = amdgpu_ih_ring_init(adev, &adev->irq.ih, 256 * 1024, use_bus_addr);
> if (r)
>
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx