From owner-freebsd-stable Thu Sep 19 16:28:12 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C074937B401 for ; Thu, 19 Sep 2002 16:28:08 -0700 (PDT) Received: from barbera.system.pl (barbera.system.pl [62.233.129.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id B5CFE43E65 for ; Thu, 19 Sep 2002 16:28:07 -0700 (PDT) (envelope-from saper@barbera.system.pl) Received: from barbera.system.pl (localhost [127.0.0.1]) by barbera.system.pl (8.12.3/8.12.3) with ESMTP id g8JNS0xj083209 for ; Fri, 20 Sep 2002 01:28:00 +0200 (CEST) (envelope-from saper@barbera.system.pl) Received: (from saper@localhost) by barbera.system.pl (8.12.3/8.12.3/Submit) id g8JNS04W083208 for freebsd-stable@freebsd.org; Fri, 20 Sep 2002 01:28:00 +0200 (CEST) (envelope-from saper) Date: Fri, 20 Sep 2002 01:28:00 +0200 From: Marcin Cieslak To: freebsd-stable@freebsd.org Subject: pcm sound -> PCI IRQ problems on Sony VAIO? Message-ID: <20020919232800.GA82881@barbera.system.pl> Mail-Followup-To: freebsd-stable@freebsd.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="ibTvN161/egqYuK8" Content-Disposition: inline User-Agent: Mutt/1.4i Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --ibTvN161/egqYuK8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Following up the problem reported by few people running Sony VAIO FX series (601, 604 models with VIA chipsets) I made a little research. When the pcm driver is attached with the help of snd_via82c686.ko module (loaded via loader) the sound card (chip1) gets properly detected as pcm0. However, the whole thing stops when the configure() routine enables interrupts. Indeed, we are flooded with interrupts (via_intr() is getting called over and over). I've checked in VIA chip registers, the both sound card and integrated winmodem are not requesting interrupts at this time. I've written a small stub driver attaching to a winmodem (just printf() in the interrupt routine). This looks to me like VGA interrupt coming over and over. The problem is, that the only useful setting in BIOS is "PnP OS", one cannot distable VGA IRQ apparently. 1) Is FreeBSD in UP mode really sharing IRQs? (can't boot MP kernel on this notebook) 2) Why when NO driver is attached to the irq 5 the system works properly? Unfortunately, my PCI knowledge is very poor, and I got so far only thanks to the excellent VIA chipset docs. BTW. -current installation kernel crashes at startup, however some reported success via the source upgrade (no problems with pcm). -- << Marcin Cieslak // saper@system.pl >> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.7-PRERELEASE #9: Thu Sep 19 22:46:27 GMT 2002 saper@saperski.saper.info:/usr/obj/usr/src/sys/FFM Timecounter "i8254" frequency 1193182 Hz CPU: mobile AMD Duron(tm) (1100.05-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x662 Stepping = 2 Features=0x383f9ff AMD Features=0xc0400000 real memory = 268435456 (262144K bytes) avail memory = 256446464 (250436K bytes) Preloaded elf kernel "kernel" at 0xc0498000. Preloaded elf module "linux.ko" at 0xc049809c. Pentium Pro MTRR support enabled md0: Malloc disk Using $PIR table, 6 entries at 0xc00fdf60 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at 0.0 irq 5 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0x1c40-0x1c4f at device 7.1 on pci0 atapci0: Correcting VIA config for southbridge data corruption bug ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0x1c00-0x1c1f irq 9 at device 7.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uscanner0: Hewlett-Packard HP ScanJet 3300C, rev 1.00/0.00, addr 2 uhci1: port 0x1c20-0x1c3f irq 9 at device 7.3 on pci0 usb1: on uhci1 usb1: USB revision 1.0 uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered viapropm0: SMBus I/O base at 0x8100 viapropm0: port 0x8100-0x810f at device 7.4 on pci0 viapropm0: SMBus revision code 0x40 smb0: on smbus0 chip1: port 0x1c50-0x1c53,0x1c54-0x1c57,0x1000-0x10ff irq 5 at device 7.5 on pci0 chip2: port 0x1400-0x14ff irq 5 at device 7.6 on pci0 pcic0: irq 9 at device 10.0 on pci0 pcic0: PCI Memory allocated: 0x88000000 pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq] pccard0: on pcic0 pcic1: irq 10 at device 10.1 on pci0 pcic1: PCI Memory allocated: 0x88001000 pcic1: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq] pccard1: on pcic1 pci0: (vendor=0x104c, dev=0x8020) at 14.0 irq 9 rl0: port 0x1800-0x18ff mem 0xe8004800-0xe80048ff irq 10 at device 16.0 on pci0 rl0: Ethernet address: 08:00:46:5a:c2:b1 miibus0: on rl0 rlphy0: on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto orm0: