Commit aeaab186 authored by Mike Rapoport's avatar Mike Rapoport Committed by Greg Kroah-Hartman

staging: sm750fb: change definition of DE_DESTINATION fields

Use stratight-forward definition of DE_DESTINATION register fields
and use open-coded implementation for register manipulation
Signed-off-by: default avatarMike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cf6d8f0b
......@@ -115,9 +115,8 @@ int hw_fillrect(struct lynx_accel *accel,
write_dpr(accel, DE_FOREGROUND, color); /* DPR14 */
write_dpr(accel, DE_DESTINATION,
FIELD_SET(0, DE_DESTINATION, WRAP, DISABLE)|
FIELD_VALUE(0, DE_DESTINATION, X, x)|
FIELD_VALUE(0, DE_DESTINATION, Y, y)); /* dpr4 */
((x << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
(y & DE_DESTINATION_Y_MASK)); /* dpr4 */
write_dpr(accel, DE_DIMENSION,
FIELD_VALUE(0, DE_DIMENSION, X, width)|
......@@ -259,9 +258,8 @@ unsigned int rop2) /* ROP value */
((sx << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) |
(sy & DE_SOURCE_Y_K2_MASK)); /* dpr0 */
write_dpr(accel, DE_DESTINATION,
FIELD_SET(0, DE_DESTINATION, WRAP, DISABLE) |
FIELD_VALUE(0, DE_DESTINATION, X, dx) |
FIELD_VALUE(0, DE_DESTINATION, Y, dy)); /* dpr04 */
((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
(dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
FIELD_VALUE(0, DE_DIMENSION, X, width) |
FIELD_VALUE(0, DE_DIMENSION, Y_ET, height)); /* dpr08 */
......@@ -357,9 +355,8 @@ int hw_imageblit(struct lynx_accel *accel,
DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
write_dpr(accel, DE_DESTINATION,
FIELD_SET(0, DE_DESTINATION, WRAP, DISABLE) |
FIELD_VALUE(0, DE_DESTINATION, X, dx) |
FIELD_VALUE(0, DE_DESTINATION, Y, dy)); /* dpr04 */
((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
(dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
FIELD_VALUE(0, DE_DIMENSION, X, width) |
......
......@@ -28,11 +28,10 @@
#define DE_SOURCE_Y_K2_MASK 0xffff
#define DE_DESTINATION 0x4
#define DE_DESTINATION_WRAP 31:31
#define DE_DESTINATION_WRAP_DISABLE 0
#define DE_DESTINATION_WRAP_ENABLE 1
#define DE_DESTINATION_X 28:16
#define DE_DESTINATION_Y 15:0
#define DE_DESTINATION_WRAP BIT(31)
#define DE_DESTINATION_X_SHIFT 16
#define DE_DESTINATION_X_MASK (0x1fff << 16)
#define DE_DESTINATION_Y_MASK 0xffff
#define DE_DIMENSION 0x8
#define DE_DIMENSION_X 28:16
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment