From 0a13a0fb7a2db238c1d4c4313d28455125e08e45 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Sun, 19 Jul 2015 04:14:32 +0200 Subject: 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 --- drivers/ddr/altera/sequencer.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'drivers') diff --git a/drivers/ddr/altera/sequencer.c b/drivers/ddr/altera/sequencer.c index eb246cc..451e141 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; } -- cgit v1.1