1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30#ifndef __DM_HELPERS__
31#define __DM_HELPERS__
32
33#include "dc_types.h"
34#include "dc.h"
35
36struct dp_mst_stream_allocation_table;
37
38enum dc_edid_status dm_helpers_parse_edid_caps(
39 struct dc_context *ctx,
40 const struct dc_edid *edid,
41 struct dc_edid_caps *edid_caps);
42
43
44
45
46
47void dm_helpers_dp_update_branch_info(
48 struct dc_context *ctx,
49 const struct dc_link *link);
50
51
52
53
54bool dm_helpers_dp_mst_write_payload_allocation_table(
55 struct dc_context *ctx,
56 const struct dc_stream_state *stream,
57 struct dp_mst_stream_allocation_table *proposed_table,
58 bool enable);
59
60
61
62
63void dm_helpers_dp_mst_clear_payload_allocation_table(
64 struct dc_context *ctx,
65 const struct dc_link *link);
66
67
68
69
70bool dm_helpers_dp_mst_poll_for_allocation_change_trigger(
71 struct dc_context *ctx,
72 const struct dc_stream_state *stream);
73
74
75
76bool dm_helpers_dp_mst_send_payload_allocation(
77 struct dc_context *ctx,
78 const struct dc_stream_state *stream,
79 bool enable);
80
81bool dm_helpers_dp_mst_start_top_mgr(
82 struct dc_context *ctx,
83 const struct dc_link *link,
84 bool boot);
85
86void dm_helpers_dp_mst_stop_top_mgr(
87 struct dc_context *ctx,
88 const struct dc_link *link);
89
90
91
92bool dm_helpers_dp_read_dpcd(
93 struct dc_context *ctx,
94 const struct dc_link *link,
95 uint32_t address,
96 uint8_t *data,
97 uint32_t size);
98
99
100
101
102bool dm_helpers_dp_write_dpcd(
103 struct dc_context *ctx,
104 const struct dc_link *link,
105 uint32_t address,
106 const uint8_t *data,
107 uint32_t size);
108
109bool dm_helpers_submit_i2c(
110 struct dc_context *ctx,
111 const struct dc_link *link,
112 struct i2c_command *cmd);
113
114bool dm_helpers_is_dp_sink_present(
115 struct dc_link *link);
116
117enum dc_edid_status dm_helpers_read_local_edid(
118 struct dc_context *ctx,
119 struct dc_link *link,
120 struct dc_sink *sink);
121
122void dm_set_dcn_clocks(
123 struct dc_context *ctx,
124 struct dc_clocks *clks);
125
126#endif
127