aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2019-02-15 17:39:33 -0500
committerAlex Deucher <alexander.deucher@amd.com>2019-10-15 15:55:31 -0400
commit912a0bf57436d77592faea50cc989267a4e84d8d (patch)
treeaac386c020d36951f08acfa361c861fe440a71cf /drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c
parentdrm/amdgpu/powerplay: add support for BACO on CI (diff)
downloadlinux-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.c34
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 */