staging: sm750fb: change definition of PANEL_FB_WIDTH fields
Use stratight-forward defintion of PANEL_FB_WIDTH 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:
parent
4463690afc
commit
26a3cc907c
|
@ -833,8 +833,9 @@
|
|||
#define PANEL_FB_ADDRESS_ADDRESS_MASK 0x1ffffff
|
||||
|
||||
#define PANEL_FB_WIDTH 0x080010
|
||||
#define PANEL_FB_WIDTH_WIDTH 29:16
|
||||
#define PANEL_FB_WIDTH_OFFSET 13:0
|
||||
#define PANEL_FB_WIDTH_WIDTH_SHIFT 16
|
||||
#define PANEL_FB_WIDTH_WIDTH_MASK (0x3fff << 16)
|
||||
#define PANEL_FB_WIDTH_OFFSET_MASK 0x3fff
|
||||
|
||||
#define PANEL_WINDOW_WIDTH 0x080014
|
||||
#define PANEL_WINDOW_WIDTH_WIDTH 27:16
|
||||
|
|
|
@ -313,10 +313,10 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc *crtc,
|
|||
reg = var->xres * (var->bits_per_pixel >> 3);
|
||||
/* crtc->channel is not equal to par->index on numeric,be aware of that */
|
||||
reg = ALIGN(reg, crtc->line_pad);
|
||||
|
||||
POKE32(PANEL_FB_WIDTH,
|
||||
FIELD_VALUE(0, PANEL_FB_WIDTH, WIDTH, reg)|
|
||||
FIELD_VALUE(0, PANEL_FB_WIDTH, OFFSET, fix->line_length));
|
||||
reg = (reg << PANEL_FB_WIDTH_WIDTH_SHIFT) &
|
||||
PANEL_FB_WIDTH_WIDTH_MASK;
|
||||
reg |= (fix->line_length & PANEL_FB_WIDTH_OFFSET_MASK);
|
||||
POKE32(PANEL_FB_WIDTH, reg);
|
||||
|
||||
POKE32(PANEL_WINDOW_WIDTH,
|
||||
FIELD_VALUE(0, PANEL_WINDOW_WIDTH, WIDTH, var->xres - 1)|
|
||||
|
|
Loading…
Reference in New Issue