Commit 26a3cc90 authored by Mike Rapoport's avatar Mike Rapoport Committed by Greg Kroah-Hartman

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: default avatarMike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4463690a
......@@ -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)|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment