[coreboot] VGA driver cursor placement and scrolling fixes

Jordan Crouse jordan.crouse at amd.com
Sat Mar 22 16:30:59 CET 2008


On 22/03/08 09:14 -0600, Jordan Crouse wrote:
> On 22/03/08 13:31 +0000, Jonathan A. Kollasch wrote:
> > 
> >  * Make cursor positioning work by using both halves of the
> >    VGA cursor position register.
> > 
> >  * Have vga_scroll_up() and vga_clear_line() present row/column
> >    arguments to the VIDEO() macro in the right order.
> > 
> > Signed-off-by: Jonathan A. Kollasch <jakllsch at kollasch.net>
> 
> Acked-by: Jordan Crouse <jordan.crouse at amd.com>

r3186.  Thanks.

> > ---
> 
> > Index: drivers/vga.c
> > ===================================================================
> > --- drivers/vga.c	(revision 3185)
> > +++ drivers/vga.c	(working copy)
> > @@ -64,7 +64,7 @@
> >  	unsigned int addr;
> >  
> >  	addr = ((unsigned int)crtc_read(0x0E)) << 8;
> > -	addr += crtc_read(0x0E);
> > +	addr += crtc_read(0x0F);
> >  
> >  	cursorx = addr % WIDTH;
> >  	cursory = addr / WIDTH;
> > @@ -93,7 +93,7 @@
> >  
> >  	addr = cursorx + (WIDTH * cursory);
> >  	crtc_write(addr >> 8, 0x0E);
> > -	crtc_write(addr, 0x0E);
> > +	crtc_write(addr, 0x0F);
> >  }
> >  
> >  void vga_cursor_enable(int state)
> > @@ -115,7 +115,7 @@
> >  void vga_clear_line(uint8_t row, uint8_t ch, uint8_t attr)
> >  {
> >  	int col;
> > -	uint16_t *ptr = VIDEO(0, row);
> > +	uint16_t *ptr = VIDEO(row, 0);
> >  
> >  	for (col = 0; col < WIDTH; col++)
> >  		ptr[col] = ((attr & 0xFF) << 8) | (ch & 0xFF);
> > @@ -123,7 +123,7 @@
> >  
> >  static void vga_scroll_up(void)
> >  {
> > -	uint16_t *src = VIDEO(0, 1);
> > +	uint16_t *src = VIDEO(1, 0);
> >  	uint16_t *dst = VIDEO(0, 0);
> >  	int i;
> >  
> 
> 
> 
> 
> > -- 
> > coreboot mailing list
> > coreboot at coreboot.org
> > http://www.coreboot.org/mailman/listinfo/coreboot
> 
> -- 
> Jordan Crouse
> Systems Software Development Engineer 
> Advanced Micro Devices, Inc.

-- 
Jordan Crouse
Systems Software Development Engineer 
Advanced Micro Devices, Inc.





More information about the coreboot mailing list