RE: [PATCH 1/4] drm/amd/pp: Not allocate ucode bo in smu hw init

2018-09-29 Thread Quan, Evan
Reviewed-by: Evan Quan 

> -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 1/4] drm/amd/pp: Not allocate ucode bo in smu hw init
> 
> ucode bo is needed by request_smu_load_fw, the request_smu_load_fw
> maybe called by gfx/sdma before smu hw init.
> so move amdgpu_ucode_bo_init to request_smu_lowd_fw.
> 
> Signed-off-by: Rex Zhu 
> ---
>  drivers/gpu/drm/amd/powerplay/amd_powerplay.c  | 3 ---
>  drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 2 ++
> drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c | 2 ++
>  3 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
> b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
> index d3eaf5d..a267f9e 100644
> --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
> +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
> @@ -124,9 +124,6 @@ static int pp_hw_init(void *handle)
>   struct amdgpu_device *adev = handle;
>   struct pp_hwmgr *hwmgr = adev->powerplay.pp_handle;
> 
> - if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU)
> - amdgpu_ucode_init_bo(adev);
> -
>   ret = hwmgr_hw_init(hwmgr);
> 
>   if (ret)
> diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
> b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
> index 794a165..99b4e4f 100644
> --- a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
> @@ -346,6 +346,8 @@ int smu7_request_smu_load_fw(struct pp_hwmgr
> *hwmgr)
>   if (!hwmgr->reload_fw)
>   return 0;
> 
> + amdgpu_ucode_init_bo(hwmgr->adev);
> +
>   if (smu_data->soft_regs_start)
>   cgs_write_ind_register(hwmgr->device,
> CGS_IND_REG__SMC,
>   smu_data->soft_regs_start +
> smum_get_offsetof(hwmgr, diff --git
> a/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
> b/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
> index 7b3b66d..abbf2f2 100644
> --- a/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
> @@ -664,6 +664,8 @@ static int smu8_request_smu_load_fw(struct
> pp_hwmgr *hwmgr)
>   if (!hwmgr->reload_fw)
>   return 0;
> 
> + amdgpu_ucode_init_bo(hwmgr->adev);
> +
>   smu8_smu_populate_firmware_entries(hwmgr);
> 
>   smu8_smu_construct_toc(hwmgr);
> --
> 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


[PATCH 1/4] drm/amd/pp: Not allocate ucode bo in smu hw init

2018-09-29 Thread Rex Zhu
ucode bo is needed by request_smu_load_fw,
the request_smu_load_fw maybe called by gfx/sdma
before smu hw init.
so move amdgpu_ucode_bo_init to request_smu_lowd_fw.

Signed-off-by: Rex Zhu 
---
 drivers/gpu/drm/amd/powerplay/amd_powerplay.c  | 3 ---
 drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 2 ++
 drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c | 2 ++
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c 
b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
index d3eaf5d..a267f9e 100644
--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
@@ -124,9 +124,6 @@ static int pp_hw_init(void *handle)
struct amdgpu_device *adev = handle;
struct pp_hwmgr *hwmgr = adev->powerplay.pp_handle;
 
-   if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU)
-   amdgpu_ucode_init_bo(adev);
-
ret = hwmgr_hw_init(hwmgr);
 
if (ret)
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c 
b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
index 794a165..99b4e4f 100644
--- a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
@@ -346,6 +346,8 @@ int smu7_request_smu_load_fw(struct pp_hwmgr *hwmgr)
if (!hwmgr->reload_fw)
return 0;
 
+   amdgpu_ucode_init_bo(hwmgr->adev);
+
if (smu_data->soft_regs_start)
cgs_write_ind_register(hwmgr->device, CGS_IND_REG__SMC,
smu_data->soft_regs_start + 
smum_get_offsetof(hwmgr,
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c 
b/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
index 7b3b66d..abbf2f2 100644
--- a/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
@@ -664,6 +664,8 @@ static int smu8_request_smu_load_fw(struct pp_hwmgr *hwmgr)
if (!hwmgr->reload_fw)
return 0;
 
+   amdgpu_ucode_init_bo(hwmgr->adev);
+
smu8_smu_populate_firmware_entries(hwmgr);
 
smu8_smu_construct_toc(hwmgr);
-- 
1.9.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx