[AMD Official Use Only - Internal Distribution Only]

Hi David,

Can you help double confirm that in design unique_id should always be fetched 
by PF2VF under SRIOV?
If so we can skip smu_get_unique_id() under SRIOV (though func is empty and 
nothing really happens) as Alex's suggestion.

Best regards,
Jiawei 

-----Original Message-----
From: Alex Deucher <[email protected]> 
Sent: Friday, May 14, 2021 12:27 PM
To: Gu, JiaWei (Will) <[email protected]>
Cc: [email protected]; Nieto, David M <[email protected]>; Deng, 
Emily <[email protected]>
Subject: Re: [PATCH] drm/amdgpu: Fill adev->unique_id with data from PF2VF msg

On Thu, May 13, 2021 at 11:47 PM Gu, JiaWei (Will) <[email protected]> wrote:
>
> [AMD Official Use Only - Internal Distribution Only]
>
> Hi Alex,
>
> unique_id is fetched from FUSE_DATA on hypervisor.
>
> Under my experiment, both multi-VF & single VF can still read FUSE_DATA to 
> get it.
> But per David's info, guest shouldn't be able to read it (though it can 
> currently)...
>
> So I guess in design, the unique_id should be only fetched from hypervisor in 
> SRIOV case, and guest should always get it from host.

thanks.  so does the patch also need something like this?

diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index 32dadeee9514..9243e5de5bb7 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -686,7 +686,8 @@ static int smu_late_init(void *handle)
                return ret;
        }

-       smu_get_unique_id(smu);
+       if (!amdgpu_sriov_vf(adev))
+               smu_get_unique_id(smu);

        smu_get_fan_parameters(smu);

otherwise we fetch it twice.

Alex

>
> Hi David,
>
> Please feel free to correct my statement / provide more background.
>
> Best regards,
> Jiawei
>
> -----Original Message-----
> From: Alex Deucher <[email protected]>
> Sent: Friday, May 14, 2021 11:33 AM
> To: Gu, JiaWei (Will) <[email protected]>
> Cc: [email protected]; Nieto, David M 
> <[email protected]>; Deng, Emily <[email protected]>
> Subject: Re: [PATCH] drm/amdgpu: Fill adev->unique_id with data from 
> PF2VF msg
>
> unique_id is normally fetched from the SMU on bare metal.  I guess in the 
> SR-IOV case, this would come from the hypervisor since the SMU is not 
> normally handled in the VF.  That makes sense for multi-VF, but what about 
> single VF?  Are you sure the ordering is correct such that the SMU value 
> won't overwrite this?  Maybe that's ok because they would be the same in that 
> case?
>
> Alex
>
>
> On Thu, May 13, 2021 at 10:39 PM Gu, JiaWei (Will) <[email protected]> wrote:
> >
> > [AMD Official Use Only - Internal Distribution Only]
> >
> > pinging
> >
> > -----Original Message-----
> > From: Gu, JiaWei (Will)
> > Sent: Thursday, May 13, 2021 7:01 PM
> > To: Jiawei Gu <[email protected]>; [email protected]; 
> > Nieto, David M <[email protected]>
> > Cc: Deng, Emily <[email protected]>
> > Subject: RE: [PATCH] drm/amdgpu: Fill adev->unique_id with data from 
> > PF2VF msg
> >
> > [AMD Official Use Only - Internal Distribution Only]
> >
> > Add David.
> >
> > -----Original Message-----
> > From: Jiawei Gu <[email protected]>
> > Sent: Thursday, May 13, 2021 2:41 PM
> > To: [email protected]
> > Cc: Deng, Emily <[email protected]>; Gu, JiaWei (Will) 
> > <[email protected]>
> > Subject: [PATCH] drm/amdgpu: Fill adev->unique_id with data from 
> > PF2VF msg
> >
> > Initialize unique_id from PF2VF under virtualization.
> >
> > Signed-off-by: Jiawei Gu <[email protected]>
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> > index a57842689d42..96e269cbe326 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> > @@ -471,6 +471,8 @@ static int amdgpu_virt_read_pf2vf_data(struct 
> > amdgpu_device *adev)
> >                         ((struct amd_sriov_msg_pf2vf_info 
> > *)pf2vf_info)->feature_flags.all;
> >                 adev->virt.reg_access =
> >                         ((struct amd_sriov_msg_pf2vf_info 
> > *)pf2vf_info)->reg_access_flags.all;
> > +               adev->unique_id =
> > +                       ((struct amd_sriov_msg_pf2vf_info 
> > + *)pf2vf_info)->uuid;
> >
> >                 break;
> >         default:
> > --
> > 2.17.1
> > _______________________________________________
> > amd-gfx mailing list
> > [email protected]
> > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fli
> > st 
> > s.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=04%7C01%7C
> > Ji
> > aWei.Gu%40amd.com%7C8c5b87447e364531b89008d916890f54%7C3dd8961fe4884
> > e6 
> > 08e11a82d994e183d%7C0%7C0%7C637565600188355261%7CUnknown%7CTWFpbGZsb
> > 3d 
> > 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> > 7C 
> > 1000&amp;sdata=Go8nw1HMA5I4wLJv2jk9hpSm2%2F0BR9nRzwwdAlJfttc%3D&amp;
> > re
> > served=0
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to