ddr: altera: Clean up sdr_*_phase() part 9
[oweals/u-boot.git] / drivers / ddr / altera / sequencer.c
index d93b5fee498a30f198af728c84be5ca045ea946a..e5dd81bdd14755fb2e57512e4fe32dcbcbd61549 100644 (file)
@@ -1403,12 +1403,11 @@ static int sdr_working_phase(uint32_t grp, uint32_t *work_bgn,
        return -EINVAL;
 }
 
-static void sdr_backup_phase(uint32_t grp,
-                            uint32_t *work_bgn, uint32_t *v, uint32_t *d,
-                            uint32_t *p)
+static void sdr_backup_phase(uint32_t grp, uint32_t *work_bgn,
+                            uint32_t *v, uint32_t *p)
 {
-       uint32_t tmp_delay;
-       u32 bit_chk;
+       u32 tmp_delay;
+       u32 bit_chk, d;
 
        /* Special case code for backing up a phase */
        if (*p == 0) {
@@ -1420,9 +1419,8 @@ static void sdr_backup_phase(uint32_t grp,
        tmp_delay = *work_bgn - IO_DELAY_PER_OPA_TAP;
        scc_mgr_set_dqs_en_phase_all_ranks(grp, *p);
 
-       for (*d = 0; *d <= IO_DQS_EN_DELAY_MAX && tmp_delay < *work_bgn;
-               (*d)++, tmp_delay += IO_DELAY_PER_DQS_EN_DCHAIN_TAP) {
-               scc_mgr_set_dqs_en_delay_all_ranks(grp, *d);
+       for (d = 0; d <= IO_DQS_EN_DELAY_MAX && tmp_delay < *work_bgn; d++) {
+               scc_mgr_set_dqs_en_delay_all_ranks(grp, d);
 
                if (rw_mgr_mem_calibrate_read_test_all_ranks(grp, 1,
                                                             PASS_ONE_BIT,
@@ -1430,6 +1428,8 @@ static void sdr_backup_phase(uint32_t grp,
                        *work_bgn = tmp_delay;
                        break;
                }
+
+               tmp_delay += IO_DELAY_PER_DQS_EN_DCHAIN_TAP;
        }
 
        /*
@@ -1445,10 +1445,8 @@ static void sdr_backup_phase(uint32_t grp,
        scc_mgr_set_dqs_en_delay_all_ranks(grp, 0);
 }
 
-static int sdr_nonworking_phase(uint32_t grp,
-                            uint32_t *work_bgn, uint32_t *v, uint32_t *d,
-                            uint32_t *p, uint32_t *i,
-                            uint32_t *work_end)
+static int sdr_nonworking_phase(uint32_t grp, uint32_t *v,
+                               uint32_t *p, uint32_t *i, uint32_t *work_end)
 {
        int ret;
 
@@ -1581,13 +1579,12 @@ static uint32_t rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase(uint32_t grp)
                /* * step 3a: if we have room, back off by one and
                increment in dtaps * */
 
-               sdr_backup_phase(grp, &work_bgn, &v, &d, &p);
+               sdr_backup_phase(grp, &work_bgn, &v, &p);
 
                /* ********************************************************* */
                /* * step 4a: go forward from working phase to non working
                phase, increment in ptaps * */
-               if (sdr_nonworking_phase(grp, &work_bgn, &v, &d, &p,
-                                        &i, &work_end))
+               if (sdr_nonworking_phase(grp, &v, &p, &i, &work_end))
                        return 0;
 
                /* ********************************************************* */