summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/include
diff options
context:
space:
mode:
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>2016-11-30 10:49:51 -0500
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 17:02:44 -0400
commit1a687574a71f187dedcab3ac6012b0889c5a4e99 (patch)
tree578f4ce0a91b48055dcc5cb6ef01bbbbadf61cf4 /drivers/gpu/drm/amd/display/include
parent00d64d289fbba7f147b3a3a6fe88ca473ef6468d (diff)
drm/amd/display: restyle display clock calls part 1
Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/include')
-rw-r--r--drivers/gpu/drm/amd/display/include/display_clock_interface.h35
1 files changed, 26 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/display/include/display_clock_interface.h b/drivers/gpu/drm/amd/display/include/display_clock_interface.h
index ef519a284e0f..f49253714b1e 100644
--- a/drivers/gpu/drm/amd/display/include/display_clock_interface.h
+++ b/drivers/gpu/drm/amd/display/include/display_clock_interface.h
@@ -56,7 +56,31 @@ struct state_dependent_clocks {
uint32_t pixel_clk_khz;
};
-struct display_clock;
+struct display_clock {
+ struct dc_context *ctx;
+ const struct display_clock_funcs *funcs;
+ uint32_t min_display_clk_threshold_khz;
+ enum clock_source_id id;
+
+ enum clocks_state cur_min_clks_state;
+};
+
+struct display_clock_funcs {
+ void (*destroy)(struct display_clock **to_destroy);
+ void (*set_clock)(struct display_clock *disp_clk,
+ uint32_t requested_clock_khz);
+ enum clocks_state (*get_min_clocks_state)(
+ struct display_clock *disp_clk);
+ enum clocks_state (*get_required_clocks_state)(
+ struct display_clock *disp_clk,
+ struct state_dependent_clocks *req_clocks);
+ bool (*set_min_clocks_state)(struct display_clock *disp_clk,
+ enum clocks_state clocks_state);
+ uint32_t (*get_dp_ref_clk_frequency)(struct display_clock *disp_clk);
+ void (*store_max_clocks_state)(struct display_clock *disp_clk,
+ enum clocks_state max_clocks_state);
+
+};
struct display_clock *dal_display_clock_dce112_create(
struct dc_context *ctx);
@@ -68,9 +92,7 @@ struct display_clock *dal_display_clock_dce80_create(
struct dc_context *ctx);
void dal_display_clock_destroy(struct display_clock **to_destroy);
-void dal_display_clock_set_clock(
- struct display_clock *disp_clk,
- uint32_t requested_clock_khz);
+
bool dal_display_clock_get_min_clocks_state(
struct display_clock *disp_clk,
enum clocks_state *clocks_state);
@@ -81,10 +103,5 @@ bool dal_display_clock_get_required_clocks_state(
bool dal_display_clock_set_min_clocks_state(
struct display_clock *disp_clk,
enum clocks_state clocks_state);
-uint32_t dal_display_clock_get_dp_ref_clk_frequency(
- struct display_clock *disp_clk);
-void dal_display_clock_store_max_clocks_state(
- struct display_clock *disp_clk,
- enum clocks_state max_clocks_state);
#endif /* __DISPLAY_CLOCK_INTERFACE_H__ */