From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755325AbZBVMHA (ORCPT ); Sun, 22 Feb 2009 07:07:00 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753682AbZBVMGu (ORCPT ); Sun, 22 Feb 2009 07:06:50 -0500 Received: from mail-in-08.arcor-online.net ([151.189.21.48]:51602 "EHLO mail-in-08.arcor-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753011AbZBVMGq (ORCPT ); Sun, 22 Feb 2009 07:06:46 -0500 X-DKIM: Sendmail DKIM Filter v2.6.0 mail-in-01.arcor-online.net D9B79332C38 From: Prakash Punnoor To: Robert Hancock Subject: Re: [PATCH] pci: enable MSI on 8132 Date: Sun, 22 Feb 2009 13:08:54 +0100 User-Agent: KMail/1.11.0 (Linux/2.6.29-rc5; KDE/4.2.0; x86_64; ; ) Cc: Yinghai Lu , "Eric W. Biederman" , Jesse Barnes , Andrew Morton , david@lang.hm, Matthew Wilcox , "linux-kernel" , linux-scsi@vger.kernel.org, DL-MPTFusionLinux@lsi.com, linux-pci@vger.kernel.org References: <499FD623.1010105@kernel.org> <49A04F1E.7020006@gmail.com> In-Reply-To: <49A04F1E.7020006@gmail.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200902221308.55053.prakash@punnoor.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Samstag 21 Februar 2009 19:59:42 Robert Hancock wrote: > Yinghai Lu wrote: > > Eric W. Biederman wrote: > >> Yinghai Lu writes: > >>> On Fri, Feb 20, 2009 at 11:50 PM, Eric W. Biederman > >>> > >>> wrote: > >>>> Robert Hancock writes: > >>>>> Is there a reason why we can't just enable the HT MSI mapping for any > >>>>> bridge device that has that PCI capability and is underneath an HT > >>>>> bridge? [try 2] Hi, I just could hunt down one MSI related problem on my nvidia MCP51 board. It seems the nvida msi quirk enables MSI cap for one device too much. Because afterwards the intel_snd_hda driver will hang the kernel when trying to enable msi (and even mess up my text console). I saw this behaviour on every kernel since this quirk was introduced. (At least the intel hda driver doesn't try to enable msi by default). This hack works for me (on 2.6.29-rc5): --- drivers/pci/quirks.c 2009-02-22 12:44:37.156617230 +0100 +++ /usr/src/linux/drivers/pci/quirks.c 2009-02-22 12:45:05.752616467 +0100 @@ -2018,7 +2018,7 @@ u8 flags; if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, - &flags) == 0) { + &flags) == 0 && dev->device != 0x270) { dev_info(&dev->dev, "Enabling HT MSI Mapping\n"); pci_write_config_byte(dev, pos + HT_MSI_FLAGS, Then the intel hda driver works in MSI mode without problems. Would it be possible to include this as a proper quirk? The offending device is this: 00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2) Cheers, Prakash A full lspci listing: 00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2) Subsystem: ASUSTeK Computer Inc. Device 81c0 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR+ TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- Reset- FastB2B- PriDiscTmr- SecDiscTmr+ DiscTmrStat- DiscTmrSERREn- Capabilities: [b8] Subsystem: Gammagraphx, Inc. (or missing ID) Device 0000 Capabilities: [8c] HyperTransport: MSI Mapping Enable+ Fixed- Mapping Address Base: 00000000fee00000 00: de 10 6f 02 07 00 b0 00 a2 01 04 06 00 00 81 00 10: 00 00 00 00 00 00 00 00 00 01 01 80 b0 b0 80 02 20: d0 fd d0 fd e0 fd e0 fd 00 00 00 00 00 00 00 00 30: 00 00 00 00 b8 00 00 00 00 00 00 00 ff 00 04 02 40: 00 00 03 00 01 00 02 00 07 00 00 00 00 00 44 00 50: 00 00 fe cf 00 00 00 00 ff 1f ff 1f 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 08 00 01 a8 90: 00 00 e0 fe 00 00 00 00 00 00 00 00 00 00 00 00 a0: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 ff ff 00 00 0d 8c 00 00 00 00 00 00 c0: 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2) Subsystem: ASUSTeK Computer Inc. Device 81cb Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- 00: 22 10 03 11 00 00 10 00 00 00 00 06 00 00 80 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 f0 00 00 00 00 00 00 00 00 00 00 00 40: 00 01 00 00 40 00 10 0a 00 00 00 00 00 00 00 00 50: 80 e4 a8 85 19 00 00 00 00 00 00 00 00 00 26 08 60: 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 11 01 32 51 21 40 70 50 00 2a 00 08 17 21 00 00 80: 00 00 07 23 13 21 13 21 00 00 00 00 00 00 00 00 90: 03 00 00 00 10 00 00 00 00 ac 2f 01 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 30 35 22 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 01 a7 0d 00 00 00 c0 08 26 26 26 00 e0: 00 00 00 00 20 1a 52 00 19 17 00 00 00 00 00 00 f0: 0f 00 10 00 00 00 00 00 00 00 00 00 b2 0f 04 00 01:05.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI]) Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-