Lines Matching refs:dp_link
41 struct dp_link dp_link; member
125 struct dp_link_test_audio *req = &link->dp_link.test_audio; in dp_link_parse_audio_channel_period()
208 link->dp_link.test_audio.test_audio_pattern_type = data; in dp_link_parse_audio_pattern_type()
248 link->dp_link.test_audio.test_audio_sampling_rate = sampling_rate; in dp_link_parse_audio_mode()
249 link->dp_link.test_audio.test_audio_channel_count = channel_count; in dp_link_parse_audio_mode()
394 link->dp_link.test_video.test_video_pattern = bp; in dp_link_parse_video_pattern_params()
404 link->dp_link.test_video.test_dyn_range = in dp_link_parse_video_pattern_params()
415 link->dp_link.test_video.test_bit_depth = bp; in dp_link_parse_video_pattern_params()
419 &link->dp_link.test_video.test_h_total); in dp_link_parse_video_pattern_params()
426 &link->dp_link.test_video.test_v_total); in dp_link_parse_video_pattern_params()
433 &link->dp_link.test_video.test_h_start); in dp_link_parse_video_pattern_params()
440 &link->dp_link.test_video.test_v_start); in dp_link_parse_video_pattern_params()
447 &link->dp_link.test_video.test_hsync_pol, in dp_link_parse_video_pattern_params()
448 &link->dp_link.test_video.test_hsync_width); in dp_link_parse_video_pattern_params()
455 &link->dp_link.test_video.test_vsync_pol, in dp_link_parse_video_pattern_params()
456 &link->dp_link.test_video.test_vsync_width); in dp_link_parse_video_pattern_params()
463 &link->dp_link.test_video.test_h_width); in dp_link_parse_video_pattern_params()
470 &link->dp_link.test_video.test_v_height); in dp_link_parse_video_pattern_params()
477 &link->dp_link.test_video.test_rr_d); in dp_link_parse_video_pattern_params()
478 link->dp_link.test_video.test_rr_d &= DP_TEST_REFRESH_DENOMINATOR; in dp_link_parse_video_pattern_params()
485 &link->dp_link.test_video.test_rr_n); in dp_link_parse_video_pattern_params()
505 link->dp_link.test_video.test_video_pattern, in dp_link_parse_video_pattern_params()
506 link->dp_link.test_video.test_dyn_range, in dp_link_parse_video_pattern_params()
507 link->dp_link.test_video.test_bit_depth, in dp_link_parse_video_pattern_params()
508 link->dp_link.test_video.test_h_total, in dp_link_parse_video_pattern_params()
509 link->dp_link.test_video.test_v_total, in dp_link_parse_video_pattern_params()
510 link->dp_link.test_video.test_h_start, in dp_link_parse_video_pattern_params()
511 link->dp_link.test_video.test_v_start, in dp_link_parse_video_pattern_params()
512 link->dp_link.test_video.test_hsync_pol, in dp_link_parse_video_pattern_params()
513 link->dp_link.test_video.test_hsync_width, in dp_link_parse_video_pattern_params()
514 link->dp_link.test_video.test_vsync_pol, in dp_link_parse_video_pattern_params()
515 link->dp_link.test_video.test_vsync_width, in dp_link_parse_video_pattern_params()
516 link->dp_link.test_video.test_h_width, in dp_link_parse_video_pattern_params()
517 link->dp_link.test_video.test_v_height, in dp_link_parse_video_pattern_params()
518 link->dp_link.test_video.test_rr_d, in dp_link_parse_video_pattern_params()
519 link->dp_link.test_video.test_rr_n); in dp_link_parse_video_pattern_params()
589 link->dp_link.phy_params.phy_test_pattern_sel = data & 0x07; in dp_link_parse_phy_test_params()
700 link->dp_link.test_response = DP_TEST_NAK; in dp_link_parse_request()
703 link->dp_link.test_response = DP_TEST_ACK; in dp_link_parse_request()
705 link->dp_link.test_response = in dp_link_parse_request()
720 static int dp_link_parse_sink_count(struct dp_link *dp_link) in dp_link_parse_sink_count() argument
725 struct dp_link_private *link = container_of(dp_link, in dp_link_parse_sink_count()
726 struct dp_link_private, dp_link); in dp_link_parse_sink_count()
729 &link->dp_link.sink_count); in dp_link_parse_sink_count()
735 cp_ready = link->dp_link.sink_count & DP_SINK_CP_READY; in dp_link_parse_sink_count()
737 link->dp_link.sink_count = in dp_link_parse_sink_count()
738 DP_GET_SINK_COUNT(link->dp_link.sink_count); in dp_link_parse_sink_count()
741 link->dp_link.sink_count, cp_ready); in dp_link_parse_sink_count()
749 link->prev_sink_count = link->dp_link.sink_count; in dp_link_parse_sink_status_field()
750 len = dp_link_parse_sink_count(&link->dp_link); in dp_link_parse_sink_status_field()
788 link->dp_link.link_params.num_lanes = link->request.test_lane_count; in dp_link_process_link_training_request()
789 link->dp_link.link_params.rate = in dp_link_process_link_training_request()
795 bool dp_link_send_test_response(struct dp_link *dp_link) in dp_link_send_test_response() argument
800 if (!dp_link) { in dp_link_send_test_response()
805 link = container_of(dp_link, struct dp_link_private, dp_link); in dp_link_send_test_response()
808 dp_link->test_response); in dp_link_send_test_response()
813 int dp_link_psm_config(struct dp_link *dp_link, in dp_link_psm_config() argument
819 if (!dp_link) { in dp_link_psm_config()
824 link = container_of(dp_link, struct dp_link_private, dp_link); in dp_link_psm_config()
836 dp_link->psm_enabled = enable; in dp_link_psm_config()
842 bool dp_link_send_edid_checksum(struct dp_link *dp_link, u8 checksum) in dp_link_send_edid_checksum() argument
847 if (!dp_link) { in dp_link_send_edid_checksum()
852 link = container_of(dp_link, struct dp_link_private, dp_link); in dp_link_send_edid_checksum()
879 link->dp_link.phy_params.v_level, in dp_link_parse_vx_px()
880 link->dp_link.phy_params.p_level); in dp_link_parse_vx_px()
881 link->dp_link.phy_params.v_level = in dp_link_parse_vx_px()
883 link->dp_link.phy_params.p_level = in dp_link_parse_vx_px()
886 link->dp_link.phy_params.p_level >>= DP_TRAIN_PRE_EMPHASIS_SHIFT; in dp_link_parse_vx_px()
890 link->dp_link.phy_params.v_level, in dp_link_parse_vx_px()
891 link->dp_link.phy_params.p_level); in dp_link_parse_vx_px()
920 link->dp_link.link_params.rate, in dp_link_process_phy_test_pattern_request()
921 link->dp_link.link_params.num_lanes); in dp_link_process_phy_test_pattern_request()
928 link->dp_link.link_params.num_lanes = link->request.test_lane_count; in dp_link_process_phy_test_pattern_request()
929 link->dp_link.link_params.rate = in dp_link_process_phy_test_pattern_request()
956 link->dp_link.link_params.num_lanes); in dp_link_process_link_status_update()
959 link->dp_link.link_params.num_lanes); in dp_link_process_link_status_update()
988 if (link->prev_sink_count == link->dp_link.sink_count) in dp_link_process_ds_port_status_change()
993 link->prev_sink_count = link->dp_link.sink_count; in dp_link_process_ds_port_status_change()
1013 link->dp_link.test_video = (const struct dp_link_test_video){ 0 }; in dp_link_reset_data()
1014 link->dp_link.test_video.test_bit_depth = DP_TEST_BIT_DEPTH_UNKNOWN; in dp_link_reset_data()
1015 link->dp_link.test_audio = (const struct dp_link_test_audio){ 0 }; in dp_link_reset_data()
1016 link->dp_link.phy_params.phy_test_pattern_sel = 0; in dp_link_reset_data()
1017 link->dp_link.sink_request = 0; in dp_link_reset_data()
1018 link->dp_link.test_response = 0; in dp_link_reset_data()
1029 int dp_link_process_request(struct dp_link *dp_link) in dp_link_process_request() argument
1034 if (!dp_link) { in dp_link_process_request()
1039 link = container_of(dp_link, struct dp_link_private, dp_link); in dp_link_process_request()
1048 dp_link->sink_request |= DP_TEST_LINK_EDID_READ; in dp_link_process_request()
1050 dp_link->sink_request |= DS_PORT_STATUS_CHANGED; in dp_link_process_request()
1052 dp_link->sink_request |= DP_TEST_LINK_TRAINING; in dp_link_process_request()
1054 dp_link->sink_request |= DP_TEST_LINK_PHY_TEST_PATTERN; in dp_link_process_request()
1058 dp_link->sink_request |= DP_LINK_STATUS_UPDATED; in dp_link_process_request()
1062 dp_link->sink_request |= DP_TEST_LINK_VIDEO_PATTERN; in dp_link_process_request()
1065 dp_link->sink_request |= DP_TEST_LINK_AUDIO_PATTERN; in dp_link_process_request()
1072 dp_link->sink_request); in dp_link_process_request()
1076 int dp_link_get_colorimetry_config(struct dp_link *dp_link) in dp_link_get_colorimetry_config() argument
1081 if (!dp_link) { in dp_link_get_colorimetry_config()
1086 link = container_of(dp_link, struct dp_link_private, dp_link); in dp_link_get_colorimetry_config()
1093 cc = link->dp_link.test_video.test_dyn_range; in dp_link_get_colorimetry_config()
1100 int dp_link_adjust_levels(struct dp_link *dp_link, u8 *link_status) in dp_link_adjust_levels() argument
1106 if (!dp_link) { in dp_link_adjust_levels()
1111 link = container_of(dp_link, struct dp_link_private, dp_link); in dp_link_adjust_levels()
1114 for (i = 0; i < dp_link->link_params.num_lanes; i++) { in dp_link_adjust_levels()
1127 dp_link->phy_params.v_level = v_max >> DP_TRAIN_VOLTAGE_SWING_SHIFT; in dp_link_adjust_levels()
1128 dp_link->phy_params.p_level = p_max >> DP_TRAIN_PRE_EMPHASIS_SHIFT; in dp_link_adjust_levels()
1134 if (dp_link->phy_params.v_level > DP_TRAIN_VOLTAGE_SWING_MAX) { in dp_link_adjust_levels()
1137 dp_link->phy_params.v_level, in dp_link_adjust_levels()
1139 dp_link->phy_params.v_level = DP_TRAIN_VOLTAGE_SWING_MAX; in dp_link_adjust_levels()
1142 if (dp_link->phy_params.p_level > DP_TRAIN_PRE_EMPHASIS_MAX) { in dp_link_adjust_levels()
1145 dp_link->phy_params.p_level, in dp_link_adjust_levels()
1147 dp_link->phy_params.p_level = DP_TRAIN_PRE_EMPHASIS_MAX; in dp_link_adjust_levels()
1150 if ((dp_link->phy_params.p_level > DP_TRAIN_PRE_EMPHASIS_LVL_1) in dp_link_adjust_levels()
1151 && (dp_link->phy_params.v_level == in dp_link_adjust_levels()
1155 dp_link->phy_params.p_level, in dp_link_adjust_levels()
1157 dp_link->phy_params.p_level = DP_TRAIN_PRE_EMPHASIS_LVL_1; in dp_link_adjust_levels()
1161 dp_link->phy_params.v_level, dp_link->phy_params.p_level); in dp_link_adjust_levels()
1166 void dp_link_reset_phy_params_vx_px(struct dp_link *dp_link) in dp_link_reset_phy_params_vx_px() argument
1168 dp_link->phy_params.v_level = 0; in dp_link_reset_phy_params_vx_px()
1169 dp_link->phy_params.p_level = 0; in dp_link_reset_phy_params_vx_px()
1172 u32 dp_link_get_test_bits_depth(struct dp_link *dp_link, u32 bpp) in dp_link_get_test_bits_depth() argument
1202 struct dp_link *dp_link_get(struct device *dev, struct drm_dp_aux *aux) in dp_link_get()
1205 struct dp_link *dp_link; in dp_link_get() local
1220 dp_link = &link->dp_link; in dp_link_get()
1222 return dp_link; in dp_link_get()