]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
ddr: altera: Clean up of delay_for_n_mem_clocks() part 3
authorMarek Vasut <marex@denx.de>
Sun, 26 Jul 2015 09:42:53 +0000 (11:42 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Thu, 10 Sep 2015 06:17:34 +0000 (08:17 +0200)
Clean up the computation of c_loop, outer and inner variables.

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

index 25de209b5d15841f0772aa0f47ea02789a9b171c..ed4d791af0b1ab2da0cfc433a5b3d5bbbb417bc2 100644 (file)
@@ -761,9 +761,9 @@ static void set_jump_as_return(void)
 static void delay_for_n_mem_clocks(const u32 clocks)
 {
        u32 afi_clocks;
-       u16 c_loop = 0;
-       u8 inner = 0;
-       u8 outer = 0;
+       u16 c_loop;
+       u8 inner;
+       u8 outer;
 
        debug("%s:%d: clocks=%u ... start\n", __func__, __LINE__, clocks);
 
@@ -779,21 +779,9 @@ static void delay_for_n_mem_clocks(const u32 clocks)
         * before the decrement, and so always perform the loop
         * 1 time more than the counter value
         */
-       if (afi_clocks == 0) {
-               ;
-       } else if (afi_clocks < 0x100) {
-               inner = afi_clocks;
-               outer = 0;
-               c_loop = 0;
-       } else if (afi_clocks < 0x10000) {
-               inner = 0xff;
-               outer = afi_clocks >> 8;
-               c_loop = 0;
-       } else {        /* >= 0x10000 */
-               inner = 0xff;
-               outer = 0xff;
-               c_loop = afi_clocks >> 16;
-       }
+       c_loop = afi_clocks >> 16;
+       outer = c_loop ? 0xff : (afi_clocks >> 8);
+       inner = outer ? 0xff : afi_clocks;
 
        /*
         * rom instructions are structured as follows: