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

2018-10-02 Thread Zhu, Rex
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 ; amd-gfx@lists.freedesktop.org
> Cc: Zhu, Rex 
> 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  On Behalf Of Rex
> > Zhu
> > Sent: 2018年9月30日 0:19
> > To: amd-gfx@lists.freedesktop.org
> > Cc: Zhu, Rex 
> > 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 
> > ---
> >  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@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


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

2018-09-29 Thread Quan, Evan
Will the pp_funcs->load_firmware be called twice?

Regards,
Evan
> -Original Message-
> From: amd-gfx  On Behalf Of Rex
> Zhu
> Sent: 2018年9月30日 0:19
> To: amd-gfx@lists.freedesktop.org
> Cc: Zhu, Rex 
> 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 
> ---
>  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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx