|
@@ -287,15 +287,8 @@ static const struct fb_videomode ps3fb_modedb[] = {
|
|
#define HEAD_A
|
|
#define HEAD_A
|
|
#define HEAD_B
|
|
#define HEAD_B
|
|
|
|
|
|
-#define X_OFF(i) (ps3fb_res[i].xoff) /* left/right margin (pixel) */
|
|
|
|
-#define Y_OFF(i) (ps3fb_res[i].yoff) /* top/bottom margin (pixel) */
|
|
|
|
-#define WIDTH(i) (ps3fb_res[i].xres) /* width of FB */
|
|
|
|
-#define HEIGHT(i) (ps3fb_res[i].yres) /* height of FB */
|
|
|
|
#define BPP 4 /* number of bytes per pixel */
|
|
#define BPP 4 /* number of bytes per pixel */
|
|
|
|
|
|
-/* Start of the virtual frame buffer (relative to fullscreen ) */
|
|
|
|
-#define VP_OFF(i) ((WIDTH(i) * Y_OFF(i) + X_OFF(i)) * BPP)
|
|
|
|
-
|
|
|
|
|
|
|
|
static int ps3fb_mode;
|
|
static int ps3fb_mode;
|
|
module_param(ps3fb_mode, int, 0);
|
|
module_param(ps3fb_mode, int, 0);
|
|
@@ -611,7 +604,10 @@ static int ps3fb_set_par(struct fb_info *info)
|
|
|
|
|
|
par->width = info->var.xres;
|
|
par->width = info->var.xres;
|
|
par->height = info->var.yres;
|
|
par->height = info->var.yres;
|
|
- offset = VP_OFF(i);
|
|
|
|
|
|
+
|
|
|
|
+ /* Start of the virtual frame buffer (relative to fullscreen) */
|
|
|
|
+ offset = ps3fb_res[i].yoff * ddr_line_length + ps3fb_res[i].xoff * BPP;
|
|
|
|
+
|
|
par->fb_offset = GPU_ALIGN_UP(offset);
|
|
par->fb_offset = GPU_ALIGN_UP(offset);
|
|
par->full_offset = par->fb_offset - offset;
|
|
par->full_offset = par->fb_offset - offset;
|
|
par->pan_offset = info->var.yoffset * xdr_line_length +
|
|
par->pan_offset = info->var.yoffset * xdr_line_length +
|