Lines Matching refs:link

26 #include "link/protocols/link_dpcd.h"
28 void dp_trace_init(struct dc_link *link)
30 memset(&link->dp_trace, 0, sizeof(link->dp_trace));
31 link->dp_trace.is_initialized = true;
34 void dp_trace_reset(struct dc_link *link)
36 memset(&link->dp_trace, 0, sizeof(link->dp_trace));
39 bool dp_trace_is_initialized(struct dc_link *link)
41 return link->dp_trace.is_initialized;
44 void dp_trace_detect_lt_init(struct dc_link *link)
46 memset(&link->dp_trace.detect_lt_trace, 0, sizeof(link->dp_trace.detect_lt_trace));
49 void dp_trace_commit_lt_init(struct dc_link *link)
51 memset(&link->dp_trace.commit_lt_trace, 0, sizeof(link->dp_trace.commit_lt_trace));
54 void dp_trace_link_loss_increment(struct dc_link *link)
56 link->dp_trace.link_loss_count++;
59 void dp_trace_lt_fail_count_update(struct dc_link *link,
64 link->dp_trace.detect_lt_trace.counts.fail = fail_count;
66 link->dp_trace.commit_lt_trace.counts.fail = fail_count;
69 void dp_trace_lt_total_count_increment(struct dc_link *link,
73 link->dp_trace.detect_lt_trace.counts.total++;
75 link->dp_trace.commit_lt_trace.counts.total++;
78 void dp_trace_set_is_logged_flag(struct dc_link *link,
83 link->dp_trace.detect_lt_trace.is_logged = is_logged;
85 link->dp_trace.commit_lt_trace.is_logged = is_logged;
88 bool dp_trace_is_logged(struct dc_link *link, bool in_detection)
91 return link->dp_trace.detect_lt_trace.is_logged;
93 return link->dp_trace.commit_lt_trace.is_logged;
96 void dp_trace_lt_result_update(struct dc_link *link,
101 link->dp_trace.detect_lt_trace.result = result;
103 link->dp_trace.commit_lt_trace.result = result;
106 void dp_trace_set_lt_start_timestamp(struct dc_link *link,
110 link->dp_trace.detect_lt_trace.timestamps.start = dm_get_timestamp(link->dc->ctx);
112 link->dp_trace.commit_lt_trace.timestamps.start = dm_get_timestamp(link->dc->ctx);
115 void dp_trace_set_lt_end_timestamp(struct dc_link *link,
119 link->dp_trace.detect_lt_trace.timestamps.end = dm_get_timestamp(link->dc->ctx);
121 link->dp_trace.commit_lt_trace.timestamps.end = dm_get_timestamp(link->dc->ctx);
124 unsigned long long dp_trace_get_lt_end_timestamp(struct dc_link *link,
128 return link->dp_trace.detect_lt_trace.timestamps.end;
130 return link->dp_trace.commit_lt_trace.timestamps.end;
133 const struct dp_trace_lt_counts *dp_trace_get_lt_counts(struct dc_link *link,
137 return &link->dp_trace.detect_lt_trace.counts;
139 return &link->dp_trace.commit_lt_trace.counts;
142 unsigned int dp_trace_get_link_loss_count(struct dc_link *link)
144 return link->dp_trace.link_loss_count;
147 void dp_trace_set_edp_power_timestamp(struct dc_link *link,
152 link->dp_trace.edp_trace_power_timestamps.poweroff = dm_get_timestamp(link->dc->ctx);
154 link->dp_trace.edp_trace_power_timestamps.poweron = dm_get_timestamp(link->dc->ctx);
157 uint64_t dp_trace_get_edp_poweron_timestamp(struct dc_link *link)
159 return link->dp_trace.edp_trace_power_timestamps.poweron;
162 uint64_t dp_trace_get_edp_poweroff_timestamp(struct dc_link *link)
164 return link->dp_trace.edp_trace_power_timestamps.poweroff;
167 void dp_trace_source_sequence(struct dc_link *link, uint8_t dp_test_mode)
169 if (link != NULL && link->dc->debug.enable_driver_sequence_debug)
170 core_link_write_dpcd(link, DP_SOURCE_SEQUENCE,