staging: sm750fb: change definition of DE_SOURCE fields

Use stratight-forward definition of DE_SOURCE 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>
This commit is contained in:
Mike Rapoport 2016-02-15 19:53:57 +02:00 committed by Greg Kroah-Hartman
parent 6aa178eeda
commit cf6d8f0bd4
2 changed files with 9 additions and 11 deletions

View File

@ -256,9 +256,8 @@ unsigned int rop2) /* ROP value */
{
write_dpr(accel, DE_SOURCE,
FIELD_SET(0, DE_SOURCE, WRAP, DISABLE) |
FIELD_VALUE(0, DE_SOURCE, X_K1, sx) |
FIELD_VALUE(0, DE_SOURCE, Y_K2, sy)); /* dpr0 */
((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) |
@ -354,8 +353,8 @@ int hw_imageblit(struct lynx_accel *accel,
/* Note: For 2D Source in Host Write, only X_K1_MONO field is needed, and Y_K2 field is not used.
For mono bitmap, use startBit for X_K1. */
write_dpr(accel, DE_SOURCE,
FIELD_SET(0, DE_SOURCE, WRAP, DISABLE) |
FIELD_VALUE(0, DE_SOURCE, X_K1_MONO, startBit)); /* dpr00 */
(startBit << DE_SOURCE_X_K1_SHIFT) &
DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
write_dpr(accel, DE_DESTINATION,
FIELD_SET(0, DE_DESTINATION, WRAP, DISABLE) |

View File

@ -21,12 +21,11 @@
#define DE_PORT_ADDR_TYPE3 0x100000
#define DE_SOURCE 0x0
#define DE_SOURCE_WRAP 31:31
#define DE_SOURCE_WRAP_DISABLE 0
#define DE_SOURCE_WRAP_ENABLE 1
#define DE_SOURCE_X_K1 29:16
#define DE_SOURCE_Y_K2 15:0
#define DE_SOURCE_X_K1_MONO 20:16
#define DE_SOURCE_WRAP BIT(31)
#define DE_SOURCE_X_K1_SHIFT 16
#define DE_SOURCE_X_K1_MASK (0x3fff << 16)
#define DE_SOURCE_X_K1_MONO_MASK (0x1f << 16)
#define DE_SOURCE_Y_K2_MASK 0xffff
#define DE_DESTINATION 0x4
#define DE_DESTINATION_WRAP 31:31