Lines Matching refs:stream
171 streams[i] = pipes[i]->stream; in link_set_all_streams_dpms_off_for_link()
174 stream_update.stream = streams[i]; in link_set_all_streams_dpms_off_for_link()
199 pipe->stream->link == link; in is_master_pipe_for_link()
219 pipe->stream->dpms_off == false) { in link_get_master_pipes_with_dpms_on()
232 pipe_ctx->stream->ctx->dc_bios->integrated_info; in get_ext_hdmi_settings()
333 cmd.speed = pipe_ctx->stream->ctx->dc->caps.i2c_speed_in_khz; in write_i2c()
341 if (dm_helpers_submit_i2c(pipe_ctx->stream->ctx, in write_i2c()
342 pipe_ctx->stream->link, &cmd)) in write_i2c()
361 DC_LOGGER_INIT(pipe_ctx->stream->ctx->logger); in write_i2c_retimer_setting()
395 pipe_ctx->stream->link->ddc, in write_i2c_retimer_setting()
445 pipe_ctx->stream->link->ddc, in write_i2c_retimer_setting()
518 DC_LOGGER_INIT(pipe_ctx->stream->ctx->logger); in write_i2c_default_retimer_setting()
640 DC_LOGGER_INIT(pipe_ctx->stream->ctx->logger); in write_i2c_redriver_setting()
664 struct cp_psp *cp_psp = &pipe_ctx->stream->ctx->cp_psp; in update_psp_stream_config()
668 dp_get_panel_mode(pipe_ctx->stream->link); in update_psp_stream_config()
672 if (!pipe_ctx->stream->ctx->dc->config.unify_link_enc_assignment) in update_psp_stream_config()
673 link_enc = link_enc_cfg_get_link_enc(pipe_ctx->stream->link); in update_psp_stream_config()
691 config.dig_be = pipe_ctx->stream->link->link_enc_hw_inst; in update_psp_stream_config()
699 if (pipe_ctx->stream->link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA) in update_psp_stream_config()
700 config.dio_output_idx = pipe_ctx->stream->link->link_id.enum_id - ENUM_ID_1; in update_psp_stream_config()
707 pipe_ctx->stream->link->dc, link_enc->transmitter); in update_psp_stream_config()
708 if (pipe_ctx->stream->link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA) in update_psp_stream_config()
714 config.mst_enabled = (pipe_ctx->stream->signal == in update_psp_stream_config()
717 config.usb4_enabled = (pipe_ctx->stream->link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA) ? in update_psp_stream_config()
722 config.dm_stream_ctx = pipe_ctx->stream->dm_stream_context; in update_psp_stream_config()
729 struct dc *dc = pipe_ctx->stream->ctx->dc; in set_avmute()
731 if (!dc_is_hdmi_signal(pipe_ctx->stream->signal)) in set_avmute()
774 struct dc *dc = pipe_ctx->stream->ctx->dc; in dp_set_dsc_on_rx()
775 struct dc_stream_state *stream = pipe_ctx->stream; in dp_set_dsc_on_rx() local
778 if (dc_is_virtual_signal(stream->signal)) in dp_set_dsc_on_rx()
781 result = dm_helpers_dp_write_dsc_enable(dc->ctx, stream, enable); in dp_set_dsc_on_rx()
787 struct dc *dc = pipe_ctx->stream->ctx->dc; in dp_set_hblank_reduction_on_rx()
788 struct dc_stream_state *stream = pipe_ctx->stream; in dp_set_hblank_reduction_on_rx() local
791 if (dc_is_virtual_signal(stream->signal)) in dp_set_hblank_reduction_on_rx()
794 result = dm_helpers_dp_write_hblank_reduction(dc->ctx, stream); in dp_set_hblank_reduction_on_rx()
808 struct dc *dc = pipe_ctx->stream->ctx->dc; in link_set_dsc_on_stream()
809 struct dc_stream_state *stream = pipe_ctx->stream; in link_set_dsc_on_stream() local
823 stream->timing.pix_clk_100hz > 480000; in link_set_dsc_on_stream()
835 dsc_cfg.pic_width = (stream->timing.h_addressable + pipe_ctx->hblank_borrow + in link_set_dsc_on_stream()
836 stream->timing.h_border_left + stream->timing.h_border_right) / opp_cnt; in link_set_dsc_on_stream()
837 …dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top + stream->timing.v… in link_set_dsc_on_stream()
838 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in link_set_dsc_on_stream()
839 dsc_cfg.color_depth = stream->timing.display_color_depth; in link_set_dsc_on_stream()
841 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in link_set_dsc_on_stream()
863 if (dc_is_dp_signal(stream->signal) && !dp_is_128b_132b_signal(pipe_ctx)) { in link_set_dsc_on_stream()
889 if (dc_is_dp_signal(stream->signal)) { in link_set_dsc_on_stream()
949 struct dc_stream_state *stream = pipe_ctx->stream; in link_set_dsc_pps_packet() local
951 if (!pipe_ctx->stream->timing.flags.DSC) in link_set_dsc_pps_packet()
967 …dsc_cfg.pic_width = stream->timing.h_addressable + stream->timing.h_border_left + stream->timing.h… in link_set_dsc_pps_packet()
968 …dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top + stream->timing.v… in link_set_dsc_pps_packet()
969 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in link_set_dsc_pps_packet()
970 dsc_cfg.color_depth = stream->timing.display_color_depth; in link_set_dsc_pps_packet()
972 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in link_set_dsc_pps_packet()
975 memcpy(&stream->dsc_packed_pps[0], &dsc_packed_pps[0], sizeof(stream->dsc_packed_pps)); in link_set_dsc_pps_packet()
976 if (dc_is_dp_signal(stream->signal)) { in link_set_dsc_pps_packet()
993 memset(&stream->dsc_packed_pps[0], 0, sizeof(stream->dsc_packed_pps)); in link_set_dsc_pps_packet()
994 if (dc_is_dp_signal(stream->signal)) { in link_set_dsc_pps_packet()
1015 if (!pipe_ctx->stream->timing.flags.DSC) in link_set_dsc_enable()
1038 if (!pipe_ctx->stream->timing.flags.DSC) in link_update_dsc_config()
1050 struct dc_stream_state *stream = pipe_ctx->stream; in enable_stream_features() local
1052 if (pipe_ctx->stream->signal != SIGNAL_TYPE_DISPLAY_PORT_MST) { in enable_stream_features()
1053 struct dc_link *link = stream->link; in enable_stream_features()
1065 (stream->ignore_msa_timing_param) ? 1 : 0; in enable_stream_features()
1073 dm_helpers_mst_enable_stream_features(stream); in enable_stream_features()
1117 static struct fixed31_32 get_pbn_per_slot(struct dc_stream_state *stream) in get_pbn_per_slot() argument
1120 uint32_t link_rate_in_mbytes_per_sec = dp_link_bandwidth_kbps(stream->link, in get_pbn_per_slot()
1121 &stream->link->cur_link_settings); in get_pbn_per_slot()
1167 kbps = dc_bandwidth_in_kbps_from_timing(&pipe_ctx->stream->timing, link_encoding); in get_pbn_from_timing()
1332 struct dc_stream_state *stream = pipe_ctx->stream; in deallocate_mst_payload() local
1333 struct dc_link *link = stream->link; in deallocate_mst_payload()
1362 stream->ctx, in deallocate_mst_payload()
1363 stream, in deallocate_mst_payload()
1416 stream->ctx, in deallocate_mst_payload()
1417 stream); in deallocate_mst_payload()
1420 stream->ctx, in deallocate_mst_payload()
1421 stream); in deallocate_mst_payload()
1431 struct dc_stream_state *stream = pipe_ctx->stream; in allocate_mst_payload() local
1432 struct dc_link *link = stream->link; in allocate_mst_payload()
1449 stream->ctx, in allocate_mst_payload()
1450 stream, in allocate_mst_payload()
1499 stream->ctx, in allocate_mst_payload()
1500 stream); in allocate_mst_payload()
1504 stream->ctx, in allocate_mst_payload()
1505 stream); in allocate_mst_payload()
1508 pbn_per_slot = get_pbn_per_slot(stream); in allocate_mst_payload()
1529 const struct dc_stream_state *stream, in link_calculate_sst_avg_time_slots_per_mtp() argument
1539 dc_bandwidth_in_kbps_from_timing(&stream->timing, in link_calculate_sst_avg_time_slots_per_mtp()
1549 const struct dc_stream_state *stream, in write_128b_132b_sst_payload_allocation_table() argument
1566 avg_time_slots_per_mtp = link_calculate_sst_avg_time_slots_per_mtp(stream, link); in write_128b_132b_sst_payload_allocation_table()
1659 struct dc_stream_state *stream = pipe_ctx->stream; in update_sst_payload() local
1660 struct dc_link *link = stream->link; in update_sst_payload()
1684 stream, in update_sst_payload()
1720 avg_time_slots_per_mtp = link_calculate_sst_avg_time_slots_per_mtp(stream, link); in update_sst_payload()
1741 struct dc_stream_state *stream = pipe_ctx->stream; in link_reduce_mst_payload() local
1742 struct dc_link *link = stream->link; in link_reduce_mst_payload()
1752 pbn_per_slot = get_pbn_per_slot(stream); in link_reduce_mst_payload()
1765 stream->ctx, in link_reduce_mst_payload()
1766 stream); in link_reduce_mst_payload()
1770 stream->ctx, in link_reduce_mst_payload()
1771 stream, in link_reduce_mst_payload()
1821 stream->ctx, in link_reduce_mst_payload()
1822 stream); in link_reduce_mst_payload()
1829 struct dc_stream_state *stream = pipe_ctx->stream; in link_increase_mst_payload() local
1830 struct dc_link *link = stream->link; in link_increase_mst_payload()
1842 stream->ctx, in link_increase_mst_payload()
1843 stream, in link_increase_mst_payload()
1888 stream->ctx, in link_increase_mst_payload()
1889 stream); in link_increase_mst_payload()
1894 stream->ctx, in link_increase_mst_payload()
1895 stream); in link_increase_mst_payload()
1900 pbn_per_slot = get_pbn_per_slot(stream); in link_increase_mst_payload()
1965 struct dc_stream_state *stream = pipe_ctx->stream; in enable_link_hdmi() local
1966 struct dc_link *link = stream->link; in enable_link_hdmi()
1971 bool is_vga_mode = (stream->timing.h_addressable == 640) in enable_link_hdmi()
1972 && (stream->timing.v_addressable == 480); in enable_link_hdmi()
1973 struct dc *dc = pipe_ctx->stream->ctx->dc; in enable_link_hdmi()
1976 if (stream->phy_pix_clk == 0) in enable_link_hdmi()
1977 stream->phy_pix_clk = stream->timing.pix_clk_100hz / 10; in enable_link_hdmi()
1978 if (stream->phy_pix_clk > 340000) in enable_link_hdmi()
1980 if (dc_is_tmds_signal(stream->signal) && stream->phy_pix_clk > 6000000UL) { in enable_link_hdmi()
1985 if (dc_is_hdmi_signal(pipe_ctx->stream->signal)) { in enable_link_hdmi()
1986 unsigned short masked_chip_caps = pipe_ctx->stream->link->chip_caps & in enable_link_hdmi()
2005 if (dc_is_hdmi_signal(pipe_ctx->stream->signal)) in enable_link_hdmi()
2007 stream->link->ddc, in enable_link_hdmi()
2008 stream->phy_pix_clk, in enable_link_hdmi()
2009 stream->timing.flags.LTE_340MCSC_SCRAMBLE); in enable_link_hdmi()
2011 memset(&stream->link->cur_link_settings, 0, in enable_link_hdmi()
2014 display_color_depth = stream->timing.display_color_depth; in enable_link_hdmi()
2015 if (stream->timing.pixel_encoding == PIXEL_ENCODING_YCBCR422) in enable_link_hdmi()
2021 if (dc_is_hdmi_tmds_signal(pipe_ctx->stream->signal) || dc_is_dvi_signal(pipe_ctx->stream->signal)) in enable_link_hdmi()
2027 pipe_ctx->stream->signal, in enable_link_hdmi()
2030 stream->phy_pix_clk); in enable_link_hdmi()
2032 if (dc_is_hdmi_signal(pipe_ctx->stream->signal)) in enable_link_hdmi()
2039 struct dc_stream_state *stream = pipe_ctx->stream; in enable_link_dp() local
2042 struct dc_link *link = stream->link; in enable_link_dp()
2079 pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT && in enable_link_dp()
2083 if (pipe_ctx->stream->signal == SIGNAL_TYPE_EDP) { in enable_link_dp()
2115 if (stream->sink_patches.oled_optimize_display_on) in enable_link_dp()
2122 pipe_ctx->stream->signal, in enable_link_dp()
2141 if (!stream->sink_patches.oled_optimize_display_on) { in enable_link_dp()
2163 struct dc_stream_state *stream = pipe_ctx->stream; in enable_link_lvds() local
2164 struct dc_link *link = stream->link; in enable_link_lvds()
2165 struct dc *dc = stream->ctx->dc; in enable_link_lvds()
2167 if (stream->phy_pix_clk == 0) in enable_link_lvds()
2168 stream->phy_pix_clk = stream->timing.pix_clk_100hz / 10; in enable_link_lvds()
2170 memset(&stream->link->cur_link_settings, 0, in enable_link_lvds()
2176 stream->phy_pix_clk); in enable_link_lvds()
2184 struct dc_link *link = pipe_ctx->stream->link; in enable_link_dp_mst()
2211 struct dc_link *link = pipe_ctx->stream->link; in enable_link_virtual()
2226 struct dc_stream_state *stream = pipe_ctx->stream; in enable_link() local
2227 struct dc_link *link = stream->link; in enable_link()
2236 disable_link(link, &pipe_ctx->link_res, pipe_ctx->stream->signal); in enable_link()
2238 switch (pipe_ctx->stream->signal) { in enable_link()
2267 pipe_ctx->stream->link->link_status.link_active = true; in enable_link()
2273 static bool allocate_usb4_bandwidth_for_stream(struct dc_stream_state *stream, int bw) in allocate_usb4_bandwidth_for_stream() argument
2275 struct dc_link *link = stream->sink->link; in allocate_usb4_bandwidth_for_stream()
2283 if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) { in allocate_usb4_bandwidth_for_stream()
2291 if (stream->sink->sink_id != link->remote_sinks[i]->sink_id) in allocate_usb4_bandwidth_for_stream()
2305 if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) { in allocate_usb4_bandwidth_for_stream()
2320 static bool allocate_usb4_bandwidth(struct dc_stream_state *stream) in allocate_usb4_bandwidth() argument
2324 int bw = dc_bandwidth_in_kbps_from_timing(&stream->timing, in allocate_usb4_bandwidth()
2325 dc_link_get_highest_encoding_format(stream->sink->link)); in allocate_usb4_bandwidth()
2327 ret = allocate_usb4_bandwidth_for_stream(stream, bw); in allocate_usb4_bandwidth()
2332 static bool deallocate_usb4_bandwidth(struct dc_stream_state *stream) in deallocate_usb4_bandwidth() argument
2336 ret = allocate_usb4_bandwidth_for_stream(stream, 0); in deallocate_usb4_bandwidth()
2343 struct dc *dc = pipe_ctx->stream->ctx->dc; in link_set_dpms_off()
2344 struct dc_stream_state *stream = pipe_ctx->stream; in link_set_dpms_off() local
2345 struct dc_link *link = stream->sink->link; in link_set_dpms_off()
2349 DC_LOGGER_INIT(pipe_ctx->stream->ctx->logger); in link_set_dpms_off()
2355 if (dc_is_virtual_signal(pipe_ctx->stream->signal)) in link_set_dpms_off()
2358 if (pipe_ctx->stream->sink) { in link_set_dpms_off()
2359 if (pipe_ctx->stream->sink->sink_signal != SIGNAL_TYPE_VIRTUAL && in link_set_dpms_off()
2360 pipe_ctx->stream->sink->sink_signal != SIGNAL_TYPE_NONE) { in link_set_dpms_off()
2362 pipe_ctx->stream->sink->edid_caps.display_name, in link_set_dpms_off()
2363 pipe_ctx->stream->signal); in link_set_dpms_off()
2367 if (!pipe_ctx->stream->sink->edid_caps.panel_patch.skip_avmute) { in link_set_dpms_off()
2368 if (dc_is_hdmi_signal(pipe_ctx->stream->signal)) in link_set_dpms_off()
2378 deallocate_usb4_bandwidth(pipe_ctx->stream); in link_set_dpms_off()
2380 if (pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) in link_set_dpms_off()
2382 else if (dc_is_dp_sst_signal(pipe_ctx->stream->signal) && in link_set_dpms_off()
2386 if (dc_is_hdmi_signal(pipe_ctx->stream->signal)) { in link_set_dpms_off()
2411 if (pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT && in link_set_dpms_off()
2421 disable_link(pipe_ctx->stream->link, &pipe_ctx->link_res, pipe_ctx->stream->signal); in link_set_dpms_off()
2425 disable_link(pipe_ctx->stream->link, &pipe_ctx->link_res, pipe_ctx->stream->signal); in link_set_dpms_off()
2429 if (pipe_ctx->stream->timing.flags.DSC) { in link_set_dpms_off()
2430 if (dc_is_dp_signal(pipe_ctx->stream->signal)) in link_set_dpms_off()
2444 enum dp_panel_mode panel_mode = dp_get_panel_mode(pipe_ctx->stream->link); in link_set_dpms_off()
2454 struct dc *dc = pipe_ctx->stream->ctx->dc; in link_set_dpms_on()
2455 struct dc_stream_state *stream = pipe_ctx->stream; in link_set_dpms_on() local
2456 struct dc_link *link = stream->sink->link; in link_set_dpms_on()
2463 pipe_ctx->stream->apply_edp_fast_boot_optimization; in link_set_dpms_on()
2465 DC_LOGGER_INIT(pipe_ctx->stream->ctx->logger); in link_set_dpms_on()
2471 if (dc_is_virtual_signal(pipe_ctx->stream->signal)) in link_set_dpms_on()
2474 if (pipe_ctx->stream->sink) { in link_set_dpms_on()
2475 if (pipe_ctx->stream->sink->sink_signal != SIGNAL_TYPE_VIRTUAL && in link_set_dpms_on()
2476 pipe_ctx->stream->sink->sink_signal != SIGNAL_TYPE_NONE) { in link_set_dpms_on()
2478 pipe_ctx->stream->sink->edid_caps.display_name, in link_set_dpms_on()
2479 pipe_ctx->stream->signal); in link_set_dpms_on()
2487 if (!dc_is_virtual_signal(pipe_ctx->stream->signal) in link_set_dpms_on()
2492 pipe_ctx->stream->signal); in link_set_dpms_on()
2495 pipe_ctx->stream->link->link_state_valid = true; in link_set_dpms_on()
2507 pipe_ctx->stream->apply_edp_fast_boot_optimization = false; in link_set_dpms_on()
2516 if (dc_is_dp_signal(pipe_ctx->stream->signal)) in link_set_dpms_on()
2520 if (pipe_ctx->stream->apply_seamless_boot_optimization) { in link_set_dpms_on()
2521 pipe_ctx->stream->dpms_off = false; in link_set_dpms_on()
2524 if (pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT) { in link_set_dpms_on()
2534 if (pipe_ctx->stream->signal == SIGNAL_TYPE_EDP && in link_set_dpms_on()
2536 !pipe_ctx->stream->timing.flags.DSC && in link_set_dpms_on()
2538 pipe_ctx->stream->dpms_off = false; in link_set_dpms_on()
2551 if (pipe_ctx->stream->dpms_off) in link_set_dpms_on()
2569 if (pipe_ctx->stream->timing.flags.DSC) { in link_set_dpms_on()
2570 if (dc_is_dp_signal(pipe_ctx->stream->signal) || in link_set_dpms_on()
2571 dc_is_virtual_signal(pipe_ctx->stream->signal)) in link_set_dpms_on()
2579 pipe_ctx->stream->link->link_index, in link_set_dpms_on()
2588 pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) { in link_set_dpms_on()
2589 if (false == stream->link->link_status.link_active) in link_set_dpms_on()
2590 disable_link(stream->link, &pipe_ctx->link_res, in link_set_dpms_on()
2591 pipe_ctx->stream->signal); in link_set_dpms_on()
2607 if (!(dc_is_virtual_signal(pipe_ctx->stream->signal) || in link_set_dpms_on()
2613 pipe_ctx->stream->signal); in link_set_dpms_on()
2620 if (pipe_ctx->stream->timing.flags.DSC) { in link_set_dpms_on()
2621 if (dc_is_dp_signal(pipe_ctx->stream->signal) || in link_set_dpms_on()
2622 dc_is_virtual_signal(pipe_ctx->stream->signal)) { in link_set_dpms_on()
2628 if (dc_is_dp_signal(pipe_ctx->stream->signal)) in link_set_dpms_on()
2632 allocate_usb4_bandwidth(pipe_ctx->stream); in link_set_dpms_on()
2634 if (pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) in link_set_dpms_on()
2636 else if (dc_is_dp_sst_signal(pipe_ctx->stream->signal) && in link_set_dpms_on()
2645 if (pipe_ctx->stream->signal == SIGNAL_TYPE_EDP && in link_set_dpms_on()
2650 &pipe_ctx->stream->link->cur_link_settings); in link_set_dpms_on()
2652 if (stream->sink_patches.delay_ignore_msa > 0) in link_set_dpms_on()
2653 msleep(stream->sink_patches.delay_ignore_msa); in link_set_dpms_on()
2655 if (dc_is_dp_signal(pipe_ctx->stream->signal)) in link_set_dpms_on()
2661 if (dc_is_hdmi_signal(pipe_ctx->stream->signal)) { in link_set_dpms_on()