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

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

staging: sm750fb: change definition of DE_PITCH fields



Use stratight-forward definition of DE_PITCH 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 e2e22587
Loading
Loading
Loading
Loading
+11 −12
Original line number Diff line number Diff line
@@ -100,8 +100,9 @@ int hw_fillrect(struct lynx_accel *accel,

	write_dpr(accel, DE_WINDOW_DESTINATION_BASE, base); /* dpr40 */
	write_dpr(accel, DE_PITCH,
			FIELD_VALUE(0, DE_PITCH, DESTINATION, pitch/Bpp)|
			FIELD_VALUE(0, DE_PITCH, SOURCE, pitch/Bpp)); /* dpr10 */
		  ((pitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
		   DE_PITCH_DESTINATION_MASK) |
		  (pitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */

	write_dpr(accel, DE_WINDOW_WIDTH,
			FIELD_VALUE(0, DE_WINDOW_WIDTH, DESTINATION, pitch/Bpp)|
@@ -227,11 +228,10 @@ unsigned int rop2) /* ROP value */
       Note that input pitch is BYTE value, but the 2D Pitch register uses
       pixel values. Need Byte to pixel conversion.
    */
	{
	write_dpr(accel, DE_PITCH,
				FIELD_VALUE(0, DE_PITCH, DESTINATION, (dPitch/Bpp)) |
				FIELD_VALUE(0, DE_PITCH, SOURCE,      (sPitch/Bpp))); /* dpr10 */
	}
		  ((dPitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
		   DE_PITCH_DESTINATION_MASK) |
		  (sPitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */

    /* Screen Window width in Pixels.
       2D engine uses this value to calculate the linear address in frame buffer for a given point.
@@ -320,11 +320,10 @@ int hw_imageblit(struct lynx_accel *accel,
       Note that input pitch is BYTE value, but the 2D Pitch register uses
       pixel values. Need Byte to pixel conversion.
    */
	{
	write_dpr(accel, DE_PITCH,
				FIELD_VALUE(0, DE_PITCH, DESTINATION, dPitch/bytePerPixel) |
				FIELD_VALUE(0, DE_PITCH, SOURCE,      dPitch/bytePerPixel)); /* dpr10 */
	}
		  ((dPitch / bytePerPixel << DE_PITCH_DESTINATION_SHIFT) &
		   DE_PITCH_DESTINATION_MASK) |
		  (dPitch / bytePerPixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */

	/* Screen Window width in Pixels.
	 2D engine uses this value to calculate the linear address in frame buffer for a given point.
+3 −2
Original line number Diff line number Diff line
@@ -98,8 +98,9 @@
#define DE_CONTROL_ROTATION_180                         3

#define DE_PITCH                                        0x000010
#define DE_PITCH_DESTINATION                            28:16
#define DE_PITCH_SOURCE                                 12:0
#define DE_PITCH_DESTINATION_SHIFT                      16
#define DE_PITCH_DESTINATION_MASK                       (0x1fff << 16)
#define DE_PITCH_SOURCE_MASK                            0x1fff

#define DE_FOREGROUND                                   0x000014
#define DE_FOREGROUND_COLOR                             31:0