From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 9 10:21:23 2009 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C562106566C; Wed, 9 Sep 2009 10:21:23 +0000 (UTC) (envelope-from avg@freebsd.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 5019B8FC0A; Wed, 9 Sep 2009 10:21:21 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id NAA20692; Wed, 09 Sep 2009 13:21:20 +0300 (EEST) (envelope-from avg@freebsd.org) Message-ID: <4AA7819F.3020800@freebsd.org> Date: Wed, 09 Sep 2009 13:21:19 +0300 From: Andriy Gapon User-Agent: Thunderbird 2.0.0.22 (X11/20090724) MIME-Version: 1.0 To: John Baldwin References: <4AA41D4A.4080805@freebsd.org> <200909081335.50980.jhb@freebsd.org> <4AA6B9FC.1070205@freebsd.org> <200909081655.56006.jhb@freebsd.org> In-Reply-To: <200909081655.56006.jhb@freebsd.org> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: freebsd-acpi@freebsd.org Subject: Re: intpm: add support for AMD SBxxx SMBus controller X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 10:21:23 -0000 on 08/09/2009 23:55 John Baldwin said the following: > > Does it have a valid intpin config register? Maybe '2' means it has a legacy > INTx PCI interrupt. Just for future references, conveniently organized links to the specs can be found here: http://www.coreboot.org/Datasheets#AMD_SB700.2FSB710.2FSB750 Description of PCI interrupt router implies that there is a dedicated SMBus interrupt line (internal to the chip, I guess). >From BIOS Developer's Guide: > 4.1 PCI IRQ Routing Registers > The SB700 uses one pair of I/O ports to do the PCI IRQ routing. The ports are at C00h/C01h. > Address Register Name Description > C00h PCI_Intr_Index PCI IRQ Routing Index > 0 – INTA# > 1 – INTB# > 2 – INTC# > 3 – INTD# > 4 – SCI > 5 – SMBus interrupt > 9 – INTE# > 0Ah – INTF# > 0Bh – INTG# > 0Ch – INTH# > C01h PCI_Intr_Data 0 ~ 15 : IRQ0 to IRQ15 > IRQ0, 2, 8, 13 are reserved Register Reference Guide in addition says: > Pci_Intr_Data register > Note: If IOXAPIC is enabled, software must make sure interrupts are not re-routed; > ie, they should all be set to 0. > When IOXAPIC is enabled, [...] SMBus interrupt is routed to INTIN[20], [...] I believe that nowadays IOXAPIC would be typically enabled. I tried to hardwire intpm to use IRQ20 on SB700, but no SMBus interrupt was ever seen. And, just in case, here is what the spec says about normal PCI interrupt configuration registers (of the PCI device that hosts SMBus controller): > Interrupt Line - R - 8 bits - [PCI_Reg: 3Ch] > Field Name Bits Default Description > Interrupt Line 7:0 00h This module does not generate interrupt. This register is > hardcoded to 0. > Interrupt Pin – R - 8 bits - [PCI_Reg: 3Dh] > Field Name Bits Default Description > Interrupt Pin 7:0 00h This register specifies which interrupt pin the device issues. > This module does not generate interrupt but contains the > actual interrupt controller. This register is hardcoded to 0. P.S. sorry if formatting would come up ugly on your side. -- Andriy Gapon