drm/amdgpu: Add support of powerplay for picasso
authorLikun Gao <Likun.Gao@amd.com>
Tue, 10 Jul 2018 11:25:29 +0000 (19:25 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Sep 2018 14:35:05 +0000 (09:35 -0500)
add powerplay support for picasso, treat it the same as raven now.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c

index 7500a3e61dbaa453c4ddeb32a137f920f63b78b2..a45578e6504ae18b113e7c1a0471f4c1ea567554 100644 (file)
@@ -171,6 +171,7 @@ int hwmgr_early_init(struct pp_hwmgr *hwmgr)
        case AMDGPU_FAMILY_RV:
                switch (hwmgr->chip_id) {
                case CHIP_RAVEN:
+               case CHIP_PICASSO:
                        hwmgr->od_enabled = false;
                        hwmgr->smumgr_funcs = &smu10_smu_funcs;
                        smu10_init_function_pointers(hwmgr);
index 77c14671866c07f159729b82e31ec1779b7d4f45..f6fe9ce793ad016180af69342ddc5a35e1f2afa3 100644 (file)
@@ -832,7 +832,7 @@ static const ATOM_PPLIB_POWERPLAYTABLE *get_powerplay_table(
        uint16_t size;
 
        if (!table_addr) {
-               if (hwmgr->chip_id == CHIP_RAVEN) {
+               if (hwmgr->chip_id == CHIP_RAVEN || hwmgr->chip_id == CHIP_PICASSO) {
                        table_addr = &soft_dummy_pp_table[0];
                        hwmgr->soft_pp_table = &soft_dummy_pp_table[0];
                        hwmgr->soft_pp_table_size = sizeof(soft_dummy_pp_table);
@@ -1055,7 +1055,7 @@ static int init_overdrive_limits(struct pp_hwmgr *hwmgr,
        hwmgr->platform_descriptor.maxOverdriveVDDC = 0;
        hwmgr->platform_descriptor.overdriveVDDCStep = 0;
 
-       if (hwmgr->chip_id == CHIP_RAVEN)
+       if (hwmgr->chip_id == CHIP_RAVEN || hwmgr->chip_id == CHIP_PICASSO)
                return 0;
 
        /* We assume here that fw_info is unchanged if this call fails.*/
@@ -1595,7 +1595,7 @@ static int pp_tables_initialize(struct pp_hwmgr *hwmgr)
        int result;
        const ATOM_PPLIB_POWERPLAYTABLE *powerplay_table;
 
-       if (hwmgr->chip_id == CHIP_RAVEN)
+       if (hwmgr->chip_id == CHIP_RAVEN || hwmgr->chip_id == CHIP_PICASSO)
                return 0;
 
        hwmgr->need_pp_table_upload = true;
@@ -1644,7 +1644,7 @@ static int pp_tables_initialize(struct pp_hwmgr *hwmgr)
 
 static int pp_tables_uninitialize(struct pp_hwmgr *hwmgr)
 {
-       if (hwmgr->chip_id == CHIP_RAVEN)
+       if (hwmgr->chip_id == CHIP_RAVEN || hwmgr->chip_id == CHIP_PICASSO)
                return 0;
 
        kfree(hwmgr->dyn_state.vddc_dependency_on_sclk);