[U-Boot] [PATCH 117/172] ddr: altera: Clean up sdr_find_window_centre() part 3

Marek Vasut marex at denx.de
Mon Jul 27 22:51:20 CEST 2015


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 at denx.de>
---
 drivers/ddr/altera/sequencer.c | 35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

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;
 }
-- 
2.1.4



More information about the U-Boot mailing list