All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
@ 2005-05-19  6:23 ` Dominik Brodowski
  0 siblings, 0 replies; 17+ messages in thread
From: Dominik Brodowski @ 2003-03-19 21:18 UTC (permalink / raw)
  To: alan; +Cc: linux-kernel, sensors

Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on
Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the
SMBus PCI bridge for P4B533 and P4PE mainboards.

	   Dominik

diff -ru linux-original/drivers/pci/quirks.c linux/drivers/pci/quirks.c
--- linux-original/drivers/pci/quirks.c	2003-03-19 22:13:57.000000000 +0100
+++ linux/drivers/pci/quirks.c	2003-03-19 22:14:52.000000000 +0100
@@ -647,6 +647,53 @@
 }
 
 /*
+ * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge
+ * is not activated. The myth is that Asus said that they do not want the
+ * users to be irritated by just another PCI Device in the Win98 device
+ * manager. (see the file prog/hotplug/README.p4b in the lm_sensors 
+ * package 2.7.0 for details)
+ *
+ * The SMBus PCI Device can be activated by setting a bit in the ICH LPC 
+ * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it 
+ * becomes necessary to do this tweak in two steps -- I've chosen the Host
+ * bridge as trigger.
+ */
+
+static int __initdata asus_hides_smbus = 0;
+
+static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev)
+{
+	if (likely(dev->subsystem_vendor != PCI_VENDOR_ID_ASUSTEK))
+		return;
+
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845_HB) && 
+	    (dev->subsystem_device == 0x8088)) /* P4B533 */
+		asus_hides_smbus = 1;
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845G_HB) &&
+	    (dev->subsystem_device == 0x80b2)) /* P4PE */
+		asus_hides_smbus = 1;
+	return;
+}
+
+static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
+{
+	u16 val;
+	
+	if (likely(!asus_hides_smbus))
+		return;
+
+	pci_read_config_word(dev, 0xF2, &val);
+	if (val & 0x8) {
+		pci_write_config_word(dev, 0xF2, val & (~0x8));
+		pci_read_config_word(dev, 0xF2, &val);
+		if(val & 0x8)
+			printk(KERN_INFO "PCI: i801 SMBus device continues to play 'hide and seek'! 0x%x\n", val);
+		else
+			printk(KERN_INFO "PCI: Enabled i801 SMBus device\n");
+	}
+}
+
+/*
  *  The main table of quirks.
  */
 
@@ -724,6 +771,13 @@
 	
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82375,	quirk_eisa_bridge },
 
+	/*
+	 * on Asus P4B boards, the i801SMBus device is disabled at startup.
+	 */
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845G_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801DB_0,	asus_hides_smbus_lpc },
+
 	{ 0 }
 };
 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
  2005-05-19  6:23 ` Dominik Brodowski
@ 2005-05-19  6:23   ` Martin Schlemmer
  -1 siblings, 0 replies; 17+ messages in thread
From: Martin Schlemmer @ 2003-03-20  7:48 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: alan, KML, sensors

On Wed, 2003-03-19 at 23:18, Dominik Brodowski wrote:
> Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on
> Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the
> SMBus PCI bridge for P4B533 and P4PE mainboards.
> 

The ASUS P4T533-C J(850E Chipset) does that as well .... think you might
tweak the patch for this board ?  I can test if you can ....


Regards,

-- 
Martin Schlemmer



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
  2005-05-19  6:23   ` Martin Schlemmer
@ 2005-05-19  6:23     ` Dominik Brodowski
  -1 siblings, 0 replies; 17+ messages in thread
From: Dominik Brodowski @ 2003-03-20  8:41 UTC (permalink / raw)
  To: Martin Schlemmer; +Cc: alan, KML, sensors

On Thu, Mar 20, 2003 at 09:48:35AM +0200, Martin Schlemmer wrote:
> On Wed, 2003-03-19 at 23:18, Dominik Brodowski wrote:
> > Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on
> > Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the
> > SMBus PCI bridge for P4B533 and P4PE mainboards.
> > 
> 
> The ASUS P4T533-C J(850E Chipset) does that as well .... think you might
> tweak the patch for this board ?  I can test if you can ....

Sure: please send me the output of "pcitweak -l" or "lspci -vv".

	Dominik

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
  2005-05-19  6:23     ` Dominik Brodowski
@ 2005-05-19  6:23       ` Martin Schlemmer
  -1 siblings, 0 replies; 17+ messages in thread
From: Martin Schlemmer @ 2003-03-20  9:36 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: alan, KML, sensors

On Thu, 2003-03-20 at 10:41, Dominik Brodowski wrote:

> > The ASUS P4T533-C J(850E Chipset) does that as well .... think you might
> > tweak the patch for this board ?  I can test if you can ....
> 
> Sure: please send me the output of "pcitweak -l" or "lspci -vv".
> 
> 	Dominik

Right, will do tonight when I get home.


-- 
Martin Schlemmer



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
  2005-05-19  6:23     ` Dominik Brodowski
@ 2005-05-19  6:23       ` Martin Schlemmer
  -1 siblings, 0 replies; 17+ messages in thread
From: Martin Schlemmer @ 2003-03-21  8:08 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: alan, KML, sensors


[-- Attachment #1.1: Type: text/plain, Size: 697 bytes --]

On Thu, 20 Mar 2003 09:41:48 +0100
Dominik Brodowski <linux@brodo.de> wrote:

> On Thu, Mar 20, 2003 at 09:48:35AM +0200, Martin Schlemmer wrote:
> > On Wed, 2003-03-19 at 23:18, Dominik Brodowski wrote:
> > > Asus hides the SMBus PCI bridge within the ICH2 or ICH4
> > > southbridge on Asus P4B/P4PE mainboards. The attached patch adds a
> > > quirk to re-enable the SMBus PCI bridge for P4B533 and P4PE
> > > mainboards.
> > > 
> > 
> > The ASUS P4T533-C J(850E Chipset) does that as well .... think you
> > might tweak the patch for this board ?  I can test if you can ....
> 
> Sure: please send me the output of "pcitweak -l" or "lspci -vv".
> 

Here you go


Thanks,

-- 

Martin Schlemmer


[-- Attachment #1.2: lspci.txt --]
[-- Type: application/octet-stream, Size: 6281 bytes --]

00:00.0 Host bridge: Intel Corp. 82850 850 (Tehama) Chipset Host Bridge (MCH) (rev 04)
	Subsystem: Asustek Computer, Inc.: Unknown device 8030
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 0
	Region 0: Memory at f0000000 (32-bit, prefetchable) [size=128M]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=31 SBA+ 64bit- FW+ Rate=x1,x2,x4
		Command: RQ=0 SBA+ AGP+ 64bit- FW+ Rate=x4

00:01.0 PCI bridge: Intel Corp. 82850 850 (Tehama) Chipset AGP Bridge (rev 04) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
	Memory behind bridge: ea000000-eb4fffff
	Prefetchable memory behind bridge: eb700000-efffffff
	BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-

00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 04) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
	I/O behind bridge: 0000b000-0000dfff
	Memory behind bridge: e8800000-e9ffffff
	Prefetchable memory behind bridge: eb500000-eb6fffff
	BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 04)
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0

00:1f.1 IDE interface: Intel Corp. 82801BA IDE U100 (rev 04) (prog-if 80 [Master])
	Subsystem: Asustek Computer, Inc.: Unknown device 8028
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Region 4: I/O ports at a800 [size=16]

00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 04) (prog-if 00 [UHCI])
	Subsystem: Asustek Computer, Inc.: Unknown device 8028
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin D routed to IRQ 19
	Region 4: I/O ports at a400 [size=32]

00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 04) (prog-if 00 [UHCI])
	Subsystem: Asustek Computer, Inc.: Unknown device 8028
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin C routed to IRQ 23
	Region 4: I/O ports at a000 [size=32]

00:1f.5 Multimedia audio controller: Intel Corp. 82801BA/BAM AC'97 Audio (rev 04)
	Subsystem: Asustek Computer, Inc.: Unknown device 8095
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin B routed to IRQ 17
	Region 0: I/O ports at 9800 [size=256]
	Region 1: I/O ports at 9400 [size=64]

01:00.0 VGA compatible controller: nVidia Corporation NV20 [GeForce3 Ti500] (rev a3) (prog-if 00 [VGA])
	Subsystem: Asustek Computer, Inc. V8200 T5
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 248 (1250ns min, 250ns max)
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at ea000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at ec000000 (32-bit, prefetchable) [size=64M]
	Region 2: Memory at eb800000 (32-bit, prefetchable) [size=512K]
	Expansion ROM at eb7f0000 [disabled] [size=64K]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [44] AGP version 2.0
		Status: RQ=31 SBA+ 64bit- FW+ Rate=x1,x2,x4
		Command: RQ=31 SBA+ AGP+ 64bit- FW+ Rate=x4

02:0a.0 Unknown mass storage controller: Promise Technology, Inc. 20268 (rev 02) (prog-if 85)
	Subsystem: Promise Technology, Inc. Ultra100TX2
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (1000ns min, 4500ns max), cache line size 08
	Interrupt: pin A routed to IRQ 22
	Region 0: I/O ports at d800 [size=8]
	Region 1: I/O ports at d400 [size=4]
	Region 2: I/O ports at d000 [size=8]
	Region 3: I/O ports at b800 [size=4]
	Region 4: I/O ports at b400 [size=16]
	Region 5: Memory at e9800000 (32-bit, non-prefetchable) [size=16K]
	Expansion ROM at <unassigned> [disabled] [size=16K]
	Capabilities: [60] Power Management version 1
		Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

02:0c.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
	Subsystem: Intel Corp. EtherExpress PRO/100+ Management Adapter
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (2000ns min, 14000ns max), cache line size 08
	Interrupt: pin A routed to IRQ 20
	Region 0: Memory at e9000000 (32-bit, non-prefetchable) [size=4K]
	Region 1: I/O ports at b000 [size=64]
	Region 2: Memory at e8800000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at <unassigned> [disabled] [size=1M]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=2 PME-


[-- Attachment #1.3: pcitweak.txt --]
[-- Type: application/octet-stream, Size: 924 bytes --]

PCI: Probing config type using method 1
PCI: Config type is 1
PCI: PCI scan (all values are in hex)
PCI: 00:00:0: chip 8086,2530 card 1043,8030 rev 04 class 06,00,00 hdr 00
PCI: 00:01:0: chip 8086,2532 card 0000,0000 rev 04 class 06,04,00 hdr 01
PCI: 00:1e:0: chip 8086,244e card 0000,0000 rev 04 class 06,04,00 hdr 01
PCI: 00:1f:0: chip 8086,2440 card 0000,0000 rev 04 class 06,01,00 hdr 80
PCI: 00:1f:1: chip 8086,244b card 1043,8028 rev 04 class 01,01,80 hdr 00
PCI: 00:1f:2: chip 8086,2442 card 1043,8028 rev 04 class 0c,03,00 hdr 00
PCI: 00:1f:4: chip 8086,2444 card 1043,8028 rev 04 class 0c,03,00 hdr 00
PCI: 00:1f:5: chip 8086,2445 card 1043,8095 rev 04 class 04,01,00 hdr 00
PCI: 01:00:0: chip 10de,0202 card 1043,405b rev a3 class 03,00,00 hdr 00
PCI: 02:0a:0: chip 105a,4d68 card 105a,4d68 rev 02 class 01,80,85 hdr 00
PCI: 02:0c:0: chip 8086,1229 card 8086,000c rev 08 class 02,00,00 hdr 00
PCI: End of PCI scan

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
  2005-05-19  6:23       ` Martin Schlemmer
  (?)
