Lines Matching refs:msm_dp_link

42 	struct msm_dp_link msm_dp_link;  member
129 struct msm_dp_link_test_audio *req = &link->msm_dp_link.test_audio; in msm_dp_link_parse_audio_channel_period()
212 link->msm_dp_link.test_audio.test_audio_pattern_type = data; in msm_dp_link_parse_audio_pattern_type()
252 link->msm_dp_link.test_audio.test_audio_sampling_rate = sampling_rate; in msm_dp_link_parse_audio_mode()
253 link->msm_dp_link.test_audio.test_audio_channel_count = channel_count; in msm_dp_link_parse_audio_mode()
398 link->msm_dp_link.test_video.test_video_pattern = bp; in msm_dp_link_parse_video_pattern_params()
408 link->msm_dp_link.test_video.test_dyn_range = in msm_dp_link_parse_video_pattern_params()
419 link->msm_dp_link.test_video.test_bit_depth = bp; in msm_dp_link_parse_video_pattern_params()
423 &link->msm_dp_link.test_video.test_h_total); in msm_dp_link_parse_video_pattern_params()
430 &link->msm_dp_link.test_video.test_v_total); in msm_dp_link_parse_video_pattern_params()
437 &link->msm_dp_link.test_video.test_h_start); in msm_dp_link_parse_video_pattern_params()
444 &link->msm_dp_link.test_video.test_v_start); in msm_dp_link_parse_video_pattern_params()
451 &link->msm_dp_link.test_video.test_hsync_pol, in msm_dp_link_parse_video_pattern_params()
452 &link->msm_dp_link.test_video.test_hsync_width); in msm_dp_link_parse_video_pattern_params()
459 &link->msm_dp_link.test_video.test_vsync_pol, in msm_dp_link_parse_video_pattern_params()
460 &link->msm_dp_link.test_video.test_vsync_width); in msm_dp_link_parse_video_pattern_params()
467 &link->msm_dp_link.test_video.test_h_width); in msm_dp_link_parse_video_pattern_params()
474 &link->msm_dp_link.test_video.test_v_height); in msm_dp_link_parse_video_pattern_params()
481 &link->msm_dp_link.test_video.test_rr_d); in msm_dp_link_parse_video_pattern_params()
482 link->msm_dp_link.test_video.test_rr_d &= DP_TEST_REFRESH_DENOMINATOR; in msm_dp_link_parse_video_pattern_params()
489 &link->msm_dp_link.test_video.test_rr_n); in msm_dp_link_parse_video_pattern_params()
509 link->msm_dp_link.test_video.test_video_pattern, in msm_dp_link_parse_video_pattern_params()
510 link->msm_dp_link.test_video.test_dyn_range, in msm_dp_link_parse_video_pattern_params()
511 link->msm_dp_link.test_video.test_bit_depth, in msm_dp_link_parse_video_pattern_params()
512 link->msm_dp_link.test_video.test_h_total, in msm_dp_link_parse_video_pattern_params()
513 link->msm_dp_link.test_video.test_v_total, in msm_dp_link_parse_video_pattern_params()
514 link->msm_dp_link.test_video.test_h_start, in msm_dp_link_parse_video_pattern_params()
515 link->msm_dp_link.test_video.test_v_start, in msm_dp_link_parse_video_pattern_params()
516 link->msm_dp_link.test_video.test_hsync_pol, in msm_dp_link_parse_video_pattern_params()
517 link->msm_dp_link.test_video.test_hsync_width, in msm_dp_link_parse_video_pattern_params()
518 link->msm_dp_link.test_video.test_vsync_pol, in msm_dp_link_parse_video_pattern_params()
519 link->msm_dp_link.test_video.test_vsync_width, in msm_dp_link_parse_video_pattern_params()
520 link->msm_dp_link.test_video.test_h_width, in msm_dp_link_parse_video_pattern_params()
521 link->msm_dp_link.test_video.test_v_height, in msm_dp_link_parse_video_pattern_params()
522 link->msm_dp_link.test_video.test_rr_d, in msm_dp_link_parse_video_pattern_params()
523 link->msm_dp_link.test_video.test_rr_n); in msm_dp_link_parse_video_pattern_params()
593 link->msm_dp_link.phy_params.phy_test_pattern_sel = data & 0x07; in msm_dp_link_parse_phy_test_params()
704 link->msm_dp_link.test_response = DP_TEST_NAK; in msm_dp_link_parse_request()
707 link->msm_dp_link.test_response = DP_TEST_ACK; in msm_dp_link_parse_request()
709 link->msm_dp_link.test_response = in msm_dp_link_parse_request()
720 link->prev_sink_count = link->msm_dp_link.sink_count; in msm_dp_link_parse_sink_status_field()
726 link->msm_dp_link.sink_count = ret; in msm_dp_link_parse_sink_status_field()
760 link->msm_dp_link.link_params.num_lanes = link->request.test_lane_count; in msm_dp_link_process_link_training_request()
761 link->msm_dp_link.link_params.rate = in msm_dp_link_process_link_training_request()
767 bool msm_dp_link_send_test_response(struct msm_dp_link *msm_dp_link) in msm_dp_link_send_test_response() argument
772 if (!msm_dp_link) { in msm_dp_link_send_test_response()
777 link = container_of(msm_dp_link, struct msm_dp_link_private, msm_dp_link); in msm_dp_link_send_test_response()
780 msm_dp_link->test_response); in msm_dp_link_send_test_response()
785 int msm_dp_link_psm_config(struct msm_dp_link *msm_dp_link, in msm_dp_link_psm_config() argument
791 if (!msm_dp_link) { in msm_dp_link_psm_config()
796 link = container_of(msm_dp_link, struct msm_dp_link_private, msm_dp_link); in msm_dp_link_psm_config()
812 bool msm_dp_link_send_edid_checksum(struct msm_dp_link *msm_dp_link, u8 checksum) in msm_dp_link_send_edid_checksum() argument
817 if (!msm_dp_link) { in msm_dp_link_send_edid_checksum()
822 link = container_of(msm_dp_link, struct msm_dp_link_private, msm_dp_link); in msm_dp_link_send_edid_checksum()
849 link->msm_dp_link.phy_params.v_level, in msm_dp_link_parse_vx_px()
850 link->msm_dp_link.phy_params.p_level); in msm_dp_link_parse_vx_px()
851 link->msm_dp_link.phy_params.v_level = in msm_dp_link_parse_vx_px()
853 link->msm_dp_link.phy_params.p_level = in msm_dp_link_parse_vx_px()
856 link->msm_dp_link.phy_params.p_level >>= DP_TRAIN_PRE_EMPHASIS_SHIFT; in msm_dp_link_parse_vx_px()
860 link->msm_dp_link.phy_params.v_level, in msm_dp_link_parse_vx_px()
861 link->msm_dp_link.phy_params.p_level); in msm_dp_link_parse_vx_px()
890 link->msm_dp_link.link_params.rate, in msm_dp_link_process_phy_test_pattern_request()
891 link->msm_dp_link.link_params.num_lanes); in msm_dp_link_process_phy_test_pattern_request()
898 link->msm_dp_link.link_params.num_lanes = link->request.test_lane_count; in msm_dp_link_process_phy_test_pattern_request()
899 link->msm_dp_link.link_params.rate = in msm_dp_link_process_phy_test_pattern_request()
958 link->msm_dp_link.link_params.num_lanes); in msm_dp_link_process_link_status_update()
961 link->msm_dp_link.link_params.num_lanes); in msm_dp_link_process_link_status_update()
990 if (link->prev_sink_count == link->msm_dp_link.sink_count) in msm_dp_link_process_ds_port_status_change()
995 link->prev_sink_count = link->msm_dp_link.sink_count; in msm_dp_link_process_ds_port_status_change()
1015 link->msm_dp_link.test_video = (const struct msm_dp_link_test_video){ 0 }; in msm_dp_link_reset_data()
1016 link->msm_dp_link.test_video.test_bit_depth = DP_TEST_BIT_DEPTH_UNKNOWN; in msm_dp_link_reset_data()
1017 link->msm_dp_link.test_audio = (const struct msm_dp_link_test_audio){ 0 }; in msm_dp_link_reset_data()
1018 link->msm_dp_link.phy_params.phy_test_pattern_sel = 0; in msm_dp_link_reset_data()
1019 link->msm_dp_link.sink_request = 0; in msm_dp_link_reset_data()
1020 link->msm_dp_link.test_response = 0; in msm_dp_link_reset_data()
1031 int msm_dp_link_process_request(struct msm_dp_link *msm_dp_link) in msm_dp_link_process_request() argument
1036 if (!msm_dp_link) { in msm_dp_link_process_request()
1041 link = container_of(msm_dp_link, struct msm_dp_link_private, msm_dp_link); in msm_dp_link_process_request()
1050 msm_dp_link->sink_request |= DP_TEST_LINK_EDID_READ; in msm_dp_link_process_request()
1052 msm_dp_link->sink_request |= DS_PORT_STATUS_CHANGED; in msm_dp_link_process_request()
1054 msm_dp_link->sink_request |= DP_TEST_LINK_TRAINING; in msm_dp_link_process_request()
1056 msm_dp_link->sink_request |= DP_TEST_LINK_PHY_TEST_PATTERN; in msm_dp_link_process_request()
1064 msm_dp_link->sink_request |= DP_LINK_STATUS_UPDATED; in msm_dp_link_process_request()
1068 msm_dp_link->sink_request |= DP_TEST_LINK_VIDEO_PATTERN; in msm_dp_link_process_request()
1071 msm_dp_link->sink_request |= DP_TEST_LINK_AUDIO_PATTERN; in msm_dp_link_process_request()
1078 msm_dp_link->sink_request); in msm_dp_link_process_request()
1082 int msm_dp_link_get_colorimetry_config(struct msm_dp_link *msm_dp_link) in msm_dp_link_get_colorimetry_config() argument
1087 if (!msm_dp_link) { in msm_dp_link_get_colorimetry_config()
1092 link = container_of(msm_dp_link, struct msm_dp_link_private, msm_dp_link); in msm_dp_link_get_colorimetry_config()
1099 if (link->msm_dp_link.test_video.test_dyn_range & in msm_dp_link_get_colorimetry_config()
1107 int msm_dp_link_adjust_levels(struct msm_dp_link *msm_dp_link, u8 *link_status) in msm_dp_link_adjust_levels() argument
1114 if (!msm_dp_link) { in msm_dp_link_adjust_levels()
1119 link = container_of(msm_dp_link, struct msm_dp_link_private, msm_dp_link); in msm_dp_link_adjust_levels()
1122 for (i = 0; i < msm_dp_link->link_params.num_lanes; i++) { in msm_dp_link_adjust_levels()
1135 msm_dp_link->phy_params.v_level = v_max >> DP_TRAIN_VOLTAGE_SWING_SHIFT; in msm_dp_link_adjust_levels()
1136 msm_dp_link->phy_params.p_level = p_max >> DP_TRAIN_PRE_EMPHASIS_SHIFT; in msm_dp_link_adjust_levels()
1142 if (msm_dp_link->phy_params.v_level > DP_TRAIN_LEVEL_MAX) { in msm_dp_link_adjust_levels()
1145 msm_dp_link->phy_params.v_level, in msm_dp_link_adjust_levels()
1147 msm_dp_link->phy_params.v_level = DP_TRAIN_LEVEL_MAX; in msm_dp_link_adjust_levels()
1150 if (msm_dp_link->phy_params.p_level > DP_TRAIN_LEVEL_MAX) { in msm_dp_link_adjust_levels()
1153 msm_dp_link->phy_params.p_level, in msm_dp_link_adjust_levels()
1155 msm_dp_link->phy_params.p_level = DP_TRAIN_LEVEL_MAX; in msm_dp_link_adjust_levels()
1158 max_p_level = DP_TRAIN_LEVEL_MAX - msm_dp_link->phy_params.v_level; in msm_dp_link_adjust_levels()
1159 if (msm_dp_link->phy_params.p_level > max_p_level) { in msm_dp_link_adjust_levels()
1162 msm_dp_link->phy_params.p_level, in msm_dp_link_adjust_levels()
1164 msm_dp_link->phy_params.p_level = max_p_level; in msm_dp_link_adjust_levels()
1168 msm_dp_link->phy_params.v_level, msm_dp_link->phy_params.p_level); in msm_dp_link_adjust_levels()
1173 void msm_dp_link_reset_phy_params_vx_px(struct msm_dp_link *msm_dp_link) in msm_dp_link_reset_phy_params_vx_px() argument
1175 msm_dp_link->phy_params.v_level = 0; in msm_dp_link_reset_phy_params_vx_px()
1176 msm_dp_link->phy_params.p_level = 0; in msm_dp_link_reset_phy_params_vx_px()
1179 u32 msm_dp_link_get_test_bits_depth(struct msm_dp_link *msm_dp_link, u32 bpp) in msm_dp_link_get_test_bits_depth() argument
1184 link = container_of(msm_dp_link, struct msm_dp_link_private, msm_dp_link); in msm_dp_link_get_test_bits_depth()
1213 struct msm_dp_link *msm_dp_link_get(struct device *dev, struct drm_dp_aux *aux) in msm_dp_link_get()
1216 struct msm_dp_link *msm_dp_link; in msm_dp_link_get() local
1230 msm_dp_link = &link->msm_dp_link; in msm_dp_link_get()
1232 return msm_dp_link; in msm_dp_link_get()