summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/dev/sti_sgc.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2007-08-23 19:13:29 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2007-08-23 19:13:29 +0000
commit0884b0924bca66712fe538c331856fbdb956d311 (patch)
treead2bf0b4907a761a249b687840f9487e28d701cd /sys/arch/hppa/dev/sti_sgc.c
parent551f0dbe88009339f608ed931e0257456bd53c10 (diff)
Look for STI firmware at the additional address given by the firmware. This
removes the need for the hardcoded address for the internal Visualize EG on the B180L, and makes it work on the C180. Tested on a handful of other models too. ok miod@
Diffstat (limited to 'sys/arch/hppa/dev/sti_sgc.c')
-rw-r--r--sys/arch/hppa/dev/sti_sgc.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/sys/arch/hppa/dev/sti_sgc.c b/sys/arch/hppa/dev/sti_sgc.c
index 49dccc79a62..b6de6c152cd 100644
--- a/sys/arch/hppa/dev/sti_sgc.c
+++ b/sys/arch/hppa/dev/sti_sgc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sti_sgc.c,v 1.35 2007/01/11 21:58:05 miod Exp $ */
+/* $OpenBSD: sti_sgc.c,v 1.36 2007/08/23 19:13:28 kettenis Exp $ */
/*
* Copyright (c) 2000-2003 Michael Shalayeff
@@ -57,10 +57,6 @@
/* gecko optional graphics (these share the onboard's prom) */
char sti_sgc_opt[] = { 0x17, 0x20, 0x30, 0x40, 0x70, 0xc0, 0xd0 };
-/* internal EG */
-#define STI_INEG_REV 0x60
-#define STI_INEG_PROM 0xf0011000
-
extern struct cfdriver sti_cd;
int sti_sgc_probe(struct device *, void *, void *);
@@ -92,10 +88,8 @@ sti_sgc_getrom(int unit, struct confargs *ca)
}
if (rom < HPPA_IOBEGIN) {
- if (unit == 0 &&
- ca->ca_type.iodc_sv_model == HPPA_FIO_GSGC &&
- ca->ca_type.iodc_revision == STI_INEG_REV)
- rom = STI_INEG_PROM;
+ if (ca->ca_naddrs > 0)
+ rom = ca->ca_addrs[0].addr;
else
rom = ca->ca_hpa;
}