@ 2003-03-21 21:32       ` Dominik Brodowski
  -1 siblings, 0 replies; 17+ messages in thread
From: Dominik Brodowski @ 2003-03-21 21:32 UTC (permalink / raw)
  To: Martin Schlemmer; +Cc: KML

On Fri, Mar 21, 2003 at 10:08:01AM +0200, Martin Schlemmer wrote:
> On Thu, 20 Mar 2003 09:41:48 +0100
> Dominik Brodowski <linux@brodo.de> wrote:
> 
> > On Thu, Mar 20, 2003 at 09:48:35AM +0200, Martin Schlemmer wrote:
> > > On Wed, 2003-03-19 at 23:18, Dominik Brodowski wrote:
> > > > Asus hides the SMBus PCI bridge within the ICH2 or ICH4
> > > > southbridge on Asus P4B/P4PE mainboards. The attached patch adds a
> > > > quirk to re-enable the SMBus PCI bridge for P4B533 and P4PE
> > > > mainboards.
> > > > 
> > > 
> > > The ASUS P4T533-C J(850E Chipset) does that as well .... think you
> > > might tweak the patch for this board ?  I can test if you can ....
> > 
> > Sure: please send me the output of "pcitweak -l" or "lspci -vv".
> > 
> 
> Here you go

And here's the patch (for 2.5.65). Please tell me whether it works on your
P4T533 mainboard; if so, I'll re-diff it for -ac and send it to Alan (he 
included the first patch already)

	Dominik

diff -ru linux-original/drivers/pci/quirks.c linux/drivers/pci/quirks.c
--- linux-original/drivers/pci/quirks.c	2003-03-19 22:13:57.000000000 +0100
+++ linux/drivers/pci/quirks.c	2003-03-21 22:28:51.000000000 +0100
@@ -647,6 +647,56 @@
 }
 
 /*
+ * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge
+ * is not activated. The myth is that Asus said that they do not want the
+ * users to be irritated by just another PCI Device in the Win98 device
+ * manager. (see the file prog/hotplug/README.p4b in the lm_sensors 
+ * package 2.7.0 for details)
+ *
+ * The SMBus PCI Device can be activated by setting a bit in the ICH LPC 
+ * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it 
+ * becomes necessary to do this tweak in two steps -- I've chosen the Host
+ * bridge as trigger.
+ */
+
+static int __initdata asus_hides_smbus = 0;
+
+static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev)
+{
+	if (likely(dev->subsystem_vendor != PCI_VENDOR_ID_ASUSTEK))
+		return;
+
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845_HB) && 
+	    (dev->subsystem_device == 0x8088)) /* P4B533 */
+		asus_hides_smbus = 1;
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845G_HB) &&
+	    (dev->subsystem_device == 0x80b2)) /* P4PE */
+		asus_hides_smbus = 1;
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82850_HB) &&
+	    (dev->subsystem_device == 0x8030)) /* P4T533 */
+		asus_hides_smbus = 1;
+	return;
+}
+
+static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
+{
+	u16 val;
+	
+	if (likely(!asus_hides_smbus))
+		return;
+
+	pci_read_config_word(dev, 0xF2, &val);
+	if (val & 0x8) {
+		pci_write_config_word(dev, 0xF2, val & (~0x8));
+		pci_read_config_word(dev, 0xF2, &val);
+		if(val & 0x8)
+			printk(KERN_INFO "PCI: i801 SMBus device continues to play 'hide and seek'! 0x%x\n", val);
+		else
+			printk(KERN_INFO "PCI: Enabled i801 SMBus device\n");
+	}
+}
+
+/*
  *  The main table of quirks.
  */
 
@@ -724,6 +774,15 @@
 	
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82375,	quirk_eisa_bridge },
 
+	/*
+	 * on Asus P4B boards, the i801SMBus device is disabled at startup.
+	 */
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845G_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82850_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801DB_0,	asus_hides_smbus_lpc },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801BA_0,	asus_hides_smbus_lpc },
+
 	{ 0 }
 };
 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI quirk for SMBus bridge on Asus P4 boards)
  2005-05-19  6:23 ` Martin Schlemmer
