staging: sm750fb: change definition of PANEL_WINDOW_HEIGHT fields

Use stratight-forward defintion of PANEL_WINDOW_HEIGHT register fields and
use open-coded implementation for register manipulations

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-10 18:34:14 +02:00 committed by Greg Kroah-Hartman
parent 4c221d82cf
commit f91969f773
2 changed files with 8 additions and 5 deletions

View File

@ -843,8 +843,9 @@
#define PANEL_WINDOW_WIDTH_X_MASK 0xfff
#define PANEL_WINDOW_HEIGHT 0x080018
#define PANEL_WINDOW_HEIGHT_HEIGHT 27:16
#define PANEL_WINDOW_HEIGHT_Y 11:0
#define PANEL_WINDOW_HEIGHT_HEIGHT_SHIFT 16
#define PANEL_WINDOW_HEIGHT_HEIGHT_MASK (0xfff << 16)
#define PANEL_WINDOW_HEIGHT_Y_MASK 0xfff
#define PANEL_PLANE_TL 0x08001C
#define PANEL_PLANE_TL_TOP 26:16

View File

@ -323,9 +323,11 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc *crtc,
reg |= (var->xoffset & PANEL_WINDOW_WIDTH_X_MASK);
POKE32(PANEL_WINDOW_WIDTH, reg);
POKE32(PANEL_WINDOW_HEIGHT,
FIELD_VALUE(0, PANEL_WINDOW_HEIGHT, HEIGHT, var->yres_virtual - 1)|
FIELD_VALUE(0, PANEL_WINDOW_HEIGHT, Y, var->yoffset));
reg = ((var->yres_virtual - 1) <<
PANEL_WINDOW_HEIGHT_HEIGHT_SHIFT);
reg &= PANEL_WINDOW_HEIGHT_HEIGHT_MASK;
reg |= (var->yoffset & PANEL_WINDOW_HEIGHT_Y_MASK);
POKE32(PANEL_WINDOW_HEIGHT, reg);
POKE32(PANEL_PLANE_TL, 0);