ddr: altera: Extract scc_mgr_set_hhp_extras()
authorMarek Vasut <marex@denx.de>
Sat, 18 Jul 2015 23:34:43 +0000 (01:34 +0200)
committerMarek Vasut <marex@denx.de>
Sat, 8 Aug 2015 12:14:13 +0000 (14:14 +0200)
Move scc_mgr_set_hhp_extras() out of scc_set_bypass_mode() as it
has nothing to do in there. Instead, invoke it from mem_calibrate()
just before invoking scc_set_bypass_mode().

Signed-off-by: Marek Vasut <marex@denx.de>
drivers/ddr/altera/sequencer.c

index baa6868c2d26e67a0e6866b463166760da3e2c24..8020651f88f6f91a404a9846c49e19f6e5eb4efe 100644 (file)
@@ -527,10 +527,6 @@ static void scc_mgr_zero_all(void)
  */
 static void scc_set_bypass_mode(const u32 write_group)
 {
-       /* Only needed once to set all groups, pins, DQ, DQS, DM. */
-       if (write_group == 0)
-               scc_mgr_set_hhp_extras();
-
        /* Multicast to all DQ enables. */
        writel(0xff, &sdr_scc_mgr->dq_ena);
        writel(0xff, &sdr_scc_mgr->dm_ena);
@@ -3332,6 +3328,10 @@ static uint32_t mem_calibrate(void)
        for (i = 0; i < RW_MGR_MEM_IF_READ_DQS_WIDTH; i++) {
                writel(i, SDR_PHYGRP_SCCGRP_ADDRESS |
                          SCC_MGR_GROUP_COUNTER_OFFSET);
+               /* Only needed once to set all groups, pins, DQ, DQS, DM. */
+               if (i == 0)
+                       scc_mgr_set_hhp_extras();
+
                scc_set_bypass_mode(i);
        }