@ 2005-05-19  6:23     ` Dominik Brodowski
  0 siblings, 0 replies; 17+ messages in thread
From: Dominik Brodowski @ 2003-03-23  9:01 UTC (permalink / raw)
  To: Martin Schlemmer; +Cc: KML, alan, sensors

On Sat, Mar 22, 2003 at 01:15:03PM +0200, Martin Schlemmer wrote:
> Hi
> 
> After I had this P4T533-C's SMBus enabled again on 2.5 kernel with
> Dominik's patch, I thought it will be a good time to try and get
> lm_sensors to work again.
> 
> I did not have much luck with a CVS snapshot of lm_sensors2 though,
> so I hacked 2.5.64bk12 to include the w83781d module.  Yes, it is
> rather hackish, but it seems to work just fine.

works fine over here, AFAICT. thanks!

	Dominik

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Failed to register cdrom with ide.c
  2005-05-19  6:23     ` [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI quirk for SMBus bridge on Asus P4 Dominik Brodowski
  (?)
@ 2003-03-23 15:01     ` Martin Schlemmer
  2003-03-24 18:55       ` Martin Schlemmer
  -1 siblings, 1 reply; 17+ messages in thread
From: Martin Schlemmer @ 2003-03-23 15:01 UTC (permalink / raw)
  To: Alan Cox; +Cc: KML


[-- Attachment #1.1: Type: text/plain, Size: 635 bytes --]

Hi

I am sure somebody else had this issue, but I cannot find it now
by browsing the online lists (subscribed at work only).

Up to and with 2.5.65, the kernel boots fine, but with the new
ide stuff merged, my Toshiba DVD do not register with ide.c, and I
get a kernel panic.  This is with bk3, and -ac3.  If I unplug the
drive, the kernel boots fine.

Attached is relevant part of ide initialization from kernel logs.
It is however from 2.5.64.  If you need from 2.5.65-ac3, let me
know ... its just going to be difficult as I only have this box
and a screen less gateway.


Regards,

-- 

Martin Schlemmer




[-- Attachment #1.2: ide --]
[-- Type: text/plain, Size: 2051 bytes --]

kernel: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
kernel: ICH2: IDE controller at PCI slot 00:1f.1
kernel: ICH2: chipset revision 4
kernel: ICH2: not 100%% native mode: will probe irqs later
kernel:     ide0: BM-DMA at 0xa800-0xa807, BIOS settings: hda:DMA, hdb:pio
kernel:     ide1: BM-DMA at 0xa808-0xa80f, BIOS settings: hdc:DMA, hdd:pio
kernel: hda: ST320011A, ATA DISK drive
kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
kernel: hdc: TOSHIBA DVD-ROM SD-M1612, ATAPI CD/DVD-ROM drive
kernel: ide1 at 0x170-0x177,0x376 on irq 15
kernel: PDC20268: IDE controller at PCI slot 02:0a.0
kernel: PDC20268: chipset revision 2
kernel: PDC20268: not 100%% native mode: will probe irqs later
kernel:     ide2: BM-DMA at 0xb400-0xb407, BIOS settings: hde:pio, hdf:pio
kernel:     ide3: BM-DMA at 0xb408-0xb40f, BIOS settings: hdg:pio, hdh:pio
kernel: hde: ASUS CRW-2410A, ATAPI CD/DVD-ROM drive
kernel: ide2 at 0xd800-0xd807,0xd402 on irq 22
kernel: hdg: MAXTOR 6L040J2, ATA DISK drive
kernel: ide3 at 0xd000-0xd007,0xb802 on irq 22
kernel: hda: host protected area => 1
kernel: hda: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=38792/16/63, UDMA(100)
kernel:  /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4
kernel: hdg: host protected area => 1
kernel: hdg: 78177792 sectors (40027 MB) w/1819KiB Cache, CHS=77557/16/63, UDMA(100)
kernel:  /dev/ide/host2/bus1/target0/lun0: p1
kernel: end_request: I/O error, dev hdc, sector 0
kernel: hdc: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)
kernel: Uniform CD-ROM driver Revision: 3.12
kernel: end_request: I/O error, dev hdc, sector 0
kernel: scsi0 : SCSI host adapter emulation for IDE ATAPI devices
kernel:   Vendor: ASUS      Model: CRW-2410A         Rev: 1.0
kernel:   Type:   CD-ROM                             ANSI SCSI revision: 02
kernel: sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
kernel: Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Failed to register cdrom with ide.c
  2003-03-23 15:01     ` Failed to register cdrom with ide.c Martin Schlemmer
@ 2003-03-24 18:55       ` Martin Schlemmer
  0 siblings, 0 replies; 17+ messages in thread
From: Martin Schlemmer @ 2003-03-24 18:55 UTC (permalink / raw)
  To: Alan Cox; +Cc: KML, Dominik Brodowski

[-- Attachment #1: Type: text/plain, Size: 773 bytes --]

On Sun, 2003-03-23 at 17:01, Martin Schlemmer wrote:
> Hi
> 
> I am sure somebody else had this issue, but I cannot find it now
> by browsing the online lists (subscribed at work only).
> 
> Up to and with 2.5.65, the kernel boots fine, but with the new
> ide stuff merged, my Toshiba DVD do not register with ide.c, and I
> get a kernel panic.  This is with bk3, and -ac3.  If I unplug the
> drive, the kernel boots fine.
> 
> Attached is relevant part of ide initialization from kernel logs.
> It is however from 2.5.64.  If you need from 2.5.65-ac3, let me
> know ... its just going to be difficult as I only have this box
> and a screen less gateway.
> 

Dominik's patch fixed it for me as well, thanks!


Regards,

-- 

Martin Schlemmer




[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI
@ 2005-05-19  6:23 Martin Schlemmer
  2005-05-19  6:23 ` Martin Schlemmer
  0 siblings, 1 reply; 17+ messages in thread
From: Martin Schlemmer @ 2005-05-19  6:23 UTC (permalink / raw)
  To: lm-sensors

Skipped content of type multipart/mixed-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20030322/4b6d8c8e/attachment.bin

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI
  2005-05-19  6:23 [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI Martin Schlemmer
@ 2005-05-19  6:23 ` Martin Schlemmer
  2005-05-19  6:23     ` [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI quirk for SMBus bridge on Asus P4 Dominik Brodowski
  0 siblings, 1 reply; 17+ messages in thread
From: Martin Schlemmer @ 2005-05-19  6:23 UTC (permalink / raw)
  To: lm-sensors

Hi

After I had this P4T533-C's SMBus enabled again on 2.5 kernel with
Dominik's patch, I thought it will be a good time to try and get
lm_sensors to work again.

I did not have much luck with a CVS snapshot of lm_sensors2 though,
so I hacked 2.5.64bk12 to include the w83781d module.  Yes, it is
rather hackish, but it seems to work just fine.

This is with the standard i2c that comes with 2.5.64bk12:

----------------------------------------------------
i2c-i801.o version 2.7.0 (20021208)
i2c-dev.o: Registered 'SMBus I801 adapter at e800' as minor 0
w83781d.o version 2.7.0 (20021208)
----------------------------------------------------

----------------------------------------------------
# sensors
w83782d-i2c-0-2d
Adapter: SMBus I801 adapter at e800
Algorithm: Non-I2C SMBus adapter
VCore 1:   +1.45 V  (min =  +1.21 V, max =  +1.48 V)              (beep)
VCore 2:   +1.74 V  (min =  +1.21 V, max =  +1.48 V)              (beep)
+3.3V:     +3.28 V  (min =  +2.97 V, max =  +3.63 V)              (beep)
+5V:       +5.11 V  (min =  +4.50 V, max =  +5.48 V)              (beep)
+12V:     +11.86 V  (min = +10.79 V, max = +13.11 V)              
-12V:     -12.03 V  (min = -13.21 V, max = -10.90 V)              
-5V:       -5.10 V  (min =  -5.51 V, max =  -4.51 V)              
V5SB:      +0.13 V  (min =  +0.13 V, max =  +0.13 V)              
VBat:      +0.08 V  (min =  +0.08 V, max =  +0.08 V)              
CPU Fan:  4440 RPM  (min = 3000 RPM, div = 2)                     (beep)
M/B Temp:    +28?C  (limit =  +60?C) sensor = thermistor          (beep)
CPU Temp:  +46.0?C  (limit = +60?C, hysteresis =  +50?C) sensor thermistor           (beep)
VC Spec: +1.350 V
----------------------------------------------------

It should apply cleanly against 2.5.65, but on 56k, so will be a while
before its finished downloading.

Comments welcome.


Regards,

-- 

Martin Schlemmer


-------------- next part --------------
A non-text attachment was scrubbed...
Name: i2c-chip-w83781d.patch
Type: application/octet-stream
Size: 79082 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20030322/af3457d8/i2c-chip-w83781d.obj

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
@ 2005-05-19  6:23 ` Dominik Brodowski
  0 siblings, 0 replies; 17+ messages in thread
From: Dominik Brodowski @ 2005-05-19  6:23 UTC (permalink / raw)
  To: alan; +Cc: linux-kernel, sensors

Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on
Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the
SMBus PCI bridge for P4B533 and P4PE mainboards.

	   Dominik

diff -ru linux-original/drivers/pci/quirks.c linux/drivers/pci/quirks.c
--- linux-original/drivers/pci/quirks.c	2003-03-19 22:13:57.000000000 +0100
+++ linux/drivers/pci/quirks.c	2003-03-19 22:14:52.000000000 +0100
@@ -647,6 +647,53 @@
 }
 
 /*
+ * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge
+ * is not activated. The myth is that Asus said that they do not want the
+ * users to be irritated by just another PCI Device in the Win98 device
+ * manager. (see the file prog/hotplug/README.p4b in the lm_sensors 
+ * package 2.7.0 for details)
+ *
+ * The SMBus PCI Device can be activated by setting a bit in the ICH LPC 
+ * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it 
+ * becomes necessary to do this tweak in two steps -- I've chosen the Host
+ * bridge as trigger.
+ */
+
+static int __initdata asus_hides_smbus = 0;
+
+static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev)
+{
+	if (likely(dev->subsystem_vendor != PCI_VENDOR_ID_ASUSTEK))
+		return;
+
+	if ((dev->device = PCI_DEVICE_ID_INTEL_82845_HB) && 
+	    (dev->subsystem_device = 0x8088)) /* P4B533 */
+		asus_hides_smbus = 1;
+	if ((dev->device = PCI_DEVICE_ID_INTEL_82845G_HB) &&
+	    (dev->subsystem_device = 0x80b2)) /* P4PE */
+		asus_hides_smbus = 1;
+	return;
+}
+
+static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
+{
+	u16 val;
+	
+	if (likely(!asus_hides_smbus))
+		return;
+
+	pci_read_config_word(dev, 0xF2, &val);
+	if (val & 0x8) {
+		pci_write_config_word(dev, 0xF2, val & (~0x8));
+		pci_read_config_word(dev, 0xF2, &val);
+		if(val & 0x8)
+			printk(KERN_INFO "PCI: i801 SMBus device continues to play 'hide and seek'! 0x%x\n", val);
+		else
+			printk(KERN_INFO "PCI: Enabled i801 SMBus device\n");
+	}
+}
+
+/*
  *  The main table of quirks.
  */
 
@@ -724,6 +771,13 @@
 	
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82375,	quirk_eisa_bridge },
 
+	/*
+	 * on Asus P4B boards, the i801SMBus device is disabled at startup.
+	 */
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845G_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801DB_0,	asus_hides_smbus_lpc },
+
 	{ 0 }
 };
 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
