[PATCH 3/4] drm/amdgpu: Add fw load in gfx_v8 and sdma_v3.

Zhu, Rex Rex.Zhu at amd.com
Wed Oct 3 00:29:58 UTC 2018


Yes. So the hw ip smu/gfx/sdma have no dependence. We can initialize gfx/sdma/smu or sdma/gfx/smu.

In powerplay, if the fw has been loaded successfully, we will skip the fw loading.

Rex 

> -----Original Message-----
> From: Quan, Evan
> Sent: Sunday, September 30, 2018 12:19 PM
> To: Zhu, Rex <Rex.Zhu at amd.com>; amd-gfx at lists.freedesktop.org
> Cc: Zhu, Rex <Rex.Zhu at amd.com>
> Subject: RE: [PATCH 3/4] drm/amdgpu: Add fw load in gfx_v8 and sdma_v3.
> 
> Will the pp_funcs->load_firmware be called twice?
> 
> Regards,
> Evan
> > -----Original Message-----
> > From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Rex
> > Zhu
> > Sent: 2018年9月30日 0:19
> > To: amd-gfx at lists.freedesktop.org
> > Cc: Zhu, Rex <Rex.Zhu at amd.com>
> > Subject: [PATCH 3/4] drm/amdgpu: Add fw load in gfx_v8 and sdma_v3.
> >
> > gfx and sdma can be initialized before smu.
> >
> > Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
> > ---
> >  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c  | 11 +++++++++++
> > drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c |  8 ++++++++
> >  2 files changed, 19 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > index 6b1954e..77e05c1 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > @@ -4180,9 +4180,20 @@ static void gfx_v8_0_rlc_start(struct
> > amdgpu_device *adev)
> >
> >  static int gfx_v8_0_rlc_resume(struct amdgpu_device *adev)  {
> > +	int r;
> > +
> >  	gfx_v8_0_rlc_stop(adev);
> >  	gfx_v8_0_rlc_reset(adev);
> >  	gfx_v8_0_init_pg(adev);
> > +
> > +	if (adev->powerplay.pp_funcs->load_firmware) {
> > +		r = adev->powerplay.pp_funcs->load_firmware(adev-
> > >powerplay.pp_handle);
> > +		if (r) {
> > +			pr_err("firmware loading failed\n");
> > +			return r;
> > +		}
> > +	}
> > +
> >  	gfx_v8_0_rlc_start(adev);
> >
> >  	return 0;
> > diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
> > b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
> > index 6fb3eda..0bdde7f 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
> > @@ -788,6 +788,14 @@ static int sdma_v3_0_start(struct amdgpu_device
> > *adev)  {
> >  	int r;
> >
> > +	if (adev->powerplay.pp_funcs->load_firmware) {
> > +		r = adev->powerplay.pp_funcs->load_firmware(adev-
> > >powerplay.pp_handle);
> > +		if (r) {
> > +			pr_err("firmware loading failed\n");
> > +			return r;
> > +		}
> > +	}
> > +
> >  	/* disable sdma engine before programing it */
> >  	sdma_v3_0_ctx_switch_enable(adev, false);
> >  	sdma_v3_0_enable(adev, false);
> > --
> > 1.9.1
> >
> > _______________________________________________
> > 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