summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Rapoport <mike.rapoport@gmail.com>2016-02-15 19:53:48 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-15 18:26:17 -0800
commit1adb3c23383e3d2b2b2ae9badba1df9926609308 (patch)
tree63e1d84a120101b4865146b055ba4a0bb7a0d806
parent32849f85e6b86a8d08b58c635757aa4dd0e0b887 (diff)
staging: sm750fb: change definition of CRT_HORIZONTAL_SYNC fields
Use stratight-forward definition of CRT_HORIZONTAL_SYNC register fields and use open-coded implementation for register manipulation Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/sm750fb/ddk750_mode.c7
-rw-r--r--drivers/staging/sm750fb/ddk750_reg.h5
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/staging/sm750fb/ddk750_mode.c b/drivers/staging/sm750fb/ddk750_mode.c
index 2b2f1c17989f..d425ea1bbe76 100644
--- a/drivers/staging/sm750fb/ddk750_mode.c
+++ b/drivers/staging/sm750fb/ddk750_mode.c
@@ -90,8 +90,11 @@ static int programModeRegisters(mode_parameter_t *pModeParam, pll_value_t *pll)
CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK));
POKE32(CRT_HORIZONTAL_SYNC,
- FIELD_VALUE(0, CRT_HORIZONTAL_SYNC, WIDTH, pModeParam->horizontal_sync_width)
- | FIELD_VALUE(0, CRT_HORIZONTAL_SYNC, START, pModeParam->horizontal_sync_start - 1));
+ ((pModeParam->horizontal_sync_width <<
+ CRT_HORIZONTAL_SYNC_WIDTH_SHIFT) &
+ CRT_HORIZONTAL_SYNC_WIDTH_MASK) |
+ ((pModeParam->horizontal_sync_start - 1) &
+ CRT_HORIZONTAL_SYNC_START_MASK));
POKE32(CRT_VERTICAL_TOTAL,
FIELD_VALUE(0, CRT_VERTICAL_TOTAL, TOTAL, pModeParam->vertical_total - 1)
diff --git a/drivers/staging/sm750fb/ddk750_reg.h b/drivers/staging/sm750fb/ddk750_reg.h
index 1b55a7f3677e..fc6fa2349ebc 100644
--- a/drivers/staging/sm750fb/ddk750_reg.h
+++ b/drivers/staging/sm750fb/ddk750_reg.h
@@ -1382,8 +1382,9 @@
#define CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK 0xfff
#define CRT_HORIZONTAL_SYNC 0x080210
-#define CRT_HORIZONTAL_SYNC_WIDTH 23:16
-#define CRT_HORIZONTAL_SYNC_START 11:0
+#define CRT_HORIZONTAL_SYNC_WIDTH_SHIFT 16
+#define CRT_HORIZONTAL_SYNC_WIDTH_MASK (0xff << 16)
+#define CRT_HORIZONTAL_SYNC_START_MASK 0xfff
#define CRT_VERTICAL_TOTAL 0x080214
#define CRT_VERTICAL_TOTAL_TOTAL 26:16