@ 2005-05-19  6:23   ` Martin Schlemmer
  0 siblings, 0 replies; 17+ messages in thread
From: Martin Schlemmer @ 2005-05-19  6:23 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: alan, KML, sensors

On Wed, 2003-03-19 at 23:18, Dominik Brodowski wrote:
> Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on
> Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the
> SMBus PCI bridge for P4B533 and P4PE mainboards.
> 

The ASUS P4T533-C J(850E Chipset) does that as well .... think you might
tweak the patch for this board ?  I can test if you can ....


Regards,

-- 
Martin Schlemmer


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
@ 2005-05-19  6:23     ` Dominik Brodowski
  0 siblings, 0 replies; 17+ messages in thread
From: Dominik Brodowski @ 2005-05-19  6:23 UTC (permalink / raw)
  To: Martin Schlemmer; +Cc: alan, KML, sensors

On Thu, Mar 20, 2003 at 09:48:35AM +0200, Martin Schlemmer wrote:
> On Wed, 2003-03-19 at 23:18, Dominik Brodowski wrote:
> > Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on
> > Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the
> > SMBus PCI bridge for P4B533 and P4PE mainboards.
> > 
> 
> The ASUS P4T533-C J(850E Chipset) does that as well .... think you might
> tweak the patch for this board ?  I can test if you can ....

