Bug 136762

Summary: [intpm] intpm can't map resources of compatible IXP SMBus controller
Product: Base System Reporter: Aurélien Méré <freebsd>
Component: kernAssignee: Andriy Gapon <avg>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Aurélien Méré 2009-07-14 18:00:03 UTC
ichsmb module recognizes correctly the ATI IXP SB400 SMBus controller, which is partially compatible with PIIX SMB controllers, but can't map correctly its resources :

[root@milkyway ~]# kldload ichsmb
[root@milkyway ~]# dmesg
ichsmb0: <SMBus controller> port 0x900-0x90f at device 20.0 on pci0
ichsmb0: can't map I/O
device_attach: ichsmb0 attach returned 6

Btw it seems support of this chip has been achieved in OpenBSD piixpm driver according to its man page. It seems also the specified I/O ports are not used by any other device.

Thanks for your help. Below are boot log and pci devices list.

Complete bootlog:
Jul 12 16:44:00 milkyway syslogd: kernel boot file is /boot/kernel/kernel
Jul 12 16:44:00 milkyway kernel: Copyright (c) 1992-2009 The FreeBSD Project.
Jul 12 16:44:00 milkyway kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
Jul 12 16:44:00 milkyway kernel: The Regents of the University of California. All rights reserved.
Jul 12 16:44:00 milkyway kernel: FreeBSD is a registered trademark of The FreeBSD Foundation.
Jul 12 16:44:00 milkyway kernel: FreeBSD 7.2-RELEASE-p2 #0: Sat Jul 11 02:06:28 CEST 2009
Jul 12 16:44:00 milkyway kernel: kindman@milkyway.adriana.amc-os.com:/usr/obj/usr/src/sys/MILKYWAY64
Jul 12 16:44:00 milkyway kernel: Timecounter "i8254" frequency 1193182 Hz quality 0
Jul 12 16:44:00 milkyway kernel: CPU: AMD Athlon(tm) 64 Processor 3700+ (2188.81-MHz K8-class CPU)
Jul 12 16:44:00 milkyway kernel: Origin = "AuthenticAMD"  Id = 0x20f71  Stepping = 1
Jul 12 16:44:00 milkyway kernel: Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
Jul 12 16:44:00 milkyway kernel: Features2=0x1<SSE3>
Jul 12 16:44:00 milkyway kernel: AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow!+,3DNow!>
Jul 12 16:44:00 milkyway kernel: usable memory = 510799872 (487 MB)
Jul 12 16:44:00 milkyway kernel: avail memory  = 490942464 (468 MB)
Jul 12 16:44:00 milkyway kernel: ACPI APIC Table: <A M I  OEMAPIC >
Jul 12 16:44:00 milkyway kernel: ioapic0: Changing APIC ID to 1
Jul 12 16:44:00 milkyway kernel: ioapic0 <Version 2.1> irqs 0-23 on motherboard
Jul 12 16:44:00 milkyway kernel: kbd1 at kbdmux0
Jul 12 16:44:00 milkyway kernel: acpi0: <A M I OEMRSDT> on motherboard
Jul 12 16:44:00 milkyway kernel: acpi0: Overriding SCI Interrupt from IRQ 9 to IRQ 21
Jul 12 16:44:00 milkyway kernel: acpi0: [ITHREAD]
Jul 12 16:44:00 milkyway kernel: acpi0: Power Button (fixed)
Jul 12 16:44:00 milkyway kernel: acpi0: reservation of 0, a0000 (3) failed
Jul 12 16:44:00 milkyway kernel: acpi0: reservation of 100000, 1ff00000 (3) failed
Jul 12 16:44:00 milkyway kernel: Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
Jul 12 16:44:00 milkyway kernel: acpi_timer0: <32-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
Jul 12 16:44:00 milkyway kernel: pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
Jul 12 16:44:00 milkyway kernel: pci0: <ACPI PCI bus> on pcib0
Jul 12 16:44:00 milkyway kernel: pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
Jul 12 16:44:00 milkyway kernel: pci1: <ACPI PCI bus> on pcib1
Jul 12 16:44:00 milkyway kernel: vgapci0: <VGA-compatible display> port 0xa800-0xa8ff mem 0xf4000000-0xf7ffffff,0xfbcf0000-0xfbcfffff irq 17 at device 5.0 on pci1
Jul 12 16:44:00 milkyway kernel: pcib2: <ACPI PCI-PCI bridge> at device 2.0 on pci0
Jul 12 16:44:00 milkyway kernel: pci2: <ACPI PCI bus> on pcib2
Jul 12 16:44:00 milkyway kernel: pcib3: <PCI-PCI bridge> at device 0.0 on pci2
Jul 12 16:44:00 milkyway kernel: pci3: <PCI bus> on pcib3
Jul 12 16:44:00 milkyway kernel: pcib4: <PCI-PCI bridge> at device 0.0 on pci3
Jul 12 16:44:00 milkyway kernel: pci4: <PCI bus> on pcib4
Jul 12 16:44:00 milkyway kernel: em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xb800-0xb81f mem 0xfbde0000-0xfbdfffff,0xfbdc0000-0xfbddffff irq 18 at device 0.0 on pci4
Jul 12 16:44:00 milkyway kernel: em0: Using MSI interrupt
Jul 12 16:44:00 milkyway kernel: em0: [FILTER]
Jul 12 16:44:00 milkyway kernel: em0: Ethernet address: 00:15:17:4e:03:30
Jul 12 16:44:00 milkyway kernel: em1: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xb400-0xb41f mem 0xfbd80000-0xfbd9ffff,0xfbd60000-0xfbd7ffff irq 17 at device 0.1 on pci4
Jul 12 16:44:00 milkyway kernel: em1: Using MSI interrupt
Jul 12 16:44:00 milkyway kernel: em1: [FILTER]
Jul 12 16:44:00 milkyway kernel: em1: Ethernet address: 00:15:17:4e:03:31
Jul 12 16:44:00 milkyway kernel: pcib5: <PCI-PCI bridge> at device 1.0 on pci3
Jul 12 16:44:00 milkyway kernel: pci5: <PCI bus> on pcib5
Jul 12 16:44:00 milkyway kernel: em2: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xd800-0xd81f mem 0xfbee0000-0xfbefffff,0xfbec0000-0xfbedffff irq 17 at device 0.0 on pci5
Jul 12 16:44:00 milkyway kernel: em2: Using MSI interrupt
Jul 12 16:44:00 milkyway kernel: em2: [FILTER]
Jul 12 16:44:00 milkyway kernel: em2: Ethernet address: 00:15:17:4e:03:32
Jul 12 16:44:00 milkyway kernel: em3: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xd400-0xd41f mem 0xfbe80000-0xfbe9ffff,0xfbe60000-0xfbe7ffff irq 16 at device 0.1 on pci5
Jul 12 16:44:00 milkyway kernel: em3: Using MSI interrupt
Jul 12 16:44:00 milkyway kernel: em3: [FILTER]
Jul 12 16:44:00 milkyway kernel: em3: Ethernet address: 00:15:17:4e:03:33
Jul 12 16:44:00 milkyway kernel: pci0: <serial bus, SMBus> at device 20.0 (no driver attached)
Jul 12 16:44:00 milkyway kernel: atapci0: <ATI IXP400 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xff00-0xff0f at device 20.1 on pci0
Jul 12 16:44:00 milkyway kernel: ata0: <ATA channel 0> on atapci0
Jul 12 16:44:00 milkyway kernel: ata0: [ITHREAD]
Jul 12 16:44:00 milkyway kernel: ata1: <ATA channel 1> on atapci0
Jul 12 16:44:00 milkyway kernel: ata1: [ITHREAD]
Jul 12 16:44:00 milkyway kernel: isab0: <PCI-ISA bridge> at device 20.3 on pci0
Jul 12 16:44:00 milkyway kernel: isa0: <ISA bus> on isab0
Jul 12 16:44:00 milkyway kernel: pcib6: <ACPI PCI-PCI bridge> at device 20.4 on pci0
Jul 12 16:44:00 milkyway kernel: pci6: <ACPI PCI bus> on pcib6
Jul 12 16:44:00 milkyway kernel: cbb0: <ENE CB1410 PCI-CardBus Bridge> irq 20 at device 0.0 on pci6
Jul 12 16:44:00 milkyway kernel: cardbus0: <CardBus bus> on cbb0
Jul 12 16:44:00 milkyway kernel: cbb0: [ITHREAD]
Jul 12 16:44:00 milkyway kernel: re0: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet> port 0xe800-0xe8ff mem 0xfbfffc00-0xfbfffcff irq 20 at device 3.0 on pci6
Jul 12 16:44:00 milkyway kernel: re0: Chip rev. 0x10000000
Jul 12 16:44:00 milkyway kernel: re0: MAC rev. 0x00000000
Jul 12 16:44:00 milkyway kernel: miibus0: <MII bus> on re0
Jul 12 16:44:00 milkyway kernel: rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
Jul 12 16:44:00 milkyway kernel: rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
Jul 12 16:44:00 milkyway kernel: re0: Ethernet address: 00:11:09:7a:ff:be
Jul 12 16:44:00 milkyway kernel: re0: [FILTER]
Jul 12 16:44:00 milkyway kernel: acpi_button0: <Power Button> on acpi0
Jul 12 16:44:00 milkyway kernel: acpi_tz0: <Thermal Zone> on acpi0
Jul 12 16:44:00 milkyway kernel: sio0: configured irq 4 not in bitmap of probed irqs 0
Jul 12 16:44:00 milkyway kernel: sio0: port may not be enabled
Jul 12 16:44:00 milkyway kernel: sio0: configured irq 4 not in bitmap of probed irqs 0
Jul 12 16:44:00 milkyway kernel: sio0: port may not be enabled
Jul 12 16:44:00 milkyway kernel: sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
Jul 12 16:44:00 milkyway kernel: sio0: type 16550A
Jul 12 16:44:00 milkyway kernel: sio0: [FILTER]
Jul 12 16:44:00 milkyway kernel: atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
Jul 12 16:44:00 milkyway kernel: atkbd0: <AT Keyboard> irq 1 on atkbdc0
Jul 12 16:44:00 milkyway kernel: kbd0 at atkbd0
Jul 12 16:44:00 milkyway kernel: atkbd0: [GIANT-LOCKED]
Jul 12 16:44:00 milkyway kernel: atkbd0: [ITHREAD]
Jul 12 16:44:00 milkyway kernel: cpu0: <ACPI CPU> on acpi0
Jul 12 16:44:00 milkyway kernel: acpi_throttle0: <ACPI CPU Throttling> on cpu0
Jul 12 16:44:00 milkyway kernel: acpi_throttle0: CLK_VAL field overlaps THT_EN bit
Jul 12 16:44:00 milkyway kernel: device_attach: acpi_throttle0 attach returned 6
Jul 12 16:44:00 milkyway kernel: powernow0: <Cool`n'Quiet K8> on cpu0
Jul 12 16:44:00 milkyway kernel: device_attach: powernow0 attach returned 6
Jul 12 16:44:00 milkyway kernel: orm0: <ISA Option ROM> at iomem 0xc0000-0xcdfff on isa0
Jul 12 16:44:00 milkyway kernel: ppc0: cannot reserve I/O port range
Jul 12 16:44:00 milkyway kernel: sc0: <System console> at flags 0x100 on isa0
Jul 12 16:44:00 milkyway kernel: sc0: VGA <16 virtual consoles, flags=0x300>
Jul 12 16:44:00 milkyway kernel: sio1: configured irq 3 not in bitmap of probed irqs 0
Jul 12 16:44:00 milkyway kernel: sio1: port may not be enabled
Jul 12 16:44:00 milkyway kernel: vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Jul 12 16:44:00 milkyway kernel: Timecounter "TSC" frequency 2188809325 Hz quality 800
Jul 12 16:44:00 milkyway kernel: Timecounters tick every 1.000 msec
Jul 12 16:44:00 milkyway kernel: ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based forwarding disabled, default to deny, logging unlimited
Jul 12 16:44:00 milkyway kernel: The GEOM class MIRROR is already loaded.
Jul 12 16:44:00 milkyway kernel: ad0: 157066MB <Hitachi HDS722516VLAT80 V34OA6EA> at ata0-master UDMA100
Jul 12 16:44:00 milkyway kernel: ad2: 157066MB <Hitachi HDS722516VLAT80 V34OA60A> at ata1-master UDMA100
Jul 12 16:44:00 milkyway kernel: cardbus0: Expecting link target, got 0x0
Jul 12 16:44:00 milkyway kernel: ral0: <Ralink Technology RT2561S> mem 0xfbf08000-0xfbf0ffff irq 20 at device 0.0 on cardbus0
Jul 12 16:44:00 milkyway kernel: ral0: MAC/BBP RT2661B, RF RT2527
Jul 12 16:44:00 milkyway kernel: ral0: Ethernet address: 00:0c:f6:1b:1f:1f
Jul 12 16:44:00 milkyway kernel: ral0: [ITHREAD]
Jul 12 16:44:00 milkyway kernel: GEOM_MIRROR: Component ad2 (device raid0) broken, skipping.
Jul 12 16:44:00 milkyway kernel: GEOM_MIRROR: Device mirror/raid0 launched (1/2).
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1a is ufsid/4a57b9ab25ee84b7.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1d is ufsid/4a57b9adeaeb3538.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1e is ufsid/4a57b9afcb646766.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1f is ufsid/4a57b9b0e4248498.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1g is ufsid/4a57b9b39339833b.
Jul 12 16:44:00 milkyway kernel: Trying to mount root from ufs:/dev/mirror/raid0s1a
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9ab25ee84b7 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1a is ufsid/4a57b9ab25ee84b7.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9adeaeb3538 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1d is ufsid/4a57b9adeaeb3538.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9b0e4248498 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1f is ufsid/4a57b9b0e4248498.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9afcb646766 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1e is ufsid/4a57b9afcb646766.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9b39339833b removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label for provider mirror/raid0s1g is ufsid/4a57b9b39339833b.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9ab25ee84b7 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9adeaeb3538 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9b0e4248498 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9afcb646766 removed.
Jul 12 16:44:00 milkyway kernel: GEOM_LABEL: Label ufsid/4a57b9b39339833b removed.

pciconf -lv :
hostb0@pci0:0:0:0:      class=0x060000 card=0xd0081631 chip=0x59501002 rev=0x01 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'RS480 Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:       class=0x060400 card=0xd0081631 chip=0x5a3f1002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'RS480 PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:2:0:       class=0x060400 card=0x59501002 chip=0x5a341002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'RS480 PCI-X Root Port'
    class      = bridge
    subclass   = PCI-PCI
ichsmb0@pci0:0:20:0:    class=0x0c0500 card=0xd0081631 chip=0x43721002 rev=0x11 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'IXP SB400 SMBus'
    class      = serial bus
    subclass   = SMBus
atapci0@pci0:0:20:1:    class=0x01018a card=0xd0081631 chip=0x43761002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = '? Radeo SB400 = RS480 Southbridge/IDE Controller'
    class      = mass storage
    subclass   = ATA
isab0@pci0:0:20:3:      class=0x060100 card=0x00000000 chip=0x43771002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'IXP SB400 PCI-ISA Bridge'
    class      = bridge
    subclass   = PCI-ISA
pcib6@pci0:0:20:4:      class=0x060401 card=0x00000000 chip=0x43711002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'IXP SB400 PCI-PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
hostb1@pci0:0:24:0:     class=0x060000 card=0x00000000 chip=0x11001022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron HyperTransport Technology Configuration'
    class      = bridge
    subclass   = HOST-PCI
hostb2@pci0:0:24:1:     class=0x060000 card=0x00000000 chip=0x11011022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron Address Map'
    class      = bridge
    subclass   = HOST-PCI
hostb3@pci0:0:24:2:     class=0x060000 card=0x00000000 chip=0x11021022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
hostb4@pci0:0:24:3:     class=0x060000 card=0x00000000 chip=0x11031022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron Miscellaneous Control'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:1:5:0:     class=0x030000 card=0xd0081631 chip=0x59541002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'na ATI Radeon Xpress 200 Series - RS480'
    class      = display
    subclass   = VGA
pcib3@pci0:2:0:0:       class=0x060400 card=0x00000000 chip=0x8018111d rev=0x04 hdr=0x01
    vendor     = 'Integrated Device Technology Inc.'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:3:0:0:       class=0x060400 card=0x00000000 chip=0x8018111d rev=0x04 hdr=0x01
    vendor     = 'Integrated Device Technology Inc.'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:3:1:0:       class=0x060400 card=0x00000000 chip=0x8018111d rev=0x04 hdr=0x01
    vendor     = 'Integrated Device Technology Inc.'
    class      = bridge
    subclass   = PCI-PCI
em0@pci0:4:0:0: class=0x020000 card=0x10a48086 chip=0x10a48086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
em1@pci0:4:0:1: class=0x020000 card=0x10a48086 chip=0x10a48086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
em2@pci0:5:0:0: class=0x020000 card=0x10a48086 chip=0x10a48086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
em3@pci0:5:0:1: class=0x020000 card=0x10a48086 chip=0x10a48086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
cbb0@pci0:6:0:0:        class=0x060700 card=0x14101524 chip=0x14101524 rev=0x01 hdr=0x02
    vendor     = 'ENE Technology Inc'
    device     = 'CB-1420 CardBus Controller'
    class      = bridge
    subclass   = PCI-CardBus
re0@pci0:6:3:0: class=0x020000 card=0x031c1462 chip=0x816910ec rev=0x10 hdr=0x00
    vendor     = 'Realtek Semiconductor'
    device     = 'RTL8110SB Single-Chip Gigabit LOM Ethernet Controller'
    class      = network
    subclass   = ethernet
ral0@pci0:7:0:0:        class=0x028000 card=0x9072182d chip=0x03011814 rev=0x00 hdr=0x00
    vendor     = 'Ralink Technology, Corp'
    device     = 'RT2561/RT61 802.11g PCI'
    class      = network

How-To-Repeat: Load ichsmb module
Loading it at boot time or in kernel doesn't change anything.
Comment 1 aurelien.mere 2009-08-13 21:59:54 UTC
Hi

After checks on other systems, it seems that the IXP SMBus controller should not be recognized by ichsmb but by intpm. I tried changing the declarations in intpm to add its PCI ID and, by loading intpm manually afterwards, the resources of the device are correctly allocated. Problem is that implementation seems incomplete, as SMI mode is not supported in intpm, and driver still doesn't attach. 

I patched intpm.c this way to make it recognize the controller :

98a99,101
>       case 0x43721002:
>               device_set_desc(dev, "ATI IXP400 SMBus Controller");
>               break;


When module is loaded, this output is displayed :

Aug 12 19:42:31 milkyway kernel: intsmb0: <ATI IXP400 SMBUS Controller (by KindMan)> port 0x900-0x90f at device 20.0 on pci0
Aug 12 19:42:31 milkyway kernel: intsmb0: intr SMI enabled revision 0
Aug 12 19:42:31 milkyway kernel: intsmb0: Unsupported interrupt mode
Aug 12 19:42:31 milkyway kernel: device_attach: intsmb0 attach returned 6

Thanks for your help,
Aurélien
Comment 2 Andriy Gapon freebsd_committer freebsd_triage 2012-04-08 21:52:13 UTC
Do you still have this hardware?

-- 
Andriy Gapon
Comment 3 Andriy Gapon freebsd_committer freebsd_triage 2012-04-08 21:53:02 UTC
Responsible Changed
From-To: freebsd-bugs->avg

Take.
Comment 4 jens.link 2012-04-14 20:00:02 UTC
Maybe I can help. I have a Laptop with FreeBSD 9 stable and I am able to
get the smb bus working with a patch above

Kernel message is:

# dmesg | grep smb
intsmb0: <ATI IXP400 SMBus Controller> port 0x8410-0x841f at device 20.0
on pci0
intsmb0: intr SMI enabled revision 0
intsmb0: using polling mode when configured interrupt is SMI
smbus0: <System Management Bus> on intsmb0
smb0: <SMBus generic I/O> on smbus0

and smbmsg shows

#smbmsg -p
Probing for devices on /dev/smb0:
Device @0xa0: rw
Device @0xa2: rw
Device @0xd2: rw

So it seems to function but I have no Idea how to test the functions.
Comment 5 dfilter service freebsd_committer freebsd_triage 2012-04-16 11:34:01 UTC
Author: avg
Date: Mon Apr 16 10:33:46 2012
New Revision: 234338
URL: http://svn.freebsd.org/changeset/base/234338

Log:
  intpm: add ATI IXP400 pci id
  
  PR:		kern/136762
  Submitted by:	Aurelien Mere <freebsd@amc-os.com>
  Tested by:	Jens Link <jens.link@gmx.de>
  MFC after:	5 days

Modified:
  head/sys/pci/intpm.c

Modified: head/sys/pci/intpm.c
==============================================================================
--- head/sys/pci/intpm.c	Mon Apr 16 09:38:20 2012	(r234337)
+++ head/sys/pci/intpm.c	Mon Apr 16 10:33:46 2012	(r234338)
@@ -98,6 +98,9 @@ intsmb_probe(device_t dev)
 #endif
 		device_set_desc(dev, "Intel PIIX4 SMBUS Interface");
 		break;
+	case 0x43721002:
+		device_set_desc(dev, "ATI IXP400 SMBus Controller");
+		break;
 	case 0x43851002:
 		/* SB800 and newer can not be configured in a compatible way. */
 		if (pci_get_revid(dev) >= 0x40)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 6 Andriy Gapon freebsd_committer freebsd_triage 2012-04-16 11:36:21 UTC
on 14/04/2012 22:00 Jens Link said the following:
> The following reply was made to PR kern/136762; it has been noted by GNATS.
> 
> From: Jens Link <jens.link@gmx.de>
> To: bug-followup@FreeBSD.org, freebsd@amc-os.com
> Cc:  
> Subject: Re: kern/136762: [intpm] intpm can&#39;t map resources of compatible
>  IXP SMBus controller
> Date: Sat, 14 Apr 2012 21:00:02 +0200
> 
>  Maybe I can help. I have a Laptop with FreeBSD 9 stable and I am able to
>  get the smb bus working with a patch above
>  
>  Kernel message is:
>  
>  # dmesg | grep smb
>  intsmb0: <ATI IXP400 SMBus Controller> port 0x8410-0x841f at device 20.0
>  on pci0
>  intsmb0: intr SMI enabled revision 0
>  intsmb0: using polling mode when configured interrupt is SMI
>  smbus0: <System Management Bus> on intsmb0
>  smb0: <SMBus generic I/O> on smbus0
>  
>  and smbmsg shows
>  
>  #smbmsg -p
>  Probing for devices on /dev/smb0:
>  Device @0xa0: rw
>  Device @0xa2: rw
>  Device @0xd2: rw
>  
>  So it seems to function but I have no Idea how to test the functions.

I think that this is a sufficient test, thank you!
You may try to play with various read commands for slaves A0 and A2, which are
SPD chips on the DIMMs.

-- 
Andriy Gapon
Comment 7 Andriy Gapon freebsd_committer freebsd_triage 2012-04-16 13:08:19 UTC
State Changed
From-To: open->patched

A patch is committed to head.
Comment 8 aurelien.mere 2012-04-18 17:46:02 UTC
Unfortunately, my IXP motherboard is not working anymore. I saw on 
follow-ups that problem was fixed anyway, that's great.
Sorry for the delay,

Aurélien

-----Message d'origine----- 
From: Andriy Gapon
Sent: Sunday, April 08, 2012 10:52 PM
To: bug-followup@FreeBSD.org ; freebsd@amc-os.com
Subject: Re: kern/136762: [ichsmb] ichsmb can't map resources of compatible 
IXP SMBus controller

Do you still have this hardware?

-- 
Andriy Gapon
Comment 9 dfilter service freebsd_committer freebsd_triage 2012-04-25 08:13:28 UTC
Author: avg
Date: Wed Apr 25 07:13:16 2012
New Revision: 234677
URL: http://svn.freebsd.org/changeset/base/234677

Log:
  MFC r234338: intpm: add ATI IXP400 pci id
  
  PR:		kern/136762

Modified:
  stable/9/sys/pci/intpm.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/amd64/include/xen/   (props changed)
  stable/9/sys/boot/   (props changed)
  stable/9/sys/boot/i386/efi/   (props changed)
  stable/9/sys/boot/ia64/efi/   (props changed)
  stable/9/sys/boot/ia64/ski/   (props changed)
  stable/9/sys/boot/powerpc/boot1.chrp/   (props changed)
  stable/9/sys/boot/powerpc/ofw/   (props changed)
  stable/9/sys/cddl/contrib/opensolaris/   (props changed)
  stable/9/sys/conf/   (props changed)
  stable/9/sys/contrib/dev/acpica/   (props changed)
  stable/9/sys/contrib/octeon-sdk/   (props changed)
  stable/9/sys/contrib/pf/   (props changed)
  stable/9/sys/contrib/x86emu/   (props changed)
  stable/9/sys/fs/   (props changed)
  stable/9/sys/fs/ntfs/   (props changed)
  stable/9/sys/i386/conf/XENHVM   (props changed)
  stable/9/sys/kern/subr_witness.c   (props changed)

Modified: stable/9/sys/pci/intpm.c
==============================================================================
--- stable/9/sys/pci/intpm.c	Wed Apr 25 07:10:17 2012	(r234676)
+++ stable/9/sys/pci/intpm.c	Wed Apr 25 07:13:16 2012	(r234677)
@@ -98,6 +98,9 @@ intsmb_probe(device_t dev)
 #endif
 		device_set_desc(dev, "Intel PIIX4 SMBUS Interface");
 		break;
+	case 0x43721002:
+		device_set_desc(dev, "ATI IXP400 SMBus Controller");
+		break;
 	case 0x43851002:
 		/* SB800 and newer can not be configured in a compatible way. */
 		if (pci_get_revid(dev) >= 0x40)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 10 dfilter service freebsd_committer freebsd_triage 2012-04-25 08:18:22 UTC
Author: avg
Date: Wed Apr 25 07:18:04 2012
New Revision: 234678
URL: http://svn.freebsd.org/changeset/base/234678

Log:
  MFC r234338: intpm: add ATI IXP400 pci id
  
  PR:		kern/136762

Modified:
  stable/8/sys/pci/intpm.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/boot/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/e1000/   (props changed)
  stable/8/sys/i386/conf/XENHVM   (props changed)

Modified: stable/8/sys/pci/intpm.c
==============================================================================
--- stable/8/sys/pci/intpm.c	Wed Apr 25 07:13:16 2012	(r234677)
+++ stable/8/sys/pci/intpm.c	Wed Apr 25 07:18:04 2012	(r234678)
@@ -98,6 +98,9 @@ intsmb_probe(device_t dev)
 #endif
 		device_set_desc(dev, "Intel PIIX4 SMBUS Interface");
 		break;
+	case 0x43721002:
+		device_set_desc(dev, "ATI IXP400 SMBus Controller");
+		break;
 	case 0x43851002:
 		/* SB800 and newer can not be configured in a compatible way. */
 		if (pci_get_revid(dev) >= 0x40)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 11 Andriy Gapon freebsd_committer freebsd_triage 2012-04-25 08:33:14 UTC
State Changed
From-To: patched->closed

The fix is merged to all supported branches.