Hi Christian,

Would you please take a look at this change? It’s to unify the VBIOS post 
checking.
— 
Sincerely Yours,
Pixel








On 18/10/2017, 10:25 AM, "Ding, Pixel" <[email protected]> wrote:

>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

Reply via email to