[PATCH] drm/amd/powerplay: fix request smc_sk firmware case

Quan, Evan Evan.Quan at amd.com
Mon Dec 19 08:07:20 UTC 2016


Tested-by: Evan Quan <evan.quan at amd.com>

> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf Of
> Huang Rui
> Sent: Monday, December 19, 2016 3:16 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Huang, Ray <Ray.Huang at amd.com>
> Subject: [PATCH] drm/amd/powerplay: fix request smc_sk firmware case
> 
> This patch fixes firmware request error on polaris protection mode.
> Because we need load smc_sk instead of smc under security protection mode.
> 
> Signed-off-by: Huang Rui <ray.huang at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> index 9ada56c..3235630 100755
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> @@ -713,6 +713,7 @@ static int amdgpu_cgs_rel_firmware(struct cgs_device
> *cgs_device, enum cgs_ucode
>  	CGS_FUNC_ADEV;
>  	if ((CGS_UCODE_ID_SMU == type) || (CGS_UCODE_ID_SMU_SK ==
> type)) {
>  		release_firmware(adev->pm.fw);
> +		adev->pm.fw = NULL;
>  		return 0;
>  	}
>  	/* cannot release other firmware because they are not created by
> cgs */ @@ -808,6 +809,9 @@ static int amdgpu_cgs_get_firmware_info(struct
> cgs_device *cgs_device,
>  		const uint8_t *src;
>  		const struct smc_firmware_header_v1_0 *hdr;
> 
> +		if (CGS_UCODE_ID_SMU_SK == type)
> +			amdgpu_cgs_rel_firmware(cgs_device,
> CGS_UCODE_ID_SMU);
> +
>  		if (!adev->pm.fw) {
>  			switch (adev->asic_type) {
>  			case CHIP_TOPAZ:
> --
> 2.7.4
> 
> _______________________________________________
> 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