diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/cik.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cik.c | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/cik.c b/drivers/gpu/drm/amd/amdgpu/cik.c index 1befdee9f0f1..006f21ef7ddf 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik.c +++ b/drivers/gpu/drm/amd/amdgpu/cik.c @@ -1310,6 +1310,17 @@ static int cik_asic_pci_config_reset(struct amdgpu_device *adev)  	return r;  } +static bool cik_asic_supports_baco(struct amdgpu_device *adev) +{ +	switch (adev->asic_type) { +	case CHIP_BONAIRE: +	case CHIP_HAWAII: +		return amdgpu_dpm_is_baco_supported(adev); +	default: +		return false; +	} +} +  static enum amd_reset_method  cik_asic_reset_method(struct amdgpu_device *adev)  { @@ -1349,7 +1360,7 @@ static int cik_asic_reset(struct amdgpu_device *adev)  	if (cik_asic_reset_method(adev) == AMD_RESET_METHOD_BACO) {  		if (!adev->in_suspend)  			amdgpu_inc_vram_lost(adev); -		r = smu7_asic_baco_reset(adev); +		r = amdgpu_dpm_baco_reset(adev);  	} else {  		r = cik_asic_pci_config_reset(adev);  	} @@ -1927,6 +1938,7 @@ static const struct amdgpu_asic_funcs cik_asic_funcs =  	.get_pcie_usage = &cik_get_pcie_usage,  	.need_reset_on_init = &cik_need_reset_on_init,  	.get_pcie_replay_count = &cik_get_pcie_replay_count, +	.supports_baco = &cik_asic_supports_baco,  };  static int cik_common_early_init(void *handle) |