diff options
Diffstat (limited to 'drivers/gpu/drm/amd/pm/swsmu')
| -rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 3 | 
3 files changed, 7 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c index 01168b8955bf..8a3244585d80 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -1468,7 +1468,7 @@ static int smu_disable_dpms(struct smu_context *smu)  			dev_err(adev->dev, "Failed to disable smu features.\n");  	} -	if (adev->ip_versions[GC_HWIP][0] >= IP_VERSION(10, 0, 0) && +	if (adev->ip_versions[GC_HWIP][0] >= IP_VERSION(9, 4, 2) &&  	    adev->gfx.rlc.funcs->stop)  		adev->gfx.rlc.funcs->stop(adev); diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c index d60b8c5e8715..43028f2cd28b 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c @@ -191,6 +191,9 @@ int smu_v12_0_fini_smc_tables(struct smu_context *smu)  	kfree(smu_table->watermarks_table);  	smu_table->watermarks_table = NULL; +	kfree(smu_table->gpu_metrics_table); +	smu_table->gpu_metrics_table = NULL; +  	return 0;  } diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c index 35145db6eedf..19a5d2c39c8d 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c @@ -198,6 +198,7 @@ int smu_v13_0_check_fw_status(struct smu_context *smu)  int smu_v13_0_check_fw_version(struct smu_context *smu)  { +	struct amdgpu_device *adev = smu->adev;  	uint32_t if_version = 0xff, smu_version = 0xff;  	uint16_t smu_major;  	uint8_t smu_minor, smu_debug; @@ -210,6 +211,8 @@ int smu_v13_0_check_fw_version(struct smu_context *smu)  	smu_major = (smu_version >> 16) & 0xffff;  	smu_minor = (smu_version >> 8) & 0xff;  	smu_debug = (smu_version >> 0) & 0xff; +	if (smu->is_apu) +		adev->pm.fw_version = smu_version;  	switch (smu->adev->ip_versions[MP1_HWIP][0]) {  	case IP_VERSION(13, 0, 2): |