Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -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) |
+4 −5
Original line number Diff line number Diff line
@@ -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