On Thu, Mar 22, 2018 at 7:40 AM, Rex Zhu <Rex.Zhu at amd.com> wrote: > Change-Id: I7e3c01d0d413bbada67c044b88f2e5f0a53f0b38 > Signed-off-by: Rex Zhu <Rex.Zhu at amd.com> Please include a patch description. E.g., Use release_firmware directly so we can remove the cgs firmware wrapper. With that fixed: Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 5 ++++- > drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 1 + > drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c | 1 - > drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c | 3 ++- > drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 1 - > 5 files changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > index 5717859..315e25c 100644 > --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > @@ -107,8 +107,11 @@ static int pp_sw_fini(void *handle) > > hwmgr_sw_fini(hwmgr); > > - if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU) > + if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU) { > + release_firmware(adev->pm.fw); > + adev->pm.fw = NULL; > amdgpu_ucode_fini_bo(adev); > + } > > return 0; > } > diff --git a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h > index fe36659..c7d6533 100644 > --- a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h > +++ b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h > @@ -31,5 +31,6 @@ > #include "dm_pp_interface.h" > #include "kgd_pp_interface.h" > #include "amdgpu.h" > +#include <linux/firmware.h> > > #endif /* _AMD_POWERPLAY_H_ */ > diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c > index 08d0001..e30a2ee 100644 > --- a/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c > +++ b/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c > @@ -2784,7 +2784,6 @@ static int ci_smu_fini(struct pp_hwmgr *hwmgr) > { > kfree(hwmgr->smu_backend); > hwmgr->smu_backend = NULL; > - cgs_rel_firmware(hwmgr->device, CGS_UCODE_ID_SMU); > return 0; > } > > diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c > index b861c26..3e80d61 100644 > --- a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c > +++ b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c > @@ -308,7 +308,8 @@ static int polaris10_start_smu(struct pp_hwmgr *hwmgr) > /* If failed, try with different security Key. */ > if (result != 0) { > smu_data->smu7_data.security_hard_key ^= 1; > - cgs_rel_firmware(hwmgr->device, CGS_UCODE_ID_SMU); > + release_firmware(((struct amdgpu_device *)hwmgr->adev)->pm.fw); > + ((struct amdgpu_device *)hwmgr->adev)->pm.fw = NULL; > result = polaris10_start_smu_in_protection_mode(hwmgr); > } > } > diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c > index 3684822..41fab2d 100644 > --- a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c > +++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c > @@ -650,6 +650,5 @@ int smu7_smu_fini(struct pp_hwmgr *hwmgr) > > kfree(hwmgr->smu_backend); > hwmgr->smu_backend = NULL; > - cgs_rel_firmware(hwmgr->device, CGS_UCODE_ID_SMU); > return 0; > } > -- > 1.9.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx