Re: 2.6.8.1-mm1 and Asus L3C : problematic change found, can be reverted.Real fix still missing

From: Eric Valette
Date: Thu Aug 19 2004 - 06:11:16 EST


Eric Valette wrote:
Li, Shaohua wrote:

Eric,
The patch for bug 3049 has been in 2.6.8.1 and should fix the IO port
problem. If the Asus quirk is just because of IO port problem, I'd like
to remove it. Note PNP driver also reserves the IO port for the SMBus
and lets SMBus driver to use it. ACPI motherboard driver behaves the
same as PNP driver.


Unfortunately, as I understand it, the fix is done to "unhide" the SMBus that otherwyse is not seen but it has unexpected side effect of messing ioports allocation/reservation. I guess lspci with and without the fix could help to understand the problem. Here is the comment on top of the function :

OK I've put my debugger hat and tried to go a little further. Here is an (I hope) interesting PCI tweaking session. For helping the readder here are the meaning of some value :
1) 8086:248c : Intel Corp. 82801CAM ISA Bridge (LPC) (rev 02)
2) 8086:2483 : the PCI ID for the i801 SMB bus
3) 0xF2 the register offset used to enable the SBus in the ISA Bridge
4) 0x20 = SMBBA = SMBbus base address in the i2c-i801.c file


root@pink-floyd:/home/valette# setpci -H1 -v -d 8086:248c 0xF2.W 00:1f.0:f2 = 8409
root@pink-floyd:/home/valette# pcitweak -l > pci_devices_list_without_enabling_SMBus 2>&1
root@pink-floyd:/home/valette# setpci -H1 -v -d 8086:248c 0xF2.W=8401 00:1f.0:f2 8401
root@pink-floyd:/home/valette# pcitweak -l > pci_devices_list_after_enabling_SMBus 2>&1
root@pink-floyd:/home/valette# diff pci_devices_list_without_enabling_SMBus pci_devices_list_after_enabling_SMBus
10a11
> PCI: 00:1f:3: chip 8086,2483 card 1043,1628 rev 02 class 0c,05,00 hdr 00
root@pink-floyd:/home/valette# setpci -H1 -v -d 8086:2483 20.w
00:1f.3:20 = e801

So my deduction are :
1) The trick for enabling the SMBbus is working,
2) The configured base IO range register value is e801 leading to theoritically request the e800 -> e808 IO region and curiously not e810 as requested described by the DTST...

Now I do not understand why it get something else as io port region no that the ACPI fix for bug 3049 remove the IORESOURCE_BUSY flags


--
__
/ ` Eric Valette
/-- __ o _. 6 rue Paul Le Flem
(___, / (_(_(__ 35740 Pace

Tel: +33 (0)2 99 85 26 76 Fax: +33 (0)2 99 85 26 76
E-mail: eric.valette@xxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/