diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2019-02-15 17:39:33 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-10-15 15:55:31 -0400 |
commit | 912a0bf57436d77592faea50cc989267a4e84d8d (patch) | |
tree | aac386c020d36951f08acfa361c861fe440a71cf /drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c | |
parent | drm/amdgpu/powerplay: add support for BACO on CI (diff) | |
download | linux-dev-912a0bf57436d77592faea50cc989267a4e84d8d.tar.xz linux-dev-912a0bf57436d77592faea50cc989267a4e84d8d.zip |
drm/amdgpu/powerplay: split out common smu7 BACO code
Several of the BACO functions are common across smu7-based
asics. Split the common code out.
Reviewed-by: Evan Quan <evan.quan@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c index a9abe53df475..8f8e296f2fe9 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c @@ -178,43 +178,11 @@ static const struct baco_cmd_entry turn_off_plls_tbl_vg[] = { CMD_DELAY_US, 0, 0, 0, 5, 0x0 } }; -int polaris_baco_get_capability(struct pp_hwmgr *hwmgr, bool *cap) -{ - struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev); - uint32_t reg; - - *cap = false; - if (!phm_cap_enabled(hwmgr->platform_descriptor.platformCaps, PHM_PlatformCaps_BACO)) - return 0; - - reg = RREG32(mmCC_BIF_BX_FUSESTRAP0); - - if (reg & CC_BIF_BX_FUSESTRAP0__STRAP_BIF_PX_CAPABLE_MASK) - *cap = true; - - return 0; -} - -int polaris_baco_get_state(struct pp_hwmgr *hwmgr, enum BACO_STATE *state) -{ - struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev); - uint32_t reg; - - reg = RREG32(mmBACO_CNTL); - - if (reg & BACO_CNTL__BACO_MODE_MASK) - /* gfx has already entered BACO state */ - *state = BACO_STATE_IN; - else - *state = BACO_STATE_OUT; - return 0; -} - int polaris_baco_set_state(struct pp_hwmgr *hwmgr, enum BACO_STATE state) { enum BACO_STATE cur_state; - polaris_baco_get_state(hwmgr, &cur_state); + smu7_baco_get_state(hwmgr, &cur_state); if (cur_state == state) /* aisc already in the target state */ |