Lines Matching full:link

31  * This header defines link component function interfaces aka link_service.
32 * link_service provides the only entry point to link functions with function
38 * The following shows a link component relation map.
44 * DC to Link:
45 * dc_link_exports.c or other dc files include link.h
46 * link_factory.c implements link.h
48 * Link sub-component to Link sub-component:
52 * As you can see if you ever need to add a new dc link function and call it on
55 * to extend or generalize the functionality of existing link function
56 * interfaces so minimal modification is needed outside link component to
58 * effort needed outside link component to support a new link feature. This also
59 * reduces code discrepancy among DMs to support the same link feature. If we
65 * - detect_link --> to add new link detection or capability retrieval routines
69 * - set_dpms_on/set_dpms_off --> to include new link enablement sequences
71 * If you must add new link functions, you will need to:
75 * 4. NEVER include link_xxx.h headers outside link component.
76 * 5. NEVER include link.h on DM side.
95 struct dc_link *link; member
103 void (*destroy_link)(struct dc_link **link);
107 bool (*detect_link)(struct dc_link *link, enum dc_detect_reason reason);
108 bool (*detect_connection_type)(struct dc_link *link,
111 struct dc_link *link,
115 void (*remove_remote_sink)(struct dc_link *link, struct dc_sink *sink);
116 bool (*get_hpd_state)(struct dc_link *link);
120 void (*enable_hpd)(const struct dc_link *link);
121 void (*disable_hpd)(const struct dc_link *link);
122 void (*enable_hpd_filter)(struct dc_link *link, bool enable);
123 bool (*reset_cur_dp_mst_topology)(struct dc_link *link);
124 const struct dc_link_status *(*get_status)(const struct dc_link *link);
125 bool (*is_hdcp1x_supported)(struct dc_link *link,
127 bool (*is_hdcp2x_supported)(struct dc_link *link,
129 void (*clear_dprx_states)(struct dc_link *link);
135 void (*get_cur_link_res)(const struct dc_link *link,
142 struct dc_link *link,
145 const struct dc_link *link,
152 const struct dc_link *link,
159 void (*resume)(struct dc_link *link);
162 void (*blank_dp_stream)(struct dc_link *link, bool hw_init);
197 bool (*dp_is_sink_present)(struct dc_link *link);
198 bool (*dp_is_fec_supported)(const struct dc_link *link);
200 bool (*dp_get_max_link_enc_cap)(const struct dc_link *link,
203 const struct dc_link *link);
206 bool (*dp_should_enable_fec)(const struct dc_link *link);
211 const struct dc_link *link);
212 bool (*edp_decide_link_settings)(struct dc_link *link,
215 bool (*dp_overwrite_extended_receiver_cap)(struct dc_link *link);
216 enum lttpr_mode (*dp_decide_lttpr_mode)(struct dc_link *link,
222 struct dc_link *link, int peak_bw);
224 struct dc_link *link, uint8_t bw, uint8_t result);
226 struct dc_link *link,
229 void (*dpcd_write_rx_power_ctrl)(struct dc_link *link, bool on);
234 struct dc_link *link,
236 bool (*dp_should_allow_hpd_rx_irq)(const struct dc_link *link);
237 void (*dp_handle_link_loss)(struct dc_link *link);
239 struct dc_link *link,
241 bool (*dp_handle_hpd_rx_irq)(struct dc_link *link,
249 struct dc_link *link, bool wait_for_hpd);
250 int (*edp_get_backlight_level)(const struct dc_link *link);
251 bool (*edp_get_backlight_level_nits)(struct dc_link *link,
254 bool (*edp_set_backlight_level)(const struct dc_link *link,
256 bool (*edp_set_backlight_level_nits)(struct dc_link *link,
260 int (*edp_get_target_backlight_pwm)(const struct dc_link *link);
262 const struct dc_link *link, enum dc_psr_state *state);
264 struct dc_link *link,
269 bool (*edp_setup_psr)(struct dc_link *link,
274 const struct dc_link *link,
278 const struct dc_link *link, uint32_t *residency, enum psr_residency_mode mode);
281 const struct dc_link *link, uint64_t *state);
285 bool (*edp_setup_replay)(struct dc_link *link,
287 bool (*edp_send_replay_cmd)(struct dc_link *link,
291 struct dc_link *link, uint32_t coasting_vtotal);
292 bool (*edp_replay_residency)(const struct dc_link *link,
295 bool (*edp_set_replay_power_opt_and_coasting_vtotal)(struct dc_link *link,
298 bool (*edp_wait_for_t12)(struct dc_link *link);
299 bool (*edp_is_ilr_optimization_required)(struct dc_link *link,
301 bool (*edp_backlight_enable_aux)(struct dc_link *link, bool enable);
302 void (*edp_add_delay_for_T9)(struct dc_link *link);
303 bool (*edp_receiver_ready_T9)(struct dc_link *link);
304 bool (*edp_receiver_ready_T7)(struct dc_link *link);
305 bool (*edp_power_alpm_dpcd_enable)(struct dc_link *link, bool enable);
306 void (*edp_set_panel_power)(struct dc_link *link, bool powerOn);
310 void (*dp_handle_automated_test)(struct dc_link *link);
312 struct dc_link *link,
320 struct dc_link *link);
324 struct dc_link *link,
329 bool (*dp_trace_is_initialized)(struct dc_link *link);
330 void (*dp_trace_set_is_logged_flag)(struct dc_link *link,
333 bool (*dp_trace_is_logged)(struct dc_link *link, bool in_detection);
335 struct dc_link *link, bool in_detection);
337 struct dc_link *link, bool in_detection);
338 unsigned int (*dp_trace_get_link_loss_count)(struct dc_link *link);
339 void (*dp_trace_set_edp_power_timestamp)(struct dc_link *link,
341 uint64_t (*dp_trace_get_edp_poweron_timestamp)(struct dc_link *link);
342 uint64_t (*dp_trace_get_edp_poweroff_timestamp)(struct dc_link *link);
344 struct dc_link *link, uint8_t dp_test_mode);