Hi all, Could someone review this patch?
— Sincerely Yours, Pixel On 17/10/2017, 4:06 PM, "amd-gfx on behalf of Ding, Pixel" <[email protected] on behalf of [email protected]> wrote: >you can see the difference of function amdgpu_need_post. Generally speaking, >there were 2 functions to check VBIOS posting, one considers VF and passthru >while the other doesn’t. In fact we should always consider VF and PT for >checking, right? For example, this checking here believe VF needs a posting >because SCRATCH registers are not the expected value. Is it clear? >— >Sincerely Yours, >Pixel > > > > > > > > >On 17/10/2017, 5:00 PM, "Liu, Monk" <[email protected]> wrote: > >>From the patch itself I still couldn't tell the difference >> >>-----Original Message----- >>From: Ding, Pixel >>Sent: 2017年10月17日 15:54 >>To: Liu, Monk <[email protected]>; [email protected]; Koenig, >>Christian <[email protected]> >>Cc: Li, Bingley <[email protected]>; Sun, Gary <[email protected]> >>Subject: Re: [PATCH 1/3] drm/amdgpu: always consider virualised device for >>checking post >> >>It fixes a issue hidden in: >> >>95 static bool igp_read_bios_from_vram(struct amdgpu_device *adev) >> 96 { >> 97 uint8_t __iomem *bios; >> 98 resource_size_t vram_base; >> 99 resource_size_t size = 256 * 1024; /* ??? */ >>100 >>101 if (!(adev->flags & AMD_IS_APU)) >>102 if (amdgpu_need_post(adev)) >>103 return false; >> >> >>This makes bios reading fallback to SMC INDEX/DATA register case. >> >>— >>Sincerely Yours, >>Pixel >> >> >> >> >> >> >> >> >>On 17/10/2017, 3:48 PM, "Liu, Monk" <[email protected]> wrote: >> >>>I don't understand how this patch works??? Looks like just rename >>>vpost_needed to check_post >>> >>>-----Original Message----- >>>From: Pixel Ding [mailto:[email protected]] >>>Sent: 2017年10月17日 14:38 >>>To: [email protected]; Liu, Monk <[email protected]>; Koenig, >>>Christian <[email protected]> >>>Cc: Li, Bingley <[email protected]>; Sun, Gary <[email protected]>; Ding, >>>Pixel <[email protected]> >>>Subject: [PATCH 1/3] drm/amdgpu: always consider virualised device for >>>checking post >>> >>>From: pding <[email protected]> >>> >>>The post checking on scratch registers isn't reliable for virtual function. >>> >>>Signed-off-by: pding <[email protected]> >>>--- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 ++++---- >>> 1 file changed, 4 insertions(+), 4 deletions(-) >>> >>>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >>>b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >>>index 683965b..ab8f0d6 100644 >>>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >>>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >>>@@ -669,7 +669,7 @@ void amdgpu_gart_location(struct amdgpu_device *adev, >>>struct amdgpu_mc *mc) >>> * or post is needed if hw reset is performed. >>> * Returns true if need or false if not. >>> */ >>>-bool amdgpu_need_post(struct amdgpu_device *adev) >>>+static bool amdgpu_check_post(struct amdgpu_device *adev) >>> { >>> uint32_t reg; >>> >>>@@ -692,7 +692,7 @@ bool amdgpu_need_post(struct amdgpu_device *adev) >>> >>> } >>> >>>-static bool amdgpu_vpost_needed(struct amdgpu_device *adev) >>>+bool amdgpu_need_post(struct amdgpu_device *adev) >>> { >>> if (amdgpu_sriov_vf(adev)) >>> return false; >>>@@ -716,7 +716,7 @@ static bool amdgpu_vpost_needed(struct amdgpu_device >>>*adev) >>> return true; >>> } >>> } >>>- return amdgpu_need_post(adev); >>>+ return amdgpu_check_post(adev); >>> } >>> >>> /** >>>@@ -2208,7 +2208,7 @@ int amdgpu_device_init(struct amdgpu_device *adev, >>> amdgpu_device_detect_sriov_bios(adev); >>> >>> /* Post card if necessary */ >>>- if (amdgpu_vpost_needed(adev)) { >>>+ if (amdgpu_need_post(adev)) { >>> if (!adev->bios) { >>> dev_err(adev->dev, "no vBIOS found\n"); >>> amdgpu_vf_error_put(AMDGIM_ERROR_VF_NO_VBIOS, 0, 0); >>>-- >>>2.9.5 >>> >_______________________________________________ >amd-gfx mailing list >[email protected] >https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
