From owner-freebsd-bugs@FreeBSD.ORG Mon Jul 7 04:10:16 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 694F637B401 for ; Mon, 7 Jul 2003 04:10:16 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59AA443FCB for ; Mon, 7 Jul 2003 04:10:15 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h67BAFUp047272 for ; Mon, 7 Jul 2003 04:10:15 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h67BAF6b047271; Mon, 7 Jul 2003 04:10:15 -0700 (PDT) Resent-Date: Mon, 7 Jul 2003 04:10:15 -0700 (PDT) Resent-Message-Id: <200307071110.h67BAF6b047271@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Chris Keladis Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6D71E37B401 for ; Mon, 7 Jul 2003 04:04:24 -0700 (PDT) Received: from zippy.cmc.optus.net.au (zippy.cmc.optus.net.au [198.142.244.126]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9A9A43F85 for ; Mon, 7 Jul 2003 04:04:22 -0700 (PDT) (envelope-from chris@cmc.optus.net.au) Received: (from smtpd@localhost) by zippy.cmc.optus.net.au (8.8.8+Sun/8.8.8) id VAA06838; Mon, 7 Jul 2003 21:04:21 +1000 (EST) Received: from cmcd08.cmc.optus.net.au(198.142.244.57), claiming to be "cmc.optus.net.au" via SMTP by zippy.cmc.optus.net.au, id smtpdAAA.nXqw_; Mon Jul 7 21:04:16 2003 Message-Id: <3F0953AA.7060702@cmc.optus.net.au> Date: Mon, 07 Jul 2003 21:04:10 +1000 From: Chris Keladis To: FreeBSD-gnats-submit@FreeBSD.org cc: Chris Keladis Subject: kern/54176: [PATCH] Updates for AC97 audio (ICH5/R & ALC-655 Codec) X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jul 2003 11:10:16 -0000 >Number: 54176 >Category: kern >Synopsis: [PATCH] Updates for AC97 audio (ICH5/R & ALC-655 Codec) >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Mon Jul 07 04:10:14 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Chris Keladis >Release: FreeBSD 5.1-RELEASE i386 >Organization: >Environment: Tracking RELENG_5_1 (19/06/2003 snapshot) ich.c: $FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.28 2003/04/16 03:16:55 mdodd Exp $ ac97.c: $FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.42 2003/04/23 16:49:53 jhb Exp $ >Description: Kernel does not detect pcm device at all on bootup with such hardware. >How-To-Repeat: N/A >Fix: Patches Below. Seem to work ok, no problem with audio. Have not tested recording or other features apart from playback but i expect they would work ok. --- ac97.c.diff begins here --- --- ac97_28-07-2003.c Thu Apr 24 02:49:53 2003 +++ ac97.c Sat Jun 28 12:36:20 2003 @@ -136,6 +136,7 @@ { 0x414c4710, 0x0f, 0, "ALC200", 0 }, { 0x414c4740, 0x0f, 0, "ALC202", 0 }, { 0x414c4720, 0x0f, 0, "ALC650", 0 }, + { 0x414c4760, 0x0f, 0, "ALC655", 0 }, { 0x43525900, 0x07, 0, "CS4297", 0 }, { 0x43525910, 0x07, 0, "CS4297A", 0 }, { 0x43525920, 0x07, 0, "CS4294/98", 0 }, --- ac97.c.diff ends here --- --- ich.c.diff begins here --- --- ich_28-06-2003.c Wed Apr 16 13:16:55 2003 +++ ich.c Sun Jun 29 16:17:17 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 special handling */ /* buffer descriptor */ struct ich_desc { @@ -577,8 +578,8 @@ stat = ich_rd(sc, ICH_REG_GLOB_STA, 4); if ((stat & ICH_GLOB_STA_PCR) == 0) { - /* ICH4 may fail when busmastering is enabled. Continue */ - if (pci_get_devid(sc->dev) != ICH4ID) { + /* ICH4/ICH5 may fail when busmastering is enabled. Continue */ + 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 82801EB (ICH5/ICH5R)"); + 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); } --- ich.c.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: