1445N/A--- a/src/ast_vgatool.c Wed Nov 12 12:52:46 2014
1445N/A+++ b/src/ast_vgatool.c Wed Nov 12 12:53:51 2014
1445N/A@@ -1076,16 +1076,29 @@
1445N/A static void vEnableVGA(ScrnInfoPtr pScrn)
1391N/A {
1391N/A ASTRecPtr pAST;
1391N/A+ UCHAR miscout;
1445N/A
1391N/A pAST = ASTPTR(pScrn);
1391N/A
1391N/A SetReg(VGA_ENABLE_PORT, 0x01);
1445N/A- SetReg(MISC_PORT_WRITE, 0x01);
1391N/A+ /*
1391N/A+ * Only set the Input/Output Address bit in the Miscellaneous
1391N/A+ * output register, as clearing others bits and accessing the
1391N/A+ * frame buffer caused non-resumable errors on sparc.
1391N/A+ */
1445N/A
1391N/A+ miscout = GetReg(MISC_PORT_READ);
1391N/A+ SetReg(MISC_PORT_WRITE, miscout | 0x01);
1445N/A }
1391N/A
1391N/A+/*
1391N/A+ * Leave video memory enabled in PCI Control Register #1 (0xa0), as
1391N/A+ * accessing the frame buffer with it disabled caused non-resumable
1391N/A+ * errors on sparc.
1391N/A+ */
1391N/A+
1445N/A static UCHAR ExtRegInfo[] = {
1391N/A- 0x0F,
1391N/A+ 0x7F,
1391N/A 0x04,
1391N/A 0x1C,
1391N/A 0xFF
1445N/A@@ -1092,7 +1105,7 @@
1391N/A };
1391N/A
1445N/A static UCHAR ExtRegInfo_AST2300A0[] = {
1391N/A- 0x0F,
1391N/A+ 0x7F,
1391N/A 0x04,
1391N/A 0x1C,
1391N/A 0xFF
1445N/A@@ -1099,7 +1112,7 @@
1391N/A };
1391N/A
1445N/A static UCHAR ExtRegInfo_AST2300[] = {
1391N/A- 0x0F,
1391N/A+ 0x7F,
1391N/A 0x04,
1391N/A 0x1F,
1391N/A 0xFF