1219b2ee8SDavid du Colombier #include <u.h>
2219b2ee8SDavid du Colombier #include <libc.h>
37dd7cddfSDavid du Colombier #include <bio.h>
4219b2ee8SDavid du Colombier
5*9a747e4fSDavid du Colombier #include "pci.h"
6219b2ee8SDavid du Colombier #include "vga.h"
7219b2ee8SDavid du Colombier
8219b2ee8SDavid du Colombier static void
init(Vga * vga,Ctlr * ctlr)9219b2ee8SDavid du Colombier init(Vga* vga, Ctlr* ctlr)
10219b2ee8SDavid du Colombier {
11219b2ee8SDavid du Colombier ctlr->flag |= Finit;
12219b2ee8SDavid du Colombier
13219b2ee8SDavid du Colombier /*
14219b2ee8SDavid du Colombier * Use of the hwgc requires
15219b2ee8SDavid du Colombier * a W32 chip,
16219b2ee8SDavid du Colombier * 8-bits,
17219b2ee8SDavid du Colombier * not 2x8-bit mode.
18219b2ee8SDavid du Colombier */
19219b2ee8SDavid du Colombier if(cflag)
20219b2ee8SDavid du Colombier return;
21219b2ee8SDavid du Colombier if(vga->ctlr == 0 || strncmp(vga->ctlr->name, "et4000-w32", 10))
22219b2ee8SDavid du Colombier cflag = 1;
23219b2ee8SDavid du Colombier if(vga->mode->z != 8 || (ctlr->flag & Upclk2x8))
24219b2ee8SDavid du Colombier cflag = 1;
25219b2ee8SDavid du Colombier }
26219b2ee8SDavid du Colombier
27219b2ee8SDavid du Colombier Ctlr et4000hwgc = {
28219b2ee8SDavid du Colombier "et4000hwgc", /* name */
29219b2ee8SDavid du Colombier 0, /* snarf */
30219b2ee8SDavid du Colombier 0, /* options */
31219b2ee8SDavid du Colombier init, /* init */
32219b2ee8SDavid du Colombier 0, /* load */
33219b2ee8SDavid du Colombier 0, /* dump */
34219b2ee8SDavid du Colombier };
35