Lines Matching full:sink
164 * Detect output sink type
264 struct dc_sink *sink) in read_scdc_caps() argument
270 sizeof(offset), sink->scdc_caps.manufacturer_OUI.byte, in read_scdc_caps()
271 sizeof(sink->scdc_caps.manufacturer_OUI.byte)); in read_scdc_caps()
276 sizeof(offset), &(sink->scdc_caps.device_id.byte), in read_scdc_caps()
277 sizeof(sink->scdc_caps.device_id.byte)); in read_scdc_caps()
763 struct dc_sink *sink, in verify_link_capability_destructive() argument
833 static void verify_link_capability(struct dc_link *link, struct dc_sink *sink, in verify_link_capability() argument
837 verify_link_capability_destructive(link, sink, reason); in verify_link_capability()
843 * detect_link_and_local_sink() - Detect if a sink is attached to a given link
861 struct dc_sink *sink = NULL; in detect_link_and_local_sink() local
1020 sink = dc_sink_create(&sink_init_data); in detect_link_and_local_sink()
1021 if (!sink) { in detect_link_and_local_sink()
1022 DC_ERROR("Failed to create sink!\n"); in detect_link_and_local_sink()
1028 sink->link->dongle_max_pix_clk = sink_caps.max_hdmi_pixel_clock; in detect_link_and_local_sink()
1029 sink->converter_disable_audio = converter_disable_audio; in detect_link_and_local_sink()
1032 link->local_sink = sink; in detect_link_and_local_sink()
1035 link, sink); in detect_link_and_local_sink()
1086 &sink->dc_edid); in detect_link_and_local_sink()
1088 if (sink->edid_caps.panel_patch.skip_scdc_overwrite) in detect_link_and_local_sink()
1091 if (sink->edid_caps.panel_patch.remove_sink_ext_caps) in detect_link_and_local_sink()
1104 query_hdcp_capability(sink->sink_signal, link); in detect_link_and_local_sink()
1106 // If edid is the same, then discard new sink and revert back to original sink in detect_link_and_local_sink()
1109 sink = prev_sink; in detect_link_and_local_sink()
1112 query_hdcp_capability(sink->sink_signal, link); in detect_link_and_local_sink()
1116 if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A && in detect_link_and_local_sink()
1117 !sink->edid_caps.edid_hdmi) in detect_link_and_local_sink()
1118 sink->sink_signal = SIGNAL_TYPE_DVI_SINGLE_LINK; in detect_link_and_local_sink()
1124 for (i = 0; i < sink->dc_edid.length / DC_EDID_BLOCK_SIZE; i++) { in detect_link_and_local_sink()
1126 &sink->dc_edid.raw_edid[i * DC_EDID_BLOCK_SIZE], in detect_link_and_local_sink()
1128 "%s: [Block %d] ", sink->edid_caps.display_name, i); in detect_link_and_local_sink()
1141 sink->edid_caps.manufacturer_id, in detect_link_and_local_sink()
1142 sink->edid_caps.product_id, in detect_link_and_local_sink()
1143 sink->edid_caps.serial_number, in detect_link_and_local_sink()
1144 sink->edid_caps.manufacture_week, in detect_link_and_local_sink()
1145 sink->edid_caps.manufacture_year, in detect_link_and_local_sink()
1146 sink->edid_caps.display_name, in detect_link_and_local_sink()
1147 sink->edid_caps.speaker_flags, in detect_link_and_local_sink()
1148 sink->edid_caps.audio_mode_count); in detect_link_and_local_sink()
1150 for (i = 0; i < sink->edid_caps.audio_mode_count; i++) { in detect_link_and_local_sink()
1158 sink->edid_caps.audio_modes[i].format_code, in detect_link_and_local_sink()
1159 sink->edid_caps.audio_modes[i].channel_count, in detect_link_and_local_sink()
1160 sink->edid_caps.audio_modes[i].sample_rate, in detect_link_and_local_sink()
1161 sink->edid_caps.audio_modes[i].sample_size); in detect_link_and_local_sink()
1169 dm_helpers_init_panel_settings(dc_ctx, &link->panel_config, sink); in detect_link_and_local_sink()
1173 //sink only can use supported link rate table, we are foreced to enable it in detect_link_and_local_sink()
1197 link->link_index, sink, in detect_link_and_local_sink()
1209 * link_detect_connection_type() - Determine if there is a sink connected
1350 static bool link_add_remote_sink_helper(struct dc_link *dc_link, struct dc_sink *sink) in link_add_remote_sink_helper() argument
1357 dc_sink_retain(sink); in link_add_remote_sink_helper()
1359 dc_link->remote_sinks[dc_link->sink_count] = sink; in link_add_remote_sink_helper()
1423 void link_remove_remote_sink(struct dc_link *link, struct dc_sink *sink) in link_remove_remote_sink() argument
1433 if (link->remote_sinks[i] == sink) { in link_remove_remote_sink()
1434 dc_sink_release(sink); in link_remove_remote_sink()