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,
155 void (*resume)(struct dc_link *link);
158 void (*blank_dp_stream)(struct dc_link *link, bool hw_init);
193 bool (*dp_is_sink_present)(struct dc_link *link);
194 bool (*dp_is_fec_supported)(const struct dc_link *link);
196 bool (*dp_get_max_link_enc_cap)(const struct dc_link *link,
199 const struct dc_link *link);
202 bool (*dp_should_enable_fec)(const struct dc_link *link);
207 const struct dc_link *link);
208 bool (*edp_decide_link_settings)(struct dc_link *link,
211 bool (*dp_overwrite_extended_receiver_cap)(struct dc_link *link);
212 enum lttpr_mode (*dp_decide_lttpr_mode)(struct dc_link *link,
218 struct dc_link *link, int peak_bw);
220 struct dc_link *link, uint8_t bw, uint8_t result);
222 struct dc_link *link,
225 void (*dpcd_write_rx_power_ctrl)(struct dc_link *link, bool on);
230 struct dc_link *link,
232 bool (*dp_should_allow_hpd_rx_irq)(const struct dc_link *link);
233 void (*dp_handle_link_loss)(struct dc_link *link);
235 struct dc_link *link,
237 bool (*dp_handle_hpd_rx_irq)(struct dc_link *link,
245 struct dc_link *link, bool wait_for_hpd);
246 int (*edp_get_backlight_level)(const struct dc_link *link);
247 bool (*edp_get_backlight_level_nits)(struct dc_link *link,
250 bool (*edp_set_backlight_level)(const struct dc_link *link,
253 bool (*edp_set_backlight_level_nits)(struct dc_link *link,
257 int (*edp_get_target_backlight_pwm)(const struct dc_link *link);
259 const struct dc_link *link, enum dc_psr_state *state);
261 struct dc_link *link,
266 bool (*edp_setup_psr)(struct dc_link *link,
271 const struct dc_link *link,
275 const struct dc_link *link, uint32_t *residency, enum psr_residency_mode mode);
278 const struct dc_link *link, uint64_t *state);
282 bool (*edp_setup_replay)(struct dc_link *link,
284 bool (*edp_send_replay_cmd)(struct dc_link *link,
288 struct dc_link *link, uint32_t coasting_vtotal);
289 bool (*edp_replay_residency)(const struct dc_link *link,
292 bool (*edp_set_replay_power_opt_and_coasting_vtotal)(struct dc_link *link,
295 bool (*edp_wait_for_t12)(struct dc_link *link);
296 bool (*edp_is_ilr_optimization_required)(struct dc_link *link,
298 bool (*edp_backlight_enable_aux)(struct dc_link *link, bool enable);
299 void (*edp_add_delay_for_T9)(struct dc_link *link);
300 bool (*edp_receiver_ready_T9)(struct dc_link *link);
301 bool (*edp_receiver_ready_T7)(struct dc_link *link);
302 bool (*edp_power_alpm_dpcd_enable)(struct dc_link *link, bool enable);
303 void (*edp_set_panel_power)(struct dc_link *link, bool powerOn);
307 void (*dp_handle_automated_test)(struct dc_link *link);
309 struct dc_link *link,
317 struct dc_link *link);
321 struct dc_link *link,
326 bool (*dp_trace_is_initialized)(struct dc_link *link);
327 void (*dp_trace_set_is_logged_flag)(struct dc_link *link,
330 bool (*dp_trace_is_logged)(struct dc_link *link, bool in_detection);
332 struct dc_link *link, bool in_detection);
334 struct dc_link *link, bool in_detection);
335 unsigned int (*dp_trace_get_link_loss_count)(struct dc_link *link);
336 void (*dp_trace_set_edp_power_timestamp)(struct dc_link *link,
338 uint64_t (*dp_trace_get_edp_poweron_timestamp)(struct dc_link *link);
339 uint64_t (*dp_trace_get_edp_poweroff_timestamp)(struct dc_link *link);
341 struct dc_link *link, uint8_t dp_test_mode);