From: Kevin O'Connor Date: Fri, 15 Mar 2024 23:50:29 +0000 (-0400) Subject: vgasrc: Rename vgahw_get_linesize() to vgahw_minimum_linelength() X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1588fd1437960d94cadc30c42243671e8c0f1281;p=seabios.git vgasrc: Rename vgahw_get_linesize() to vgahw_minimum_linelength() Make the relationship between vgahw_get_linelength() and vgahw_get_linesize() more clear by renaming it to vgahw_minimum_linelength(). Signed-off-by: Kevin O'Connor --- diff --git a/vgasrc/cbvga.c b/vgasrc/cbvga.c index 9e3cc93..243e6be 100644 --- a/vgasrc/cbvga.c +++ b/vgasrc/cbvga.c @@ -81,6 +81,13 @@ cbvga_set_window(struct vgamode_s *curmode_g, int window, int val) return -1; } +int +cbvga_minimum_linelength(struct vgamode_s *vmode_g) +{ + /* Can't change mode, always report active pitch. */ + return GET_GLOBAL(CBlinelength); +} + int cbvga_get_linelength(struct vgamode_s *curmode_g) { @@ -156,13 +163,6 @@ cbvga_set_mode(struct vgamode_s *vmode_g, int flags) return 0; } -int -cbvga_get_linesize(struct vgamode_s *vmode_g) -{ - /* Can't change mode, always report active pitch. */ - return GET_GLOBAL(CBlinelength); -} - #define CB_TAG_FRAMEBUFFER 0x0012 struct cb_framebuffer { u32 tag; diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index 9d8f556..da67af4 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -275,6 +275,14 @@ stdvga_set_window(struct vgamode_s *curmode_g, int window, int val) return -1; } +// Minimum framebuffer bytes between each vertical line for given mode +int +stdvga_minimum_linelength(struct vgamode_s *vmode_g) +{ + return DIV_ROUND_UP(GET_GLOBAL(vmode_g->width) * vga_bpp(vmode_g), 8); +} + +// Return number of framebuffer bytes between start of each vertical line int stdvga_get_linelength(struct vgamode_s *curmode_g) { @@ -282,6 +290,7 @@ stdvga_get_linelength(struct vgamode_s *curmode_g) return val * 8 / stdvga_vram_ratio(curmode_g); } +// Set number of framebuffer bytes between start of each vertical line int stdvga_set_linelength(struct vgamode_s *curmode_g, int val) { @@ -290,6 +299,7 @@ stdvga_set_linelength(struct vgamode_s *curmode_g, int val) return 0; } +// Return framebuffer offset of first byte of displayed content int stdvga_get_displaystart(struct vgamode_s *curmode_g) { @@ -299,6 +309,7 @@ stdvga_get_displaystart(struct vgamode_s *curmode_g) return addr * 4 / stdvga_vram_ratio(curmode_g); } +// Set framebuffer offset of first byte of displayed content int stdvga_set_displaystart(struct vgamode_s *curmode_g, int val) { @@ -321,11 +332,6 @@ stdvga_set_dacformat(struct vgamode_s *curmode_g, int val) return -1; } -int -stdvga_get_linesize(struct vgamode_s *vmode_g) -{ - return DIV_ROUND_UP(GET_GLOBAL(vmode_g->width) * vga_bpp(vmode_g), 8); -} /**************************************************************** * Save/Restore state diff --git a/vgasrc/stdvga.h b/vgasrc/stdvga.h index 5164ca1..ce79783 100644 --- a/vgasrc/stdvga.h +++ b/vgasrc/stdvga.h @@ -68,6 +68,7 @@ void stdvga_set_scan_lines(u8 lines); u16 stdvga_get_vde(void); int stdvga_get_window(struct vgamode_s *curmode_g, int window); int stdvga_set_window(struct vgamode_s *curmode_g, int window, int val); +int stdvga_minimum_linelength(struct vgamode_s *vmode_g); int stdvga_get_linelength(struct vgamode_s *curmode_g); int stdvga_set_linelength(struct vgamode_s *curmode_g, int val); int stdvga_get_displaystart(struct vgamode_s *curmode_g); diff --git a/vgasrc/vbe.c b/vgasrc/vbe.c index 3efb54f..d2aaace 100644 --- a/vgasrc/vbe.c +++ b/vgasrc/vbe.c @@ -110,7 +110,7 @@ vbe_104f01(struct bregs *regs) // Basic information about mode. int width = GET_GLOBAL(vmode_g->width); int height = GET_GLOBAL(vmode_g->height); - int linesize = vgahw_get_linesize(vmode_g); + int linesize = vgahw_minimum_linelength(vmode_g); SET_FARVAR(seg, info->bytes_per_scanline, linesize); SET_FARVAR(seg, info->xres, width); SET_FARVAR(seg, info->yres, height); diff --git a/vgasrc/vgahw.h b/vgasrc/vgahw.h index bd33e20..a6ddaa9 100644 --- a/vgasrc/vgahw.h +++ b/vgasrc/vgahw.h @@ -95,6 +95,12 @@ static inline int vgahw_get_linelength(struct vgamode_s *curmode_g) { return stdvga_get_linelength(curmode_g); } +static inline int vgahw_minimum_linelength(struct vgamode_s *vmode_g) { + if (CONFIG_VGA_EMULATE_TEXT) + return cbvga_minimum_linelength(vmode_g); + return stdvga_minimum_linelength(vmode_g); +} + static inline int vgahw_set_linelength(struct vgamode_s *curmode_g, int val) { if (CONFIG_VGA_CIRRUS) return clext_set_linelength(curmode_g, val); @@ -151,10 +157,4 @@ static inline int vgahw_save_restore(int cmd, u16 seg, void *data) { return stdvga_save_restore(cmd, seg, data); } -static inline int vgahw_get_linesize(struct vgamode_s *vmode_g) { - if (CONFIG_VGA_EMULATE_TEXT) - return cbvga_get_linesize(vmode_g); - return stdvga_get_linesize(vmode_g); -} - #endif // vgahw.h diff --git a/vgasrc/vgautil.h b/vgasrc/vgautil.h index 245a562..ce307c9 100644 --- a/vgasrc/vgautil.h +++ b/vgasrc/vgautil.h @@ -9,6 +9,7 @@ struct vgamode_s *cbvga_find_mode(int mode); void cbvga_list_modes(u16 seg, u16 *dest, u16 *last); int cbvga_get_window(struct vgamode_s *curmode_g, int window); int cbvga_set_window(struct vgamode_s *curmode_g, int window, int val); +int cbvga_minimum_linelength(struct vgamode_s *vmode_g); int cbvga_get_linelength(struct vgamode_s *curmode_g); int cbvga_set_linelength(struct vgamode_s *curmode_g, int val); int cbvga_get_displaystart(struct vgamode_s *curmode_g); @@ -17,7 +18,6 @@ int cbvga_get_dacformat(struct vgamode_s *curmode_g); int cbvga_set_dacformat(struct vgamode_s *curmode_g, int val); int cbvga_save_restore(int cmd, u16 seg, void *data); int cbvga_set_mode(struct vgamode_s *vmode_g, int flags); -int cbvga_get_linesize(struct vgamode_s *vmode_g); void cbvga_setup_modes(u64 addr, u8 bpp, u32 xlines, u32 ylines, u32 linelength); int cbvga_setup(void); @@ -77,7 +77,6 @@ void stdvga_list_modes(u16 seg, u16 *dest, u16 *last); void stdvga_build_video_param(void); void stdvga_override_crtc(int mode, u8 *crtc); int stdvga_set_mode(struct vgamode_s *vmode_g, int flags); -int stdvga_get_linesize(struct vgamode_s *vmode_g); void stdvga_set_packed_palette(void); // swcursor.c