]> git.karo-electronics.de Git - karo-tx-uboot.git/commitdiff
ddr: altera: Clean up reg_file_set*()
authorMarek Vasut <marex@denx.de>
Sun, 12 Jul 2015 19:10:24 +0000 (21:10 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Thu, 10 Sep 2015 06:17:24 +0000 (08:17 +0200)
Turn the insides of these functions into trivial clrsetbits_le32()
and fix the data type of their argument to reflect it's actual size.

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

index 8273bde831d794c6a8542709f8440446a5c454fb..7aae4cc8106e61367fd0c1002267018b67681a6e 100644 (file)
@@ -99,49 +99,20 @@ static void set_failing_group_stage(uint32_t group, uint32_t stage,
        }
 }
 
-static void reg_file_set_group(uint32_t set_group)
+static void reg_file_set_group(u16 set_group)
 {
-       /* Read the current group and stage */
-       uint32_t cur_stage_group = readl(&sdr_reg_file->cur_stage);
-
-       /* Clear the group */
-       cur_stage_group &= 0x0000FFFF;
-
-       /* Set the group */
-       cur_stage_group |= (set_group << 16);
-
-       /* Write the data back */
-       writel(cur_stage_group, &sdr_reg_file->cur_stage);
+       clrsetbits_le32(&sdr_reg_file->cur_stage, 0xffff0000, set_group << 16);
 }
 
-static void reg_file_set_stage(uint32_t set_stage)
+static void reg_file_set_stage(u8 set_stage)
 {
-       /* Read the current group and stage */
-       uint32_t cur_stage_group = readl(&sdr_reg_file->cur_stage);
-
-       /* Clear the stage and substage */
-       cur_stage_group &= 0xFFFF0000;
-
-       /* Set the stage */
-       cur_stage_group |= (set_stage & 0x000000FF);
-
-       /* Write the data back */
-       writel(cur_stage_group, &sdr_reg_file->cur_stage);
+       clrsetbits_le32(&sdr_reg_file->cur_stage, 0xffff, set_stage & 0xff);
 }
 
-static void reg_file_set_sub_stage(uint32_t set_sub_stage)
+static void reg_file_set_sub_stage(u8 set_sub_stage)
 {
-       /* Read the current group and stage */
-       uint32_t cur_stage_group = readl(&sdr_reg_file->cur_stage);
-
-       /* Clear the substage */
-       cur_stage_group &= 0xFFFF00FF;
-
-       /* Set the sub stage */
-       cur_stage_group |= ((set_sub_stage << 8) & 0x0000FF00);
-
-       /* Write the data back */
-       writel(cur_stage_group, &sdr_reg_file->cur_stage);
+       set_sub_stage &= 0xff;
+       clrsetbits_le32(&sdr_reg_file->cur_stage, 0xff00, set_sub_stage << 8);
 }
 
 static void initialize(void)