Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8db51668 authored by Antonino A. Daplas's avatar Antonino A. Daplas Committed by Linus Torvalds
Browse files

s3fb: limit 8x16 rectangles when tileblitting is enabled



If tileblitting is enabled (text mode), the hardware can only accept 8x16
bitmaps. Advertise this to the upper layer. And to ensure that an appropriate
font is always available, select an 8x16 font in Kconfig.

Signed-off-by: default avatarAntonino Daplas <adaplas@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d60d2d8a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1194,6 +1194,7 @@ config FB_S3
	select FB_TILEBLITTING
	select FB_SVGALIB
	select VGASTATE
	select FONT_8x16 if FRAMEBUFFER_CONSOLE
	---help---
	  Driver for graphics boards with S3 Trio / S3 Virge chip.

+6 −0
Original line number Diff line number Diff line
@@ -449,6 +449,9 @@ static int s3fb_set_par(struct fb_info *info)
		info->flags &= ~FBINFO_MISC_TILEBLITTING;
		info->tileops = NULL;

		/* supports blit rectangles of any dimension */
		info->pixmap.blit_x = ~(u32)0;
		info->pixmap.blit_y = ~(u32)0;
		offset_value = (info->var.xres_virtual * bpp) / 64;
		screen_size = info->var.yres_virtual * info->fix.line_length;
	} else {
@@ -457,6 +460,9 @@ static int s3fb_set_par(struct fb_info *info)

		info->flags |= FBINFO_MISC_TILEBLITTING;
		info->tileops = fasttext ? &s3fb_fast_tile_ops : &s3fb_tile_ops;
		/* supports 8x16 tiles only */
		info->pixmap.blit_x = 1 << (8 - 1);
		info->pixmap.blit_y = 1 << (16 - 1);

		offset_value = info->var.xres_virtual / 16;
		screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64;