Date: Thu, 12 Jun 2003 13:04:53 +0900 (JST) From: Shin-ichi Yoshimoto <yosimoto@waishi.jp> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/53242: [patch] snd_ich fails to detect Intel 82801ER (ICH5) chip Message-ID: <20030612040453.E1EB011F82A@current.waishi.jp> Resent-Message-ID: <200306120410.h5C4AHYi052044@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 53242 >Category: kern >Synopsis: [patch] snd_ich fails to detect Intel 82801ER (ICH5) chip >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jun 11 21:10:16 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Shin-ichi Yoshimoto >Release: FreeBSD 5.1-CURRENT i386 >Organization: >Environment: System: FreeBSD current.waishi.jp 5.1-CURRENT FreeBSD 5.1-CURRENT #9: Sun Jun 8 07:43:17 JST 2003 yosimoto@current.waishi.jp:/usr/obj/usr/src/sys/CURRENT i386 >Description: The snd_ich sound driver fails to detect the Intel 82801ER (ICH5) sound on my motherboard (MSI 865PE Neo2). >How-To-Repeat: >Fix: --- ich.c.orig Wed Apr 16 12:16:55 2003 +++ ich.c Sun Jun 8 16:34:37 2003 @@ -43,6 +43,7 @@ #define SIS7012ID 0x70121039 /* SiS 7012 needs special handling */ #define ICH4ID 0x24c58086 /* ICH4 needs special handling too */ +#define ICH5ID 0x24d58086 /* ICH5 needs special handling too */ /* buffer descriptor */ struct ich_desc { @@ -578,7 +579,7 @@ if ((stat & ICH_GLOB_STA_PCR) == 0) { /* ICH4 may fail when busmastering is enabled. Continue */ - if (pci_get_devid(sc->dev) != ICH4ID) { + if (pci_get_devid(sc->dev) != ICH4ID && pci_get_devid(sc->dev) != ICH5ID) { return ENXIO; } } @@ -630,6 +631,10 @@ device_set_desc(dev, "Intel 82801DB (ICH4)"); return 0; + case ICH5ID: + device_set_desc(dev, "Intel 82801ER (ICH5)"); + return 0; + case SIS7012ID: device_set_desc(dev, "SiS 7012"); return 0; @@ -681,7 +686,7 @@ * but doing so will mess things up here. ich4 has enough new * features it warrants it's own driver. */ - if (pci_get_devid(dev) == ICH4ID) { + if (pci_get_devid(dev) == ICH4ID || pci_get_devid(dev) == ICH5ID) { pci_write_config(dev, PCIR_ICH_LEGACY, ICH_LEGACY_ENABLE, 1); } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030612040453.E1EB011F82A>