Lines Matching refs: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.
45 * dc_link_exports.c or other dc files include link.h
46 * link_factory.c implements link.h
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;
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);
214 const struct dc_link *link);
215 bool (*edp_decide_link_settings)(struct dc_link *link,
218 bool (*dp_overwrite_extended_receiver_cap)(struct dc_link *link);
219 enum lttpr_mode (*dp_decide_lttpr_mode)(struct dc_link *link,
225 struct dc_link *link, int peak_bw);
227 struct dc_link *link,
230 void (*dpcd_write_rx_power_ctrl)(struct dc_link *link, bool on);
235 struct dc_link *link,
237 bool (*dp_should_allow_hpd_rx_irq)(const struct dc_link *link);
238 void (*dp_handle_link_loss)(struct dc_link *link);
240 struct dc_link *link,
242 bool (*dp_handle_hpd_rx_irq)(struct dc_link *link,
250 struct dc_link *link, bool wait_for_hpd);
251 int (*edp_get_backlight_level)(const struct dc_link *link);
252 bool (*edp_get_backlight_level_nits)(struct dc_link *link,
255 bool (*edp_set_backlight_level)(const struct dc_link *link,
257 bool (*edp_set_backlight_level_nits)(struct dc_link *link,
261 int (*edp_get_target_backlight_pwm)(const struct dc_link *link);
263 const struct dc_link *link, enum dc_psr_state *state);
265 struct dc_link *link,
270 bool (*edp_setup_psr)(struct dc_link *link,
275 const struct dc_link *link,
279 const struct dc_link *link, uint32_t *residency, enum psr_residency_mode mode);
282 const struct dc_link *link, uint64_t *state);
286 bool (*edp_setup_replay)(struct dc_link *link,
288 bool (*edp_send_replay_cmd)(struct dc_link *link,
292 struct dc_link *link, uint32_t coasting_vtotal);
293 bool (*edp_replay_residency)(const struct dc_link *link,
296 bool (*edp_set_replay_power_opt_and_coasting_vtotal)(struct dc_link *link,
299 bool (*edp_wait_for_t12)(struct dc_link *link);
300 bool (*edp_is_ilr_optimization_required)(struct dc_link *link,
302 bool (*edp_backlight_enable_aux)(struct dc_link *link, bool enable);
303 void (*edp_add_delay_for_T9)(struct dc_link *link);
304 bool (*edp_receiver_ready_T9)(struct dc_link *link);
305 bool (*edp_receiver_ready_T7)(struct dc_link *link);
306 bool (*edp_power_alpm_dpcd_enable)(struct dc_link *link, bool enable);
307 void (*edp_set_panel_power)(struct dc_link *link, bool powerOn);
311 void (*dp_handle_automated_test)(struct dc_link *link);
313 struct dc_link *link,
321 struct dc_link *link);
325 struct dc_link *link,
330 bool (*dp_trace_is_initialized)(struct dc_link *link);
331 void (*dp_trace_set_is_logged_flag)(struct dc_link *link,
334 bool (*dp_trace_is_logged)(struct dc_link *link, bool in_detection);
336 struct dc_link *link, bool in_detection);
338 struct dc_link *link, bool in_detection);
339 unsigned int (*dp_trace_get_link_loss_count)(struct dc_link *link);
340 void (*dp_trace_set_edp_power_timestamp)(struct dc_link *link,
342 uint64_t (*dp_trace_get_edp_poweron_timestamp)(struct dc_link *link);
343 uint64_t (*dp_trace_get_edp_poweroff_timestamp)(struct dc_link *link);
345 struct dc_link *link, uint8_t dp_test_mode);