drm/amd/powerplay: add two interfaces to set_active_display_count and store_cc6_data
authorHuang Rui <ray.huang@amd.com>
Fri, 11 Jan 2019 08:12:03 +0000 (16:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Mar 2019 20:03:58 +0000 (15:03 -0500)
This patch adds two interfaces to set_active_display_count and store_cc6_data,
they won't be used for smu11, and just be the placeholders for future asic on
display to smu interface.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Kevin Wang <Kevin1.Wang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h

index 425be3d07df96c9c1f66daa5577cdcd09472ec20..7d8f15c89d6ca583bd17764476b349e97a88fb47 100644 (file)
@@ -264,6 +264,10 @@ struct smu_funcs
        int (*read_sensor)(struct smu_context *smu, enum amd_pp_sensors sensor,
                           void *data, uint32_t *size);
        int (*set_deep_sleep_dcefclk)(struct smu_context *smu, uint32_t clk);
+       int (*set_active_display_count)(struct smu_context *smu, uint32_t count);
+       int (*store_cc6_data)(struct smu_context *smu, uint32_t separation_time,
+                             bool cc6_disable, bool pstate_disable,
+                             bool pstate_switch_disable);
 };
 
 #define smu_init_microcode(smu) \
@@ -361,6 +365,10 @@ struct smu_funcs
        ((smu)->ppt_funcs? ((smu)->ppt_funcs->get_unallowed_feature_mask? (smu)->ppt_funcs->get_unallowed_feature_mask((smu), (feature_mask), (num)) : 0) : 0)
 #define smu_set_deep_sleep_dcefclk(smu, clk) \
        ((smu)->funcs->set_deep_sleep_dcefclk ? (smu)->funcs->set_deep_sleep_dcefclk((smu), (clk)) : 0)
+#define smu_set_active_display_count(smu, count) \
+       ((smu)->funcs->set_active_display_count ? (smu)->funcs->set_active_display_count((smu), (count)) : 0)
+#define smu_store_cc6_data(smu, st, cc6_dis, pst_dis, pst_sw_dis) \
+       ((smu)->funcs->store_cc6_data ? (smu)->funcs->store_cc6_data((smu), (st), (cc6_dis), (pst_dis), (pst_sw_dis)) : 0)
 
 extern int smu_get_atom_data_table(struct smu_context *smu, uint32_t table,
                                   uint16_t *size, uint8_t *frev, uint8_t *crev,