pm2fb: white spaces clean up
This patch removes trailing spaces and tabs and spaces before tabs. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Antonino Daplas <adaplas@gmail.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
ac1ae162c9
commit
2f7bb99fc9
@ -24,7 +24,7 @@
|
|||||||
* License. See the file COPYING in the main directory of this archive for
|
* License. See the file COPYING in the main directory of this archive for
|
||||||
* more details.
|
* more details.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@ -58,7 +58,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Driver data
|
* Driver data
|
||||||
*/
|
*/
|
||||||
static char *mode __devinitdata = NULL;
|
static char *mode __devinitdata = NULL;
|
||||||
|
|
||||||
@ -82,12 +82,12 @@ struct pm2fb_par
|
|||||||
{
|
{
|
||||||
pm2type_t type; /* Board type */
|
pm2type_t type; /* Board type */
|
||||||
unsigned char __iomem *v_regs;/* virtual address of p_regs */
|
unsigned char __iomem *v_regs;/* virtual address of p_regs */
|
||||||
u32 memclock; /* memclock */
|
u32 memclock; /* memclock */
|
||||||
u32 video; /* video flags before blanking */
|
u32 video; /* video flags before blanking */
|
||||||
u32 mem_config; /* MemConfig reg at probe */
|
u32 mem_config; /* MemConfig reg at probe */
|
||||||
u32 mem_control; /* MemControl reg at probe */
|
u32 mem_control; /* MemControl reg at probe */
|
||||||
u32 boot_address; /* BootAddress reg at probe */
|
u32 boot_address; /* BootAddress reg at probe */
|
||||||
u32 palette[16];
|
u32 palette[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -95,12 +95,12 @@ struct pm2fb_par
|
|||||||
* if we don't use modedb.
|
* if we don't use modedb.
|
||||||
*/
|
*/
|
||||||
static struct fb_fix_screeninfo pm2fb_fix __devinitdata = {
|
static struct fb_fix_screeninfo pm2fb_fix __devinitdata = {
|
||||||
.id = "",
|
.id = "",
|
||||||
.type = FB_TYPE_PACKED_PIXELS,
|
.type = FB_TYPE_PACKED_PIXELS,
|
||||||
.visual = FB_VISUAL_PSEUDOCOLOR,
|
.visual = FB_VISUAL_PSEUDOCOLOR,
|
||||||
.xpanstep = 1,
|
.xpanstep = 1,
|
||||||
.ypanstep = 1,
|
.ypanstep = 1,
|
||||||
.ywrapstep = 0,
|
.ywrapstep = 0,
|
||||||
.accel = FB_ACCEL_3DLABS_PERMEDIA2,
|
.accel = FB_ACCEL_3DLABS_PERMEDIA2,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -109,26 +109,26 @@ static struct fb_fix_screeninfo pm2fb_fix __devinitdata = {
|
|||||||
*/
|
*/
|
||||||
static struct fb_var_screeninfo pm2fb_var __devinitdata = {
|
static struct fb_var_screeninfo pm2fb_var __devinitdata = {
|
||||||
/* "640x480, 8 bpp @ 60 Hz */
|
/* "640x480, 8 bpp @ 60 Hz */
|
||||||
.xres = 640,
|
.xres = 640,
|
||||||
.yres = 480,
|
.yres = 480,
|
||||||
.xres_virtual = 640,
|
.xres_virtual = 640,
|
||||||
.yres_virtual = 480,
|
.yres_virtual = 480,
|
||||||
.bits_per_pixel =8,
|
.bits_per_pixel = 8,
|
||||||
.red = {0, 8, 0},
|
.red = {0, 8, 0},
|
||||||
.blue = {0, 8, 0},
|
.blue = {0, 8, 0},
|
||||||
.green = {0, 8, 0},
|
.green = {0, 8, 0},
|
||||||
.activate = FB_ACTIVATE_NOW,
|
.activate = FB_ACTIVATE_NOW,
|
||||||
.height = -1,
|
.height = -1,
|
||||||
.width = -1,
|
.width = -1,
|
||||||
.accel_flags = 0,
|
.accel_flags = 0,
|
||||||
.pixclock = 39721,
|
.pixclock = 39721,
|
||||||
.left_margin = 40,
|
.left_margin = 40,
|
||||||
.right_margin = 24,
|
.right_margin = 24,
|
||||||
.upper_margin = 32,
|
.upper_margin = 32,
|
||||||
.lower_margin = 11,
|
.lower_margin = 11,
|
||||||
.hsync_len = 96,
|
.hsync_len = 96,
|
||||||
.vsync_len = 2,
|
.vsync_len = 2,
|
||||||
.vmode = FB_VMODE_NONINTERLACED
|
.vmode = FB_VMODE_NONINTERLACED
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -166,7 +166,7 @@ static inline u32 pm2_RDAC_RD(struct pm2fb_par* p, s32 idx)
|
|||||||
pm2_WR(p, PM2VR_RD_INDEX_LOW, idx & 0xff);
|
pm2_WR(p, PM2VR_RD_INDEX_LOW, idx & 0xff);
|
||||||
index = PM2VR_RD_INDEXED_DATA;
|
index = PM2VR_RD_INDEXED_DATA;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mb();
|
mb();
|
||||||
return pm2_RD(p, index);
|
return pm2_RD(p, index);
|
||||||
}
|
}
|
||||||
@ -182,7 +182,7 @@ static inline void pm2_RDAC_WR(struct pm2fb_par* p, s32 idx, u32 v)
|
|||||||
pm2_WR(p, PM2VR_RD_INDEX_LOW, idx & 0xff);
|
pm2_WR(p, PM2VR_RD_INDEX_LOW, idx & 0xff);
|
||||||
index = PM2VR_RD_INDEXED_DATA;
|
index = PM2VR_RD_INDEXED_DATA;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
wmb();
|
wmb();
|
||||||
pm2_WR(p, index, v);
|
pm2_WR(p, index, v);
|
||||||
wmb();
|
wmb();
|
||||||
@ -197,7 +197,7 @@ static inline void pm2v_RDAC_WR(struct pm2fb_par* p, s32 idx, u32 v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_FB_PM2_FIFO_DISCONNECT
|
#ifdef CONFIG_FB_PM2_FIFO_DISCONNECT
|
||||||
#define WAIT_FIFO(p,a)
|
#define WAIT_FIFO(p, a)
|
||||||
#else
|
#else
|
||||||
static inline void WAIT_FIFO(struct pm2fb_par* p, u32 a)
|
static inline void WAIT_FIFO(struct pm2fb_par* p, u32 a)
|
||||||
{
|
{
|
||||||
@ -209,7 +209,7 @@ static inline void WAIT_FIFO(struct pm2fb_par* p, u32 a)
|
|||||||
/*
|
/*
|
||||||
* partial products for the supported horizontal resolutions.
|
* partial products for the supported horizontal resolutions.
|
||||||
*/
|
*/
|
||||||
#define PACKPP(p0,p1,p2) (((p2) << 6) | ((p1) << 3) | (p0))
|
#define PACKPP(p0, p1, p2) (((p2) << 6) | ((p1) << 3) | (p0))
|
||||||
static const struct {
|
static const struct {
|
||||||
u16 width;
|
u16 width;
|
||||||
u16 pp;
|
u16 pp;
|
||||||
@ -357,7 +357,7 @@ static void reset_card(struct pm2fb_par* p)
|
|||||||
static void reset_config(struct pm2fb_par* p)
|
static void reset_config(struct pm2fb_par* p)
|
||||||
{
|
{
|
||||||
WAIT_FIFO(p, 52);
|
WAIT_FIFO(p, 52);
|
||||||
pm2_WR(p, PM2R_CHIP_CONFIG, pm2_RD(p, PM2R_CHIP_CONFIG)&
|
pm2_WR(p, PM2R_CHIP_CONFIG, pm2_RD(p, PM2R_CHIP_CONFIG) &
|
||||||
~(PM2F_VGA_ENABLE|PM2F_VGA_FIXED));
|
~(PM2F_VGA_ENABLE|PM2F_VGA_FIXED));
|
||||||
pm2_WR(p, PM2R_BYPASS_WRITE_MASK, ~(0L));
|
pm2_WR(p, PM2R_BYPASS_WRITE_MASK, ~(0L));
|
||||||
pm2_WR(p, PM2R_FRAMEBUFFER_WRITE_MASK, ~(0L));
|
pm2_WR(p, PM2R_FRAMEBUFFER_WRITE_MASK, ~(0L));
|
||||||
@ -367,7 +367,7 @@ static void reset_config(struct pm2fb_par* p)
|
|||||||
pm2_WR(p, PM2R_RASTERIZER_MODE, 0);
|
pm2_WR(p, PM2R_RASTERIZER_MODE, 0);
|
||||||
pm2_WR(p, PM2R_DELTA_MODE, PM2F_DELTA_ORDER_RGB);
|
pm2_WR(p, PM2R_DELTA_MODE, PM2F_DELTA_ORDER_RGB);
|
||||||
pm2_WR(p, PM2R_LB_READ_FORMAT, 0);
|
pm2_WR(p, PM2R_LB_READ_FORMAT, 0);
|
||||||
pm2_WR(p, PM2R_LB_WRITE_FORMAT, 0);
|
pm2_WR(p, PM2R_LB_WRITE_FORMAT, 0);
|
||||||
pm2_WR(p, PM2R_LB_READ_MODE, 0);
|
pm2_WR(p, PM2R_LB_READ_MODE, 0);
|
||||||
pm2_WR(p, PM2R_LB_SOURCE_OFFSET, 0);
|
pm2_WR(p, PM2R_LB_SOURCE_OFFSET, 0);
|
||||||
pm2_WR(p, PM2R_FB_SOURCE_OFFSET, 0);
|
pm2_WR(p, PM2R_FB_SOURCE_OFFSET, 0);
|
||||||
@ -535,7 +535,7 @@ static void set_video(struct pm2fb_par* p, u32 video) {
|
|||||||
vsync = video;
|
vsync = video;
|
||||||
|
|
||||||
DPRINTK("video = 0x%x\n", video);
|
DPRINTK("video = 0x%x\n", video);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The hardware cursor needs +vsync to recognise vert retrace.
|
* The hardware cursor needs +vsync to recognise vert retrace.
|
||||||
* We may not be using the hardware cursor, but the X Glint
|
* We may not be using the hardware cursor, but the X Glint
|
||||||
@ -574,9 +574,9 @@ static void set_video(struct pm2fb_par* p, u32 video) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pm2fb_check_var - Optional function. Validates a var passed in.
|
* pm2fb_check_var - Optional function. Validates a var passed in.
|
||||||
* @var: frame buffer variable screen structure
|
* @var: frame buffer variable screen structure
|
||||||
* @info: frame buffer structure that represents a single frame buffer
|
* @info: frame buffer structure that represents a single frame buffer
|
||||||
*
|
*
|
||||||
* Checks to see if the hardware supports the state requested by
|
* Checks to see if the hardware supports the state requested by
|
||||||
* var passed in.
|
* var passed in.
|
||||||
@ -615,23 +615,23 @@ static int pm2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|||||||
|
|
||||||
var->xres = (var->xres + 15) & ~15; /* could sometimes be 8 */
|
var->xres = (var->xres + 15) & ~15; /* could sometimes be 8 */
|
||||||
lpitch = var->xres * ((var->bits_per_pixel + 7)>>3);
|
lpitch = var->xres * ((var->bits_per_pixel + 7)>>3);
|
||||||
|
|
||||||
if (var->xres < 320 || var->xres > 1600) {
|
if (var->xres < 320 || var->xres > 1600) {
|
||||||
DPRINTK("width not supported: %u\n", var->xres);
|
DPRINTK("width not supported: %u\n", var->xres);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var->yres < 200 || var->yres > 1200) {
|
if (var->yres < 200 || var->yres > 1200) {
|
||||||
DPRINTK("height not supported: %u\n", var->yres);
|
DPRINTK("height not supported: %u\n", var->yres);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lpitch * var->yres_virtual > info->fix.smem_len) {
|
if (lpitch * var->yres_virtual > info->fix.smem_len) {
|
||||||
DPRINTK("no memory for screen (%ux%ux%u)\n",
|
DPRINTK("no memory for screen (%ux%ux%u)\n",
|
||||||
var->xres, var->yres_virtual, var->bits_per_pixel);
|
var->xres, var->yres_virtual, var->bits_per_pixel);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PICOS2KHZ(var->pixclock) > PM2_MAX_PIXCLOCK) {
|
if (PICOS2KHZ(var->pixclock) > PM2_MAX_PIXCLOCK) {
|
||||||
DPRINTK("pixclock too high (%ldKHz)\n", PICOS2KHZ(var->pixclock));
|
DPRINTK("pixclock too high (%ldKHz)\n", PICOS2KHZ(var->pixclock));
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -672,17 +672,17 @@ static int pm2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
var->height = var->width = -1;
|
var->height = var->width = -1;
|
||||||
|
|
||||||
var->accel_flags = 0; /* Can't mmap if this is on */
|
var->accel_flags = 0; /* Can't mmap if this is on */
|
||||||
|
|
||||||
DPRINTK("Checking graphics mode at %dx%d depth %d\n",
|
DPRINTK("Checking graphics mode at %dx%d depth %d\n",
|
||||||
var->xres, var->yres, var->bits_per_pixel);
|
var->xres, var->yres, var->bits_per_pixel);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pm2fb_set_par - Alters the hardware state.
|
* pm2fb_set_par - Alters the hardware state.
|
||||||
* @info: frame buffer structure that represents a single frame buffer
|
* @info: frame buffer structure that represents a single frame buffer
|
||||||
*
|
*
|
||||||
* Using the fb_var_screeninfo in fb_info we set the resolution of the
|
* Using the fb_var_screeninfo in fb_info we set the resolution of the
|
||||||
* this particular framebuffer.
|
* this particular framebuffer.
|
||||||
@ -709,7 +709,7 @@ static int pm2fb_set_par(struct fb_info *info)
|
|||||||
clear_palette(par);
|
clear_palette(par);
|
||||||
if ( par->memclock )
|
if ( par->memclock )
|
||||||
set_memclock(par, par->memclock);
|
set_memclock(par, par->memclock);
|
||||||
|
|
||||||
width = (info->var.xres_virtual + 7) & ~7;
|
width = (info->var.xres_virtual + 7) & ~7;
|
||||||
height = info->var.yres_virtual;
|
height = info->var.yres_virtual;
|
||||||
depth = (info->var.bits_per_pixel + 7) & ~7;
|
depth = (info->var.bits_per_pixel + 7) & ~7;
|
||||||
@ -722,7 +722,7 @@ static int pm2fb_set_par(struct fb_info *info)
|
|||||||
DPRINTK("pixclock too high (%uKHz)\n", pixclock);
|
DPRINTK("pixclock too high (%uKHz)\n", pixclock);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
hsstart = to3264(info->var.right_margin, depth, data64);
|
hsstart = to3264(info->var.right_margin, depth, data64);
|
||||||
hsend = hsstart + to3264(info->var.hsync_len, depth, data64);
|
hsend = hsstart + to3264(info->var.hsync_len, depth, data64);
|
||||||
hbend = hsend + to3264(info->var.left_margin, depth, data64);
|
hbend = hsend + to3264(info->var.left_margin, depth, data64);
|
||||||
@ -737,7 +737,7 @@ static int pm2fb_set_par(struct fb_info *info)
|
|||||||
base = to3264(info->var.yoffset * xres + info->var.xoffset, depth, 1);
|
base = to3264(info->var.yoffset * xres + info->var.xoffset, depth, 1);
|
||||||
if (data64)
|
if (data64)
|
||||||
video |= PM2F_DATA_64_ENABLE;
|
video |= PM2F_DATA_64_ENABLE;
|
||||||
|
|
||||||
if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) {
|
if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) {
|
||||||
if (lowhsync) {
|
if (lowhsync) {
|
||||||
DPRINTK("ignoring +hsync, using -hsync.\n");
|
DPRINTK("ignoring +hsync, using -hsync.\n");
|
||||||
@ -778,9 +778,9 @@ static int pm2fb_set_par(struct fb_info *info)
|
|||||||
WAIT_FIFO(par, 1);
|
WAIT_FIFO(par, 1);
|
||||||
pm2_WR(par, PM2VR_RD_INDEX_HIGH, 0);
|
pm2_WR(par, PM2VR_RD_INDEX_HIGH, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
set_aperture(par, depth);
|
set_aperture(par, depth);
|
||||||
|
|
||||||
mb();
|
mb();
|
||||||
WAIT_FIFO(par, 19);
|
WAIT_FIFO(par, 19);
|
||||||
pm2_RDAC_WR(par, PM2I_RD_COLOR_KEY_CONTROL,
|
pm2_RDAC_WR(par, PM2I_RD_COLOR_KEY_CONTROL,
|
||||||
@ -847,22 +847,22 @@ static int pm2fb_set_par(struct fb_info *info)
|
|||||||
set_pixclock(par, pixclock);
|
set_pixclock(par, pixclock);
|
||||||
DPRINTK("Setting graphics mode at %dx%d depth %d\n",
|
DPRINTK("Setting graphics mode at %dx%d depth %d\n",
|
||||||
info->var.xres, info->var.yres, info->var.bits_per_pixel);
|
info->var.xres, info->var.yres, info->var.bits_per_pixel);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pm2fb_setcolreg - Sets a color register.
|
* pm2fb_setcolreg - Sets a color register.
|
||||||
* @regno: boolean, 0 copy local, 1 get_user() function
|
* @regno: boolean, 0 copy local, 1 get_user() function
|
||||||
* @red: frame buffer colormap structure
|
* @red: frame buffer colormap structure
|
||||||
* @green: The green value which can be up to 16 bits wide
|
* @green: The green value which can be up to 16 bits wide
|
||||||
* @blue: The blue value which can be up to 16 bits wide.
|
* @blue: The blue value which can be up to 16 bits wide.
|
||||||
* @transp: If supported the alpha value which can be up to 16 bits wide.
|
* @transp: If supported the alpha value which can be up to 16 bits wide.
|
||||||
* @info: frame buffer info structure
|
* @info: frame buffer info structure
|
||||||
*
|
*
|
||||||
* Set a single color register. The values supplied have a 16 bit
|
* Set a single color register. The values supplied have a 16 bit
|
||||||
* magnitude which needs to be scaled in this function for the hardware.
|
* magnitude which needs to be scaled in this function for the hardware.
|
||||||
* Pretty much a direct lift from tdfxfb.c.
|
* Pretty much a direct lift from tdfxfb.c.
|
||||||
*
|
*
|
||||||
* Returns negative errno on error, or zero on success.
|
* Returns negative errno on error, or zero on success.
|
||||||
*/
|
*/
|
||||||
static int pm2fb_setcolreg(unsigned regno, unsigned red, unsigned green,
|
static int pm2fb_setcolreg(unsigned regno, unsigned red, unsigned green,
|
||||||
@ -906,7 +906,7 @@ static int pm2fb_setcolreg(unsigned regno, unsigned red, unsigned green,
|
|||||||
* (blue << blue.offset) | (transp << transp.offset)
|
* (blue << blue.offset) | (transp << transp.offset)
|
||||||
* RAMDAC does not exist
|
* RAMDAC does not exist
|
||||||
*/
|
*/
|
||||||
#define CNVT_TOHW(val,width) ((((val)<<(width))+0x7FFF-(val))>>16)
|
#define CNVT_TOHW(val, width) ((((val) << (width)) + 0x7FFF -(val)) >> 16)
|
||||||
switch (info->fix.visual) {
|
switch (info->fix.visual) {
|
||||||
case FB_VISUAL_TRUECOLOR:
|
case FB_VISUAL_TRUECOLOR:
|
||||||
case FB_VISUAL_PSEUDOCOLOR:
|
case FB_VISUAL_PSEUDOCOLOR:
|
||||||
@ -916,9 +916,9 @@ static int pm2fb_setcolreg(unsigned regno, unsigned red, unsigned green,
|
|||||||
transp = CNVT_TOHW(transp, info->var.transp.length);
|
transp = CNVT_TOHW(transp, info->var.transp.length);
|
||||||
break;
|
break;
|
||||||
case FB_VISUAL_DIRECTCOLOR:
|
case FB_VISUAL_DIRECTCOLOR:
|
||||||
/* example here assumes 8 bit DAC. Might be different
|
/* example here assumes 8 bit DAC. Might be different
|
||||||
* for your hardware */
|
* for your hardware */
|
||||||
red = CNVT_TOHW(red, 8);
|
red = CNVT_TOHW(red, 8);
|
||||||
green = CNVT_TOHW(green, 8);
|
green = CNVT_TOHW(green, 8);
|
||||||
blue = CNVT_TOHW(blue, 8);
|
blue = CNVT_TOHW(blue, 8);
|
||||||
/* hey, there is bug in transp handling... */
|
/* hey, there is bug in transp handling... */
|
||||||
@ -940,11 +940,11 @@ static int pm2fb_setcolreg(unsigned regno, unsigned red, unsigned green,
|
|||||||
|
|
||||||
switch (info->var.bits_per_pixel) {
|
switch (info->var.bits_per_pixel) {
|
||||||
case 8:
|
case 8:
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
case 24:
|
case 24:
|
||||||
case 32:
|
case 32:
|
||||||
par->palette[regno] = v;
|
par->palette[regno] = v;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -956,15 +956,15 @@ static int pm2fb_setcolreg(unsigned regno, unsigned red, unsigned green,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pm2fb_pan_display - Pans the display.
|
* pm2fb_pan_display - Pans the display.
|
||||||
* @var: frame buffer variable screen structure
|
* @var: frame buffer variable screen structure
|
||||||
* @info: frame buffer structure that represents a single frame buffer
|
* @info: frame buffer structure that represents a single frame buffer
|
||||||
*
|
*
|
||||||
* Pan (or wrap, depending on the `vmode' field) the display using the
|
* Pan (or wrap, depending on the `vmode' field) the display using the
|
||||||
* `xoffset' and `yoffset' fields of the `var' structure.
|
* `xoffset' and `yoffset' fields of the `var' structure.
|
||||||
* If the values don't fit, return -EINVAL.
|
* If the values don't fit, return -EINVAL.
|
||||||
*
|
*
|
||||||
* Returns negative errno on error, or zero on success.
|
* Returns negative errno on error, or zero on success.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static int pm2fb_pan_display(struct fb_var_screeninfo *var,
|
static int pm2fb_pan_display(struct fb_var_screeninfo *var,
|
||||||
@ -980,24 +980,24 @@ static int pm2fb_pan_display(struct fb_var_screeninfo *var,
|
|||||||
depth = (depth > 32) ? 32 : depth;
|
depth = (depth > 32) ? 32 : depth;
|
||||||
base = to3264(var->yoffset * xres + var->xoffset, depth, 1);
|
base = to3264(var->yoffset * xres + var->xoffset, depth, 1);
|
||||||
WAIT_FIFO(p, 1);
|
WAIT_FIFO(p, 1);
|
||||||
pm2_WR(p, PM2R_SCREEN_BASE, base);
|
pm2_WR(p, PM2R_SCREEN_BASE, base);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pm2fb_blank - Blanks the display.
|
* pm2fb_blank - Blanks the display.
|
||||||
* @blank_mode: the blank mode we want.
|
* @blank_mode: the blank mode we want.
|
||||||
* @info: frame buffer structure that represents a single frame buffer
|
* @info: frame buffer structure that represents a single frame buffer
|
||||||
*
|
*
|
||||||
* Blank the screen if blank_mode != 0, else unblank. Return 0 if
|
* Blank the screen if blank_mode != 0, else unblank. Return 0 if
|
||||||
* blanking succeeded, != 0 if un-/blanking failed due to e.g. a
|
* blanking succeeded, != 0 if un-/blanking failed due to e.g. a
|
||||||
* video mode which doesn't support it. Implements VESA suspend
|
* video mode which doesn't support it. Implements VESA suspend
|
||||||
* and powerdown modes on hardware that supports disabling hsync/vsync:
|
* and powerdown modes on hardware that supports disabling hsync/vsync:
|
||||||
* blank_mode == 2: suspend vsync
|
* blank_mode == 2: suspend vsync
|
||||||
* blank_mode == 3: suspend hsync
|
* blank_mode == 3: suspend hsync
|
||||||
* blank_mode == 4: powerdown
|
* blank_mode == 4: powerdown
|
||||||
*
|
*
|
||||||
* Returns negative errno on error, or zero on success.
|
* Returns negative errno on error, or zero on success.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static int pm2fb_blank(int blank_mode, struct fb_info *info)
|
static int pm2fb_blank(int blank_mode, struct fb_info *info)
|
||||||
@ -1071,7 +1071,7 @@ static void pm2fb_block_op(struct fb_info* info, int copy,
|
|||||||
pm2_WR(par, PM2R_RECTANGLE_ORIGIN, (y << 16) | x);
|
pm2_WR(par, PM2R_RECTANGLE_ORIGIN, (y << 16) | x);
|
||||||
pm2_WR(par, PM2R_RECTANGLE_SIZE, (h << 16) | w);
|
pm2_WR(par, PM2R_RECTANGLE_SIZE, (h << 16) | w);
|
||||||
wmb();
|
wmb();
|
||||||
pm2_WR(par, PM2R_RENDER,PM2F_RENDER_RECTANGLE |
|
pm2_WR(par, PM2R_RENDER, PM2F_RENDER_RECTANGLE |
|
||||||
(x<xsrc ? PM2F_INCREASE_X : 0) |
|
(x<xsrc ? PM2F_INCREASE_X : 0) |
|
||||||
(y<ysrc ? PM2F_INCREASE_Y : 0) |
|
(y<ysrc ? PM2F_INCREASE_Y : 0) |
|
||||||
(copy ? 0 : PM2F_RENDER_FASTFILL));
|
(copy ? 0 : PM2F_RENDER_FASTFILL));
|
||||||
@ -1234,7 +1234,7 @@ static int __devinit pm2fb_probe(struct pci_dev *pdev,
|
|||||||
DPRINTK("Adjusting register base for big-endian.\n");
|
DPRINTK("Adjusting register base for big-endian.\n");
|
||||||
#endif
|
#endif
|
||||||
DPRINTK("Register base at 0x%lx\n", pm2fb_fix.mmio_start);
|
DPRINTK("Register base at 0x%lx\n", pm2fb_fix.mmio_start);
|
||||||
|
|
||||||
/* Registers - request region and map it. */
|
/* Registers - request region and map it. */
|
||||||
if ( !request_mem_region(pm2fb_fix.mmio_start, pm2fb_fix.mmio_len,
|
if ( !request_mem_region(pm2fb_fix.mmio_start, pm2fb_fix.mmio_len,
|
||||||
"pm2fb regbase") ) {
|
"pm2fb regbase") ) {
|
||||||
@ -1317,17 +1317,17 @@ static int __devinit pm2fb_probe(struct pci_dev *pdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
info->fbops = &pm2fb_ops;
|
info->fbops = &pm2fb_ops;
|
||||||
info->fix = pm2fb_fix;
|
info->fix = pm2fb_fix;
|
||||||
info->pseudo_palette = default_par->palette;
|
info->pseudo_palette = default_par->palette;
|
||||||
info->flags = FBINFO_DEFAULT |
|
info->flags = FBINFO_DEFAULT |
|
||||||
FBINFO_HWACCEL_YPAN |
|
FBINFO_HWACCEL_YPAN |
|
||||||
FBINFO_HWACCEL_COPYAREA |
|
FBINFO_HWACCEL_COPYAREA |
|
||||||
FBINFO_HWACCEL_FILLRECT;
|
FBINFO_HWACCEL_FILLRECT;
|
||||||
|
|
||||||
if (!mode)
|
if (!mode)
|
||||||
mode = "640x480@60";
|
mode = "640x480@60";
|
||||||
|
|
||||||
err = fb_find_mode(&info->var, info, mode, NULL, 0, NULL, 8);
|
err = fb_find_mode(&info->var, info, mode, NULL, 0, NULL, 8);
|
||||||
if (!err || err == 4)
|
if (!err || err == 4)
|
||||||
info->var = pm2fb_var;
|
info->var = pm2fb_var;
|
||||||
|
|
||||||
@ -1348,8 +1348,8 @@ static int __devinit pm2fb_probe(struct pci_dev *pdev,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_exit_all:
|
err_exit_all:
|
||||||
fb_dealloc_cmap(&info->cmap);
|
fb_dealloc_cmap(&info->cmap);
|
||||||
err_exit_both:
|
err_exit_both:
|
||||||
iounmap(info->screen_base);
|
iounmap(info->screen_base);
|
||||||
release_mem_region(pm2fb_fix.smem_start, pm2fb_fix.smem_len);
|
release_mem_region(pm2fb_fix.smem_start, pm2fb_fix.smem_len);
|
||||||
err_exit_mmio:
|
err_exit_mmio:
|
||||||
@ -1374,7 +1374,7 @@ static void __devexit pm2fb_remove(struct pci_dev *pdev)
|
|||||||
struct pm2fb_par *par = info->par;
|
struct pm2fb_par *par = info->par;
|
||||||
|
|
||||||
unregister_framebuffer(info);
|
unregister_framebuffer(info);
|
||||||
|
|
||||||
iounmap(info->screen_base);
|
iounmap(info->screen_base);
|
||||||
release_mem_region(fix->smem_start, fix->smem_len);
|
release_mem_region(fix->smem_start, fix->smem_len);
|
||||||
iounmap(par->v_regs);
|
iounmap(par->v_regs);
|
||||||
@ -1402,9 +1402,9 @@ static struct pci_device_id pm2fb_id_table[] = {
|
|||||||
|
|
||||||
static struct pci_driver pm2fb_driver = {
|
static struct pci_driver pm2fb_driver = {
|
||||||
.name = "pm2fb",
|
.name = "pm2fb",
|
||||||
.id_table = pm2fb_id_table,
|
.id_table = pm2fb_id_table,
|
||||||
.probe = pm2fb_probe,
|
.probe = pm2fb_probe,
|
||||||
.remove = __devexit_p(pm2fb_remove),
|
.remove = __devexit_p(pm2fb_remove),
|
||||||
};
|
};
|
||||||
|
|
||||||
MODULE_DEVICE_TABLE(pci, pm2fb_id_table);
|
MODULE_DEVICE_TABLE(pci, pm2fb_id_table);
|
||||||
@ -1423,7 +1423,7 @@ static int __init pm2fb_setup(char *options)
|
|||||||
if (!options || !*options)
|
if (!options || !*options)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
while ((this_opt = strsep(&options, ",")) != NULL) {
|
while ((this_opt = strsep(&options, ",")) != NULL) {
|
||||||
if (!*this_opt)
|
if (!*this_opt)
|
||||||
continue;
|
continue;
|
||||||
if(!strcmp(this_opt, "lowhsync")) {
|
if(!strcmp(this_opt, "lowhsync")) {
|
||||||
|
Loading…
Reference in New Issue
Block a user