Date: Fri, 24 Mar 2006 15:46:15 +0100 From: Anders Nordby <anders@FreeBSD.org> To: freebsd-multimedia@FreeBSD.org Subject: ICH7 soundcard (82801G, not 82801GB) support? Message-ID: <20060324144615.GA45530@totem.fix.no>
next in thread | raw e-mail | index | archive | help
--IJpNTDwzlM2Ie8A6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, I have a 82801G ICH7 sound card: pcm0@pci0:27:0: class=0x040300 card=0x10831734 chip=0x27d88086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) High Definition Audio' class = multimedia The attached patch adds it to the ich driver. It fails to attach, however: pcm0: <Intel ICH7 (82801G)> mem 0xf0000000-0xf0003fff irq 18 at device 27.0 on pci0 pcm0: unable to map IO port space device_attach: pcm0 attach returned 6 Anyone else having this problem, or who solved it? PS: I'm running RELENG_6 from today. Yes, I tried hw.pci.allow_unsupportable_io_range="1" in loader.conf. No, it didn't help. Cheers, -- Anders. --IJpNTDwzlM2Ie8A6 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="patch-ich.c-ich7fix" --- sys/dev/sound/pci/ich.c.orig Fri Mar 24 09:48:54 2006 +++ sys/dev/sound/pci/ich.c Fri Mar 24 12:46:11 2006 @@ -55,6 +55,7 @@ #define INTEL_82801EB 0x24d5 /* ICH5 needs to be treated as ICH4 */ #define INTEL_6300ESB 0x25a6 /* 6300ESB needs to be treated as ICH4 */ #define INTEL_82801FB 0x266e /* ICH6 needs to be treated as ICH4 */ +#define INTEL_82801G 0x27d8 /* ICH7 needs to be treated as ICH4 */ #define INTEL_82801GB 0x27de /* ICH7 needs to be treated as ICH4 */ #define SIS_7012 0x7012 /* SiS 7012 needs special handling */ #define NVIDIA_NFORCE 0x01b1 @@ -95,6 +96,8 @@ "Intel 6300ESB" }, { INTEL_VENDORID, INTEL_82801FB, PROBE_LOW, "Intel ICH6 (82801FB)" }, + { INTEL_VENDORID, INTEL_82801G, PROBE_LOW, + "Intel ICH7 (82801G)" }, { INTEL_VENDORID, INTEL_82801GB, PROBE_LOW, "Intel ICH7 (82801GB)" }, { SIS_VENDORID, SIS_7012, 0, @@ -687,7 +690,7 @@ if (sc->vendor == INTEL_VENDORID && ( sc->devid == INTEL_82801DB || sc->devid == INTEL_82801EB || sc->devid == INTEL_6300ESB || sc->devid == INTEL_82801FB || - sc->devid == INTEL_82801GB)) { + sc->devid == INTEL_82801GB || sc->devid == INTEL_82801G)) { sc->flags |= IGNORE_PCR; device_printf(sc->dev, "primary codec not ready!\n"); } @@ -771,7 +774,8 @@ */ if (vendor == INTEL_VENDORID && (devid == INTEL_82801DB || devid == INTEL_82801EB || devid == INTEL_6300ESB || - devid == INTEL_82801FB || devid == INTEL_82801GB)) { + devid == INTEL_82801FB || devid == INTEL_82801GB || + devid == INTEL_82801G)) { sc->nambarid = PCIR_MMBAR; sc->nabmbarid = PCIR_MBBAR; sc->regtype = SYS_RES_MEMORY; --IJpNTDwzlM2Ie8A6--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060324144615.GA45530>