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);
278 const struct dc_link *link, uint64_t *state);
282 bool (*edp_setup_replay)(struct dc_link *link,
285 struct dc_link *link, uint16_t coasting_vtotal);
286 bool (*edp_replay_residency)(const struct dc_link *link,
290 bool (*edp_wait_for_t12)(struct dc_link *link);
291 bool (*edp_is_ilr_optimization_required)(struct dc_link *link,
293 bool (*edp_backlight_enable_aux)(struct dc_link *link, bool enable);
294 void (*edp_add_delay_for_T9)(struct dc_link *link);
295 bool (*edp_receiver_ready_T9)(struct dc_link *link);
296 bool (*edp_receiver_ready_T7)(struct dc_link *link);
297 bool (*edp_power_alpm_dpcd_enable)(struct dc_link *link, bool enable);
298 void (*edp_set_panel_power)(struct dc_link *link, bool powerOn);
302 void (*dp_handle_automated_test)(struct dc_link *link);
304 struct dc_link *link,
312 struct dc_link *link);
316 struct dc_link *link,
321 bool (*dp_trace_is_initialized)(struct dc_link *link);
322 void (*dp_trace_set_is_logged_flag)(struct dc_link *link,
325 bool (*dp_trace_is_logged)(struct dc_link *link, bool in_detection);
327 struct dc_link *link, bool in_detection);
329 struct dc_link *link, bool in_detection);
330 unsigned int (*dp_trace_get_link_loss_count)(struct dc_link *link);
331 void (*dp_trace_set_edp_power_timestamp)(struct dc_link *link,
333 uint64_t (*dp_trace_get_edp_poweron_timestamp)(struct dc_link *link);
334 uint64_t (*dp_trace_get_edp_poweroff_timestamp)(struct dc_link *link);
336 struct dc_link *link, uint8_t dp_test_mode);