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

staging: sm750fb: replace dual member of sm750_dev with fb_count

Will be used in futher refactoring of driver _probe and _remove methods.
Signed-off-by: default avatarMike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 473baa2d
...@@ -189,7 +189,7 @@ static void lynxfb_ops_fillrect(struct fb_info *info, ...@@ -189,7 +189,7 @@ static void lynxfb_ops_fillrect(struct fb_info *info,
* If not use spin_lock,system will die if user load driver * If not use spin_lock,system will die if user load driver
* and immediately unload driver frequently (dual) * and immediately unload driver frequently (dual)
*/ */
if (sm750_dev->dual) if (sm750_dev->fb_count > 1)
spin_lock(&sm750_dev->slock); spin_lock(&sm750_dev->slock);
sm750_dev->accel.de_fillrect(&sm750_dev->accel, sm750_dev->accel.de_fillrect(&sm750_dev->accel,
...@@ -197,7 +197,7 @@ static void lynxfb_ops_fillrect(struct fb_info *info, ...@@ -197,7 +197,7 @@ static void lynxfb_ops_fillrect(struct fb_info *info,
region->dx, region->dy, region->dx, region->dy,
region->width, region->height, region->width, region->height,
color, rop); color, rop);
if (sm750_dev->dual) if (sm750_dev->fb_count > 1)
spin_unlock(&sm750_dev->slock); spin_unlock(&sm750_dev->slock);
} }
...@@ -223,7 +223,7 @@ static void lynxfb_ops_copyarea(struct fb_info *info, ...@@ -223,7 +223,7 @@ static void lynxfb_ops_copyarea(struct fb_info *info,
* If not use spin_lock, system will die if user load driver * If not use spin_lock, system will die if user load driver
* and immediately unload driver frequently (dual) * and immediately unload driver frequently (dual)
*/ */
if (sm750_dev->dual) if (sm750_dev->fb_count > 1)
spin_lock(&sm750_dev->slock); spin_lock(&sm750_dev->slock);
sm750_dev->accel.de_copyarea(&sm750_dev->accel, sm750_dev->accel.de_copyarea(&sm750_dev->accel,
...@@ -231,7 +231,7 @@ static void lynxfb_ops_copyarea(struct fb_info *info, ...@@ -231,7 +231,7 @@ static void lynxfb_ops_copyarea(struct fb_info *info,
base, pitch, Bpp, region->dx, region->dy, base, pitch, Bpp, region->dx, region->dy,
region->width, region->height, region->width, region->height,
HW_ROP2_COPY); HW_ROP2_COPY);
if (sm750_dev->dual) if (sm750_dev->fb_count > 1)
spin_unlock(&sm750_dev->slock); spin_unlock(&sm750_dev->slock);
} }
...@@ -272,7 +272,7 @@ static void lynxfb_ops_imageblit(struct fb_info *info, ...@@ -272,7 +272,7 @@ static void lynxfb_ops_imageblit(struct fb_info *info,
* If not use spin_lock, system will die if user load driver * If not use spin_lock, system will die if user load driver
* and immediately unload driver frequently (dual) * and immediately unload driver frequently (dual)
*/ */
if (sm750_dev->dual) if (sm750_dev->fb_count > 1)
spin_lock(&sm750_dev->slock); spin_lock(&sm750_dev->slock);
sm750_dev->accel.de_imageblit(&sm750_dev->accel, sm750_dev->accel.de_imageblit(&sm750_dev->accel,
...@@ -281,7 +281,7 @@ static void lynxfb_ops_imageblit(struct fb_info *info, ...@@ -281,7 +281,7 @@ static void lynxfb_ops_imageblit(struct fb_info *info,
image->dx, image->dy, image->dx, image->dy,
image->width, image->height, image->width, image->height,
fgcol, bgcol, HW_ROP2_COPY); fgcol, bgcol, HW_ROP2_COPY);
if (sm750_dev->dual) if (sm750_dev->fb_count > 1)
spin_unlock(&sm750_dev->slock); spin_unlock(&sm750_dev->slock);
} }
...@@ -650,8 +650,10 @@ static int sm750fb_set_drv(struct lynxfb_par *par) ...@@ -650,8 +650,10 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output = &par->output; output = &par->output;
crtc = &par->crtc; crtc = &par->crtc;
crtc->vidmem_size = (sm750_dev->dual) ? sm750_dev->vidmem_size >> 1 : crtc->vidmem_size = sm750_dev->vidmem_size;
sm750_dev->vidmem_size; if (sm750_dev->fb_count > 1)
crtc->vidmem_size >>= 1;
/* setup crtc and output member */ /* setup crtc and output member */
sm750_dev->hwCursor = g_hwcursor; sm750_dev->hwCursor = g_hwcursor;
...@@ -981,7 +983,7 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src) ...@@ -981,7 +983,7 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
NO_PARAM: NO_PARAM:
if (sm750_dev->revid != SM750LE_REVISION_ID) { if (sm750_dev->revid != SM750LE_REVISION_ID) {
if (sm750_dev->dual) { if (sm750_dev->fb_count > 1) {
if (swap) if (swap)
sm750_dev->dataflow = sm750_dual_swap; sm750_dev->dataflow = sm750_dual_swap;
else else
...@@ -1027,7 +1029,6 @@ static int lynxfb_pci_probe(struct pci_dev *pdev, ...@@ -1027,7 +1029,6 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
sm750_dev->mtrr_off = g_nomtrr; sm750_dev->mtrr_off = g_nomtrr;
sm750_dev->mtrr.vram = 0; sm750_dev->mtrr.vram = 0;
sm750_dev->accel_off = g_noaccel; sm750_dev->accel_off = g_noaccel;
sm750_dev->dual = g_dualview;
spin_lock_init(&sm750_dev->slock); spin_lock_init(&sm750_dev->slock);
if (!sm750_dev->accel_off) { if (!sm750_dev->accel_off) {
...@@ -1113,7 +1114,8 @@ static int lynxfb_pci_probe(struct pci_dev *pdev, ...@@ -1113,7 +1114,8 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
/* no dual view by far */ /* no dual view by far */
fbidx++; fbidx++;
if (sm750_dev->dual && fbidx < 2) sm750_dev->fb_count++;
if (g_dualview && fbidx < 2)
goto ALLOC_FB; goto ALLOC_FB;
return 0; return 0;
......
...@@ -79,7 +79,7 @@ struct sm750_dev { ...@@ -79,7 +79,7 @@ struct sm750_dev {
struct fb_info *fbinfo[2]; struct fb_info *fbinfo[2];
struct lynx_accel accel; struct lynx_accel accel;
int accel_off; int accel_off;
int dual; int fb_count;
int mtrr_off; int mtrr_off;
struct{ struct{
int vram; int vram;
......
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