回覆: [PATCH] drm/amdgpu/vpe: power on vpe when hw_init

Lee, Peyton Peyton.Lee at amd.com
Mon Mar 18 01:42:04 UTC 2024


[AMD Official Use Only - General]

Hi Alex

> Does the IB test take care of this?  I just want to confirm that we aren't leaving it powered up unless a user runs a VPE workload which might not happen.

Yes, the IB test take care of this.
The flow is like this: amdgpu_device_gpu_recover->amdgpu_do_asic_reset->amdgpu_ib_ring_tests
Therefore, the idle thread is waked up and the VPE is powered off then.

Thanks,
Peyton

-----原始郵件-----
寄件者: Alex Deucher <alexdeucher at gmail.com>
寄件日期: Friday, March 15, 2024 8:55 PM
收件者: Lee, Peyton <Peyton.Lee at amd.com>
副本: amd-gfx at lists.freedesktop.org; Deucher, Alexander <Alexander.Deucher at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>; Ma, Li <Li.Ma at amd.com>; Yu, Lang <Lang.Yu at amd.com>
主旨: Re: [PATCH] drm/amdgpu/vpe: power on vpe when hw_init

On Thu, Mar 14, 2024 at 9:40 PM Lee, Peyton <Peyton.Lee at amd.com> wrote:
>
> [AMD Official Use Only - General]
>
> Hi Alex
>
> > I think it will continue to be powered up until a VPE job comes in and completes and the idle handler gets scheduled.  If a VPE job doesn't come in, it will stay powered up I think.
> Yes, correct.
> And after the VPE is called to do initialization, a simple test is executed for checking VPE status, and the idle handler gets scheduled to power off the VPE when the test finished.

Does the IB test take care of this?  I just want to confirm that we aren't leaving it powered up unless a user runs a VPE workload which might not happen.

Alex


>
> Thanks,
> Peyton
>
> -----原始郵件-----
> 寄件者: Alex Deucher <alexdeucher at gmail.com>
> 寄件日期: Thursday, March 14, 2024 8:58 PM
> 收件者: Lee, Peyton <Peyton.Lee at amd.com>
> 副本: amd-gfx at lists.freedesktop.org; Deucher, Alexander
> <Alexander.Deucher at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>; Ma,
> Li <Li.Ma at amd.com>; Yu, Lang <Lang.Yu at amd.com>
> 主旨: Re: [PATCH] drm/amdgpu/vpe: power on vpe when hw_init
>
> On Wed, Mar 13, 2024 at 9:33 PM Lee, Peyton <Peyton.Lee at amd.com> wrote:
> >
> > [AMD Official Use Only - General]
> >
> > Hi Alex,
> >
> > There are two places where VPE will lose power: When there is a system call to vpe_hw_fini(), and the vpe-thread finds that VEP has no jobs in the queue.
> > This patch is to make sure that VPE is power up before loading firmware.
>
> I think it will continue to be powered up until a VPE job comes in and completes and the idle handler gets scheduled.  If a VPE job doesn't come in, it will stay powered up I think.
>
> Alex
>
> >
> > Thanks,
> > Peyton
> > -----原始郵件-----
> > 寄件者: Alex Deucher <alexdeucher at gmail.com>
> > 寄件日期: Wednesday, March 13, 2024 9:17 PM
> > 收件者: Lee, Peyton <Peyton.Lee at amd.com>
> > 副本: amd-gfx at lists.freedesktop.org; Deucher, Alexander
> > <Alexander.Deucher at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>;
> > Ma, Li <Li.Ma at amd.com>; Yu, Lang <Lang.Yu at amd.com>
> > 主旨: Re: [PATCH] drm/amdgpu/vpe: power on vpe when hw_init
> >
> > On Wed, Mar 13, 2024 at 7:41 AM Peyton Lee <peytolee at amd.com> wrote:
> > >
> > > To fix mode2 reset failure.
> > > Should power on VPE when hw_init.
> >
> > When does it get powered down again?  Won't this leave it powered up?
> >
> > Alex
> >
> > >
> > > Signed-off-by: Peyton Lee <peytolee at amd.com>
> > > ---
> > >  drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
> > > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
> > > index 70c5cc80ecdc..ecfe0f36e83e 100644
> > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
> > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
> > > @@ -396,6 +396,12 @@ static int vpe_hw_init(void *handle)
> > >         struct amdgpu_vpe *vpe = &adev->vpe;
> > >         int ret;
> > >
> > > +       /* Power on VPE */
> > > +       ret = amdgpu_device_ip_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VPE,
> > > +                                                    AMD_PG_STATE_UNGATE);
> > > +       if (ret)
> > > +               return ret;
> > > +
> > >         ret = vpe_load_microcode(vpe);
> > >         if (ret)
> > >                 return ret;
> > > --
> > > 2.34.1
> > >


More information about the amd-gfx mailing list