|
@@ -2264,7 +2264,7 @@ static int rw_mgr_mem_calibrate_vfifo_center(const u32 rank_bgn,
|
|
|
CAL_STAGE_VFIFO_AFTER_WRITES,
|
|
|
CAL_SUBSTAGE_VFIFO_CENTER);
|
|
|
}
|
|
|
- return 0;
|
|
|
+ return -EIO;
|
|
|
}
|
|
|
|
|
|
min_index = get_window_mid_index(0, left_edge, right_edge, &mid_min);
|
|
@@ -2319,7 +2319,10 @@ static int rw_mgr_mem_calibrate_vfifo_center(const u32 rank_bgn,
|
|
|
*/
|
|
|
writel(0, &sdr_scc_mgr->update);
|
|
|
|
|
|
- return (dq_margin >= 0) && (dqs_margin >= 0);
|
|
|
+ if ((dq_margin < 0) || (dqs_margin < 0))
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2459,7 +2462,7 @@ rw_mgr_mem_calibrate_dq_dqs_centering(const u32 rw_group, const u32 test_bgn,
|
|
|
test_bgn,
|
|
|
use_read_test,
|
|
|
update_fom);
|
|
|
- if (ret)
|
|
|
+ if (!ret)
|
|
|
continue;
|
|
|
|
|
|
grp_calibrated = 0;
|
|
@@ -2594,7 +2597,7 @@ static uint32_t rw_mgr_mem_calibrate_vfifo_end(uint32_t read_group,
|
|
|
/* Determine if this set of ranks should be skipped entirely */
|
|
|
if (!param->skip_shadow_regs[sr]) {
|
|
|
/* This is the last calibration round, update FOM here */
|
|
|
- if (!rw_mgr_mem_calibrate_vfifo_center(rank_bgn,
|
|
|
+ if (rw_mgr_mem_calibrate_vfifo_center(rank_bgn,
|
|
|
read_group,
|
|
|
test_bgn, 0,
|
|
|
1)) {
|