| Summary: | [intpm] intpm can't map resources of compatible IXP SMBus controller | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Aurélien Méré <freebsd> |
| Component: | kern | Assignee: | 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
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
Do you still have this hardware? -- Andriy Gapon Responsible Changed From-To: freebsd-bugs->avg Take. 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. 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" 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'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
State Changed From-To: open->patched A patch is committed to head. 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 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" 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" State Changed From-To: patched->closed The fix is merged to all supported branches. |