49 lines
1.5 KiB
Text
49 lines
1.5 KiB
Text
$NetBSD: patch-az,v 1.2 2003/07/31 15:12:40 bencollver Exp $
|
|
|
|
--- src/r128.c.orig Wed May 30 01:02:14 2001
|
|
+++ src/r128.c
|
|
@@ -313,7 +313,7 @@ static void R128RestoreMode(R128SavePtr
|
|
OUTREG(R128_AMCGPIO_MASK, restore->amcgpio_mask);
|
|
OUTREG(R128_AMCGPIO_EN_REG, restore->amcgpio_en_reg);
|
|
OUTREG(R128_CLOCK_CNTL_INDEX, restore->clock_cntl_index);
|
|
- OUTREG(R128_GEN_RESET_CNTL, restore->gen_reset_cntl);
|
|
+// OUTREG(R128_GEN_RESET_CNTL, restore->gen_reset_cntl);
|
|
OUTREG(R128_DP_DATATYPE, restore->dp_datatype);
|
|
|
|
R128RestoreCommonRegisters( restore);
|
|
@@ -443,6 +443,10 @@ static void R128InitCommonRegisters(R128
|
|
save->mem_vga_wp_sel = 0;
|
|
save->mem_vga_rp_sel = 0;
|
|
save->bus_cntl = BusCntl;
|
|
+
|
|
+ save->config_cntl = INREG(R128_CONFIG_CNTL);
|
|
+ save->amcgpio_en_reg = INREG(R128_AMCGPIO_EN_REG);
|
|
+ save->amcgpio_mask = INREG(R128_AMCGPIO_MASK);
|
|
/*
|
|
* If bursts are enabled, turn on discards and aborts
|
|
*/
|
|
@@ -958,6 +962,15 @@ static int r128_test(void)
|
|
{
|
|
int found, id;
|
|
unsigned long buf[64];
|
|
+ int _ioperm=0;
|
|
+
|
|
+ if (getenv("IOPERM") == NULL) {
|
|
+ _ioperm=1;
|
|
+ if (iopl(3) < 0) {
|
|
+ printf("svgalib: cannot get I/O permissions\n");
|
|
+ exit(1);
|
|
+ }
|
|
+ }
|
|
|
|
found=__svgalib_pci_find_vendor_vga(VENDOR_ID,buf,0);
|
|
|
|
@@ -966,6 +979,8 @@ static int r128_test(void)
|
|
if((id>=0x5350) || (id<=0x4fff)) return 0;
|
|
|
|
r128_init(0,0,0);
|
|
+ if (_ioperm) iopl(0);
|
|
+
|
|
return 1;
|
|
}
|
|
|