bool drm_dp_clock_recovery_ok(u8 link_status[DP_LINK_STATUS_SIZE], int lane_count) { int lane; u8 lane_status; for (lane = 0; lane < lane_count; lane++) { lane_status = dp_get_lane_status(link_status, lane); if ((lane_status & DP_LANE_CR_DONE) == 0) return false; } return true; }
static bool dp_clock_recovery_ok(dp_info* dp) { int lane; uint8 laneStatus; for (lane = 0; lane < dp->laneCount; lane++) { laneStatus = dp_get_lane_status(dp, lane); if ((laneStatus & DP_LANE_STATUS_CR_DONE_A) == 0) return false; } return true; }
bool drm_dp_channel_eq_ok(u8 link_status[DP_LINK_STATUS_SIZE], int lane_count) { u8 lane_align; u8 lane_status; int lane; lane_align = dp_link_status(link_status, DP_LANE_ALIGN_STATUS_UPDATED); if ((lane_align & DP_INTERLANE_ALIGN_DONE) == 0) return false; for (lane = 0; lane < lane_count; lane++) { lane_status = dp_get_lane_status(link_status, lane); if ((lane_status & DP_CHANNEL_EQ_BITS) != DP_CHANNEL_EQ_BITS) return false; } return true; }
static bool dp_clock_equalization_ok(dp_info* dp) { uint8 laneAlignment = dp->linkStatus[DP_LANE_ALIGN - DP_LANE_STATUS_0_1]; if ((laneAlignment & DP_LANE_ALIGN_DONE) == 0) return false; int lane; for (lane = 0; lane < dp->laneCount; lane++) { uint8 laneStatus = dp_get_lane_status(dp, lane); if ((laneStatus & DP_LANE_STATUS_EQUALIZED_A) != DP_LANE_STATUS_EQUALIZED_A) { return false; } } return true; }