[PATCH] drm/amdgpu: fix PSP autoload twice in FLR
Luben Tuikov
luben.tuikov at amd.com
Wed Jul 29 14:18:25 UTC 2020
Reviewed-by: Luben Tuikov <luben.tuikov at amd.com>
On 2020-07-29 04:50, Liu ChengZhe wrote:
> Assigning false to block->status.hw overwrites PSP's previous
> hardware status, which causes the PSP to Resume operation after
> hardware init.
>
> Remove this assignment and let the PSP execute Resume operation
> when it is told to.
>
> v2: Remove the braces.
> v3: Modify the description.
>
> Signed-off-by: Liu ChengZhe <ChengZhe.Liu at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 62ecac97fbd2..5d9affa1d35a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
> AMD_IP_BLOCK_TYPE_IH,
> };
>
> + for (i = 0; i < adev->num_ip_blocks; i++)
> + adev->ip_blocks[i].status.hw = false;
> +
> for (i = 0; i < ARRAY_SIZE(ip_order); i++) {
> int j;
> struct amdgpu_ip_block *block;
> @@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
> for (j = 0; j < adev->num_ip_blocks; j++) {
> block = &adev->ip_blocks[j];
>
> - block->status.hw = false;
> if (block->version->type != ip_order[i] ||
> !block->status.valid)
> continue;
>
More information about the amd-gfx
mailing list