Date: Thu, 19 Oct 2000 12:32:49 +0300 From: Ruslan Ermilov <ru@FreeBSD.ORG> To: Antony T Curtis <antony@abacus.co.uk> Cc: freebsd-stable@FreeBSD.ORG Subject: Re: i815 AGP Message-ID: <20001019123249.A6627@sunbay.com> In-Reply-To: <39EEBD05.D20E6FE@abacus.co.uk>; from antony@abacus.co.uk on Thu, Oct 19, 2000 at 10:21:09AM %2B0100 References: <39EEBD05.D20E6FE@abacus.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
--OXfL5xGRrasGEqWY Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Oct 19, 2000 at 10:21:09AM +0100, Antony T Curtis wrote: > > The AGP kernel module I have for FreeBSD 4.1 doesn't seem to support the > i815 AGP controller.... > > Does anyone know if it is safe to "hack" the current i810 driver to > recognise the i815 chip or are they very different? If so, does someone > know about it and is a revised handler being developed? > > Thanks. > > (I know this is a "cheap" chipset but they're increasingly common > nowadays) > I've committed the support for i815 to -current after I've received the success response. Could you please try the attached patch, and let me know whether it works for you? -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age --OXfL5xGRrasGEqWY Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=p Index: agp_i810.c =================================================================== RCS file: /home/ncvs/src/sys/pci/agp_i810.c,v retrieving revision 1.1.2.1 retrieving revision 1.2 diff -u -p -r1.1.2.1 -r1.2 --- agp_i810.c 2000/07/19 09:48:04 1.1.2.1 +++ agp_i810.c 2000/10/16 08:53:00 1.2 @@ -84,6 +84,9 @@ agp_i810_match(device_t dev) case 0x71258086: return ("Intel 82810E (i810E GMCH) SVGA controller"); + + case 0x11328086: + return ("Intel 82815 (i815 GMCH) SVGA controller"); }; return NULL; @@ -100,9 +103,20 @@ agp_i810_find_bridge(device_t dev) u_int32_t devid; /* - * XXX assume that the bridge device's ID is one minus the vga ID. + * Calculate bridge device's ID. */ - devid = pci_get_devid(dev) - 0x10000; + devid = pci_get_devid(dev); + switch (devid) { + case 0x71218086: + case 0x71238086: + case 0x71258086: + devid -= 0x10000; + break; + + case 0x11328086: + devid = 0x11308086; + break; + }; if (device_get_children(device_get_parent(dev), &children, &nchildren)) return 0; --OXfL5xGRrasGEqWY-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001019123249.A6627>