[PATCH] drm/amdgpu: drm/amdgpu: always consider virualised device for checking post (v2)

Ding, Pixel Pixel.Ding at amd.com
Thu Oct 19 01:45:21 UTC 2017


Hi Alex,

This is the v2 patch as you suggested. Only fix the issue found in amdgpu_bios.c.

Please review, thanks.

— 
Sincerely Yours,
Pixel








On 19/10/2017, 9:44 AM, "amd-gfx on behalf of Pixel Ding" <amd-gfx-bounces at lists.freedesktop.org on behalf of Pixel.Ding at amd.com> wrote:

>From: pding <Pixel.Ding at amd.com>
>
>The post checking on scratch registers isn't reliable for virtual function.
>
>v2: only change in IGP reading bios.
>
>Signed-off-by: pding <Pixel.Ding at amd.com>
>---
> drivers/gpu/drm/amd/amdgpu/amdgpu.h        | 1 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c   | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
> 3 files changed, 3 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>index 0280ae5..caabc5b 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>@@ -1840,6 +1840,7 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
> /* Common functions */
> int amdgpu_gpu_reset(struct amdgpu_device *adev);
> bool amdgpu_need_backup(struct amdgpu_device *adev);
>+bool amdgpu_vpost_needed(struct amdgpu_device *adev);
> void amdgpu_pci_config_reset(struct amdgpu_device *adev);
> bool amdgpu_need_post(struct amdgpu_device *adev);
> void amdgpu_update_display_priority(struct amdgpu_device *adev);
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
>index c21adf6..25f43eb 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
>@@ -99,7 +99,7 @@ static bool igp_read_bios_from_vram(struct amdgpu_device *adev)
> 	resource_size_t size = 256 * 1024; /* ??? */
> 
> 	if (!(adev->flags & AMD_IS_APU))
>-		if (amdgpu_need_post(adev))
>+		if (amdgpu_vpost_needed(adev))
> 			return false;
> 
> 	adev->bios = NULL;
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>index a601d87..098cd44 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>@@ -764,7 +764,7 @@ bool amdgpu_need_post(struct amdgpu_device *adev)
> 
> }
> 
>-static bool amdgpu_vpost_needed(struct amdgpu_device *adev)
>+bool amdgpu_vpost_needed(struct amdgpu_device *adev)
> {
> 	if (amdgpu_sriov_vf(adev))
> 		return false;
>-- 
>2.9.5
>
>_______________________________________________
>amd-gfx mailing list
>amd-gfx at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list