staging: sm750fb: change definition of PANEL_HORIZONTAL_TOTAL fields
authorMike Rapoport <mike.rapoport@gmail.com>
Wed, 10 Feb 2016 16:34:22 +0000 (18:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 12 Feb 2016 03:52:37 +0000 (19:52 -0800)
Use stratight-forward defintion of PANEL_HORIZONTAL_TOTAL register fields
and use open-coded implementation for register manipulations

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/sm750fb/ddk750_mode.c
drivers/staging/sm750fb/ddk750_reg.h

index 9ec3c64..7e57b57 100644 (file)
@@ -122,9 +122,12 @@ static int programModeRegisters(mode_parameter_t *pModeParam, pll_value_t *pll)
 
                POKE32(PANEL_PLL_CTRL, formatPllReg(pll));
 
-               POKE32(PANEL_HORIZONTAL_TOTAL,
-               FIELD_VALUE(0, PANEL_HORIZONTAL_TOTAL, TOTAL, pModeParam->horizontal_total - 1)
-               | FIELD_VALUE(0, PANEL_HORIZONTAL_TOTAL, DISPLAY_END, pModeParam->horizontal_display_end - 1));
+               reg = ((pModeParam->horizontal_total - 1) <<
+                       PANEL_HORIZONTAL_TOTAL_TOTAL_SHIFT) &
+                       PANEL_HORIZONTAL_TOTAL_TOTAL_MASK;
+               reg |= ((pModeParam->horizontal_display_end - 1) &
+                       PANEL_HORIZONTAL_TOTAL_DISPLAY_END_MASK);
+               POKE32(PANEL_HORIZONTAL_TOTAL, reg);
 
                POKE32(PANEL_HORIZONTAL_SYNC,
                FIELD_VALUE(0, PANEL_HORIZONTAL_SYNC, WIDTH, pModeParam->horizontal_sync_width)
index 6399599..4702897 100644 (file)
 #define PANEL_PLANE_BR_RIGHT_MASK                     0xeff
 
 #define PANEL_HORIZONTAL_TOTAL                        0x080024
-#define PANEL_HORIZONTAL_TOTAL_TOTAL                  27:16
-#define PANEL_HORIZONTAL_TOTAL_DISPLAY_END            11:0
+#define PANEL_HORIZONTAL_TOTAL_TOTAL_SHIFT            16
+#define PANEL_HORIZONTAL_TOTAL_TOTAL_MASK             (0xfff << 16)
+#define PANEL_HORIZONTAL_TOTAL_DISPLAY_END_MASK       0xfff
 
 #define PANEL_HORIZONTAL_SYNC                         0x080028
 #define PANEL_HORIZONTAL_SYNC_WIDTH                   23:16