drm/amd/display: optimize code runtime a bit
In fnction is_cr_done & is_ch_eq_done, when done = false happened once, no need to circle left ln_count. This change is to make the code run a bit fast. Signed-off-by: Bernard Zhao <bernard@vivo.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
724dc53b92
commit
d56b83f7c1
@ -380,34 +380,30 @@ static void dpcd_set_lt_pattern_and_lane_settings(
|
|||||||
static bool is_cr_done(enum dc_lane_count ln_count,
|
static bool is_cr_done(enum dc_lane_count ln_count,
|
||||||
union lane_status *dpcd_lane_status)
|
union lane_status *dpcd_lane_status)
|
||||||
{
|
{
|
||||||
bool done = true;
|
|
||||||
uint32_t lane;
|
uint32_t lane;
|
||||||
/*LANEx_CR_DONE bits All 1's?*/
|
/*LANEx_CR_DONE bits All 1's?*/
|
||||||
for (lane = 0; lane < (uint32_t)(ln_count); lane++) {
|
for (lane = 0; lane < (uint32_t)(ln_count); lane++) {
|
||||||
if (!dpcd_lane_status[lane].bits.CR_DONE_0)
|
if (!dpcd_lane_status[lane].bits.CR_DONE_0)
|
||||||
done = false;
|
return false;
|
||||||
}
|
}
|
||||||
return done;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool is_ch_eq_done(enum dc_lane_count ln_count,
|
static bool is_ch_eq_done(enum dc_lane_count ln_count,
|
||||||
union lane_status *dpcd_lane_status,
|
union lane_status *dpcd_lane_status,
|
||||||
union lane_align_status_updated *lane_status_updated)
|
union lane_align_status_updated *lane_status_updated)
|
||||||
{
|
{
|
||||||
bool done = true;
|
|
||||||
uint32_t lane;
|
uint32_t lane;
|
||||||
if (!lane_status_updated->bits.INTERLANE_ALIGN_DONE)
|
if (!lane_status_updated->bits.INTERLANE_ALIGN_DONE)
|
||||||
done = false;
|
return false;
|
||||||
else {
|
else {
|
||||||
for (lane = 0; lane < (uint32_t)(ln_count); lane++) {
|
for (lane = 0; lane < (uint32_t)(ln_count); lane++) {
|
||||||
if (!dpcd_lane_status[lane].bits.SYMBOL_LOCKED_0 ||
|
if (!dpcd_lane_status[lane].bits.SYMBOL_LOCKED_0 ||
|
||||||
!dpcd_lane_status[lane].bits.CHANNEL_EQ_DONE_0)
|
!dpcd_lane_status[lane].bits.CHANNEL_EQ_DONE_0)
|
||||||
done = false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return done;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void update_drive_settings(
|
static void update_drive_settings(
|
||||||
|
Loading…
Reference in New Issue
Block a user