Sure: please send me the output of "pcitweak -l" or "lspci -vv".

	Dominik

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
@ 2005-05-19  6:23       ` Martin Schlemmer
  0 siblings, 0 replies; 17+ messages in thread
From: Martin Schlemmer @ 2005-05-19  6:23 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: alan, KML, sensors

On Thu, 2003-03-20 at 10:41, Dominik Brodowski wrote:

> > The ASUS P4T533-C J(850E Chipset) does that as well .... think you might
> > tweak the patch for this board ?  I can test if you can ....
> 
> Sure: please send me the output of "pcitweak -l" or "lspci -vv".
> 
> 	Dominik

Right, will do tonight when I get home.


-- 
Martin Schlemmer


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards
@ 2005-05-19  6:23       ` Martin Schlemmer
  0 siblings, 0 replies; 17+ messages in thread
From: Martin Schlemmer @ 2005-05-19  6:23 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: alan, KML, sensors

Skipped content of type multipart/mixed-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20030321/79049585/attachment.bin

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI quirk for SMBus bridge on Asus P4
@ 2005-05-19  6:23     ` Dominik Brodowski
  0 siblings, 0 replies; 17+ messages in thread
From: Dominik Brodowski @ 2005-05-19  6:23 UTC (permalink / raw)
  To: Martin Schlemmer; +Cc: KML, alan, sensors

On Sat, Mar 22, 2003 at 01:15:03PM +0200, Martin Schlemmer wrote:
> Hi
> 
> After I had this P4T533-C's SMBus enabled again on 2.5 kernel with
> Dominik's patch, I thought it will be a good time to try and get
> lm_sensors to work again.
> 
> I did not have much luck with a CVS snapshot of lm_sensors2 though,
> so I hacked 2.5.64bk12 to include the w83781d module.  Yes, it is
> rather hackish, but it seems to work just fine.

works fine over here, AFAICT. thanks!

	Dominik

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2005-05-19  6:23 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-19 21:18 [PATCH 2.5] PCI quirk for SMBus bridge on Asus P4 boards Dominik Brodowski
2005-05-19  6:23 ` Dominik Brodowski
2003-03-20  7:48 ` Martin Schlemmer
2005-05-19  6:23   ` Martin Schlemmer
2003-03-20  8:41   ` Dominik Brodowski
2005-05-19  6:23     ` Dominik Brodowski
2003-03-20  9:36     ` Martin Schlemmer
2005-05-19  6:23       ` Martin Schlemmer
2003-03-21  8:08     ` Martin Schlemmer
2005-05-19  6:23       ` Martin Schlemmer
2003-03-21 21:32       ` Dominik Brodowski
2005-05-19  6:23 [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI Martin Schlemmer
2005-05-19  6:23 ` Martin Schlemmer
2003-03-23  9:01   ` [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI quirk for SMBus bridge on Asus P4 boards) Dominik Brodowski
2005-05-19  6:23     ` [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI quirk for SMBus bridge on Asus P4 Dominik Brodowski
2003-03-23 15:01     ` Failed to register cdrom with ide.c Martin Schlemmer
2003-03-24 18:55       ` Martin Schlemmer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.