diff options
author | Marek Vasut <marex@denx.de> | 2015-07-19 04:14:32 +0200 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2015-08-08 14:14:18 +0200 |
commit | 0a13a0fb7a2db238c1d4c4313d28455125e08e45 (patch) | |
tree | b73d405ac43b0dac5761b5a452add1d2c4d06404 /drivers/ddr | |
parent | cbb0b7e03641bbeea558b7d0497d0267578459a2 (diff) |
ddr: altera: Clean up sdr_find_window_centre() part 3
Reorder the end of the function a little by moving the conditional
debug output around a little. Rename the function from _centre() to
_center(). Document the function in kerneldoc.
Signed-off-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'drivers/ddr')
-rw-r--r-- | drivers/ddr/altera/sequencer.c | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/drivers/ddr/altera/sequencer.c b/drivers/ddr/altera/sequencer.c index eb246cc89d..451e141854 100644 --- a/drivers/ddr/altera/sequencer.c +++ b/drivers/ddr/altera/sequencer.c @@ -1480,7 +1480,16 @@ static int sdr_nonworking_phase(uint32_t *grp, uint32_t *bit_chk, } } -static int sdr_find_window_centre(const u32 grp, const u32 work_bgn, +/** + * sdr_find_window_center() - Find center of the working DQS window. + * @grp: Read/Write group + * @work_bgn: First working settings + * @work_end: Last working settings + * @val: VFIFO value + * + * Find center of the working DQS enable window. + */ +static int sdr_find_window_center(const u32 grp, const u32 work_bgn, const u32 work_end, const u32 val) { u32 bit_chk, work_mid, v = val; @@ -1525,23 +1534,19 @@ static int sdr_find_window_centre(const u32 grp, const u32 work_bgn, if (rw_mgr_mem_calibrate_read_test_all_ranks(grp, 1, PASS_ONE_BIT, &bit_chk, 0)) { - break; + debug_cond(DLEVEL == 2, + "%s:%d center: found: vfifo=%u ptap=%u dtap=%u\n", + __func__, __LINE__, v, p, d); + return 0; } - /* fiddle with FIFO */ + /* Fiddle with FIFO. */ rw_mgr_incr_vfifo(grp, &v); } - if (i >= VFIFO_SIZE) { - debug_cond(DLEVEL == 2, "%s:%d center: failed.\n", - __func__, __LINE__); - return 0; - } else { - debug_cond(DLEVEL == 2, - "%s:%d center: found: vfifo=%u ptap=%u dtap=%u\n", - __func__, __LINE__, v, p, d); - return 1; - } + debug_cond(DLEVEL == 2, "%s:%d center: failed.\n", + __func__, __LINE__); + return -EINVAL; } /* find a good dqs enable to use */ @@ -1759,8 +1764,8 @@ static uint32_t rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase(uint32_t grp) /* ******************************************** */ /* * step 6: Find the centre of the window * */ - if (sdr_find_window_centre(grp, work_bgn, work_end, v) == 0) - return 0; + if (sdr_find_window_centre(grp, work_bgn, work_end, v)) + return 0; /* FIXME: Old code, return 0 means failure :-( */ return 1; } |