Use stratight-forward definition of CRT_VERTICAL_SYNC register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapop...@gmail.com>
---
 drivers/staging/sm750fb/ddk750_mode.c | 7 +++++--
 drivers/staging/sm750fb/ddk750_reg.h  | 5 +++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/sm750fb/ddk750_mode.c 
b/drivers/staging/sm750fb/ddk750_mode.c
index c8862e8..97d803d 100644
--- a/drivers/staging/sm750fb/ddk750_mode.c
+++ b/drivers/staging/sm750fb/ddk750_mode.c
@@ -104,8 +104,11 @@ static int programModeRegisters(mode_parameter_t 
*pModeParam, pll_value_t *pll)
                                CRT_VERTICAL_TOTAL_DISPLAY_END_MASK));
 
                POKE32(CRT_VERTICAL_SYNC,
-               FIELD_VALUE(0, CRT_VERTICAL_SYNC, HEIGHT, 
pModeParam->vertical_sync_height)
-               | FIELD_VALUE(0, CRT_VERTICAL_SYNC, START, 
pModeParam->vertical_sync_start - 1));
+                       ((pModeParam->vertical_sync_height <<
+                               CRT_VERTICAL_SYNC_HEIGHT_SHIFT) &
+                               CRT_VERTICAL_SYNC_HEIGHT_MASK) |
+                       ((pModeParam->vertical_sync_start - 1) &
+                               CRT_VERTICAL_SYNC_START_MASK));
 
 
                tmp = DISPLAY_CTRL_TIMING | DISPLAY_CTRL_PLANE;
diff --git a/drivers/staging/sm750fb/ddk750_reg.h 
b/drivers/staging/sm750fb/ddk750_reg.h
index 7b076a5..e0b3938 100644
--- a/drivers/staging/sm750fb/ddk750_reg.h
+++ b/drivers/staging/sm750fb/ddk750_reg.h
@@ -1392,8 +1392,9 @@
 #define CRT_VERTICAL_TOTAL_DISPLAY_END_MASK           (0x7ff)
 
 #define CRT_VERTICAL_SYNC                             0x080218
-#define CRT_VERTICAL_SYNC_HEIGHT                      21:16
-#define CRT_VERTICAL_SYNC_START                       10:0
+#define CRT_VERTICAL_SYNC_HEIGHT_SHIFT                16
+#define CRT_VERTICAL_SYNC_HEIGHT_MASK                 (0x3f << 16)
+#define CRT_VERTICAL_SYNC_START_MASK                  0x7ff
 
 #define CRT_SIGNATURE_ANALYZER                        0x08021C
 #define CRT_SIGNATURE_ANALYZER_STATUS                 31:16
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to