|
@@ -305,7 +305,7 @@ static void scc_mgr_set_dqs_en_delay(uint32_t read_group, uint32_t delay)
|
|
|
scc_mgr_set(SCC_MGR_DQS_EN_DELAY_OFFSET, read_group, delay);
|
|
|
}
|
|
|
|
|
|
-static void scc_mgr_set_dqs_io_in_delay(uint32_t write_group, uint32_t delay)
|
|
|
+static void scc_mgr_set_dqs_io_in_delay(uint32_t delay)
|
|
|
{
|
|
|
scc_mgr_set(SCC_MGR_IO_IN_DELAY_OFFSET, RW_MGR_MEM_DQ_PER_WRITE_DQS,
|
|
|
delay);
|
|
@@ -321,8 +321,7 @@ static void scc_mgr_set_dq_out1_delay(uint32_t dq_in_group, uint32_t delay)
|
|
|
scc_mgr_set(SCC_MGR_IO_OUT1_DELAY_OFFSET, dq_in_group, delay);
|
|
|
}
|
|
|
|
|
|
-static void scc_mgr_set_dqs_out1_delay(uint32_t write_group,
|
|
|
- uint32_t delay)
|
|
|
+static void scc_mgr_set_dqs_out1_delay(uint32_t delay)
|
|
|
{
|
|
|
scc_mgr_set(SCC_MGR_IO_OUT1_DELAY_OFFSET, RW_MGR_MEM_DQ_PER_WRITE_DQS,
|
|
|
delay);
|
|
@@ -589,9 +588,9 @@ static void scc_mgr_zero_group(uint32_t write_group, uint32_t test_begin,
|
|
|
|
|
|
/* zero all DQS io settings */
|
|
|
if (!out_only)
|
|
|
- scc_mgr_set_dqs_io_in_delay(write_group, 0);
|
|
|
+ scc_mgr_set_dqs_io_in_delay(0);
|
|
|
/* av/cv don't have out2 */
|
|
|
- scc_mgr_set_dqs_out1_delay(write_group, IO_DQS_OUT_RESERVE);
|
|
|
+ scc_mgr_set_dqs_out1_delay(IO_DQS_OUT_RESERVE);
|
|
|
scc_mgr_set_oct_out1_delay(write_group, IO_DQS_OUT_RESERVE);
|
|
|
scc_mgr_load_dqs_for_write_group(write_group);
|
|
|
|
|
@@ -607,8 +606,7 @@ static void scc_mgr_zero_group(uint32_t write_group, uint32_t test_begin,
|
|
|
* apply and load a particular input delay for the DQ pins in a group
|
|
|
* group_bgn is the index of the first dq pin (in the write group)
|
|
|
*/
|
|
|
-static void scc_mgr_apply_group_dq_in_delay(uint32_t write_group,
|
|
|
- uint32_t group_bgn, uint32_t delay)
|
|
|
+static void scc_mgr_apply_group_dq_in_delay(uint32_t group_bgn, uint32_t delay)
|
|
|
{
|
|
|
uint32_t i, p;
|
|
|
|
|
@@ -635,8 +633,7 @@ static void scc_mgr_apply_group_dq_out1_delay(const u32 delay)
|
|
|
}
|
|
|
|
|
|
/* apply and load a particular output delay for the DM pins in a group */
|
|
|
-static void scc_mgr_apply_group_dm_out1_delay(uint32_t write_group,
|
|
|
- uint32_t delay1)
|
|
|
+static void scc_mgr_apply_group_dm_out1_delay(uint32_t delay1)
|
|
|
{
|
|
|
uint32_t i;
|
|
|
|
|
@@ -651,7 +648,7 @@ static void scc_mgr_apply_group_dm_out1_delay(uint32_t write_group,
|
|
|
static void scc_mgr_apply_group_dqs_io_and_oct_out1(uint32_t write_group,
|
|
|
uint32_t delay)
|
|
|
{
|
|
|
- scc_mgr_set_dqs_out1_delay(write_group, delay);
|
|
|
+ scc_mgr_set_dqs_out1_delay(delay);
|
|
|
scc_mgr_load_dqs_io();
|
|
|
|
|
|
scc_mgr_set_oct_out1_delay(write_group, delay);
|
|
@@ -709,7 +706,7 @@ static void scc_mgr_apply_group_all_out_delay_add(uint32_t write_group,
|
|
|
write_group, group_bgn, delay, new_delay,
|
|
|
IO_IO_OUT2_DELAY_MAX, IO_IO_OUT2_DELAY_MAX,
|
|
|
new_delay - IO_IO_OUT2_DELAY_MAX);
|
|
|
- scc_mgr_set_dqs_out1_delay(write_group, new_delay -
|
|
|
+ scc_mgr_set_dqs_out1_delay(new_delay -
|
|
|
IO_IO_OUT2_DELAY_MAX);
|
|
|
new_delay = IO_IO_OUT2_DELAY_MAX;
|
|
|
}
|
|
@@ -1805,8 +1802,7 @@ rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase_sweep_dq_in_delay
|
|
|
|
|
|
for (r = 0; r < RW_MGR_MEM_NUMBER_OF_RANKS;
|
|
|
r += NUM_RANKS_PER_SHADOW_REG) {
|
|
|
- for (i = 0, p = test_bgn, d = 0; i < RW_MGR_MEM_DQ_PER_READ_DQS;
|
|
|
- i++, p++, d += delay_step) {
|
|
|
+ for (i = 0, p = test_bgn, d = 0; i < RW_MGR_MEM_DQ_PER_READ_DQS; i++, p++, d += delay_step) {
|
|
|
debug_cond(DLEVEL == 1, "%s:%d rw_mgr_mem_calibrate_\
|
|
|
vfifo_find_dqs_", __func__, __LINE__);
|
|
|
debug_cond(DLEVEL == 1, "en_phase_sweep_dq_in_delay: g=%u/%u ",
|
|
@@ -1932,7 +1928,7 @@ static uint32_t rw_mgr_mem_calibrate_vfifo_center(uint32_t rank_bgn,
|
|
|
}
|
|
|
|
|
|
/* Reset DQ delay chains to 0 */
|
|
|
- scc_mgr_apply_group_dq_in_delay(write_group, test_bgn, 0);
|
|
|
+ scc_mgr_apply_group_dq_in_delay(test_bgn, 0);
|
|
|
sticky_bit_chk = 0;
|
|
|
for (i = RW_MGR_MEM_DQ_PER_READ_DQS - 1;; i--) {
|
|
|
debug_cond(DLEVEL == 2, "%s:%d vfifo_center: left_edge[%u]: \
|
|
@@ -2751,7 +2747,7 @@ static uint32_t rw_mgr_mem_calibrate_writes_center(uint32_t rank_bgn,
|
|
|
}
|
|
|
|
|
|
/* Reset DQ delay chains to 0 */
|
|
|
- scc_mgr_apply_group_dq_out1_delay(write_group, 0);
|
|
|
+ scc_mgr_apply_group_dq_out1_delay(0);
|
|
|
sticky_bit_chk = 0;
|
|
|
for (i = RW_MGR_MEM_DQ_PER_WRITE_DQS - 1;; i--) {
|
|
|
debug_cond(DLEVEL == 2, "%s:%d write_center: left_edge[%u]: \
|
|
@@ -2975,7 +2971,7 @@ static uint32_t rw_mgr_mem_calibrate_writes_center(uint32_t rank_bgn,
|
|
|
|
|
|
/* Search for the/part of the window with DM shift */
|
|
|
for (d = IO_IO_OUT1_DELAY_MAX; d >= 0; d -= DELTA_D) {
|
|
|
- scc_mgr_apply_group_dm_out1_delay(write_group, d);
|
|
|
+ scc_mgr_apply_group_dm_out1_delay(d);
|
|
|
writel(0, &sdr_scc_mgr->update);
|
|
|
|
|
|
if (rw_mgr_mem_calibrate_write_test(rank_bgn, write_group, 1,
|
|
@@ -3008,7 +3004,7 @@ static uint32_t rw_mgr_mem_calibrate_writes_center(uint32_t rank_bgn,
|
|
|
|
|
|
|
|
|
/* Reset DM delay chains to 0 */
|
|
|
- scc_mgr_apply_group_dm_out1_delay(write_group, 0);
|
|
|
+ scc_mgr_apply_group_dm_out1_delay(0);
|
|
|
|
|
|
/*
|
|
|
* Check to see if the current window nudges up aganist 0 delay.
|
|
@@ -3090,7 +3086,7 @@ static uint32_t rw_mgr_mem_calibrate_writes_center(uint32_t rank_bgn,
|
|
|
else
|
|
|
dm_margin = left_edge[0] - mid;
|
|
|
|
|
|
- scc_mgr_apply_group_dm_out1_delay(write_group, mid);
|
|
|
+ scc_mgr_apply_group_dm_out1_delay(mid);
|
|
|
writel(0, &sdr_scc_mgr->update);
|
|
|
|
|
|
debug_cond(DLEVEL == 2, "%s:%d dm_calib: left=%d right=%d mid=%d \
|