Bug 1406844 - sp5100_tco I/O address 0x0cd6 already in use on AMD FX-6100 @ 990FX
Summary: sp5100_tco I/O address 0x0cd6 already in use on AMD FX-6100 @ 990FX
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-21 15:43 UTC by Zoltan Boszormenyi
Modified: 2020-09-13 09:35 UTC (History)
36 users (show)

Fixed In Version:
Clone Of: 1369269
Environment:
Last Closed: 2020-09-13 09:35:08 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
dmesg @ FX-8120 (80.68 KB, text/plain)
2016-12-21 15:44 UTC, Zoltan Boszormenyi
no flags Details
contents of /proc/ioports (2.31 KB, text/plain)
2016-12-21 15:44 UTC, Zoltan Boszormenyi
no flags Details
Patch to make i2c-piix4 coexist with sp5100_tco (10.64 KB, patch)
2017-03-29 12:09 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 1/5 Extend the request_region infrastructure (6.09 KB, patch)
2017-06-22 13:53 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 2/5 Modify behaviour of request_*muxed_region (2.00 KB, patch)
2017-06-22 13:53 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 3/5 Use request_declared_muxed_region() in the USB PCI quirks (2.13 KB, patch)
2017-06-22 13:54 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 4/5 Use request_declared_muxed_region() in i2c-piix4 (5.44 KB, patch)
2017-06-22 13:54 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 5/5 Use request_declared_muxed_region() in sp5100_tco (5.67 KB, patch)
2017-06-22 13:55 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 1/5 Extend the request_region infrastructure (6.13 KB, patch)
2017-12-18 08:08 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 2/5 Modify behaviour of request_*muxed_region (2.03 KB, patch)
2017-12-18 08:09 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 3/5 Use request_declared_muxed_region() in the USB PCI quirks (2.17 KB, patch)
2017-12-18 08:10 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 4/5 Use request_declared_muxed_region() in i2c-piix4 (7.35 KB, patch)
2017-12-18 08:11 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patch 5/5 Use request_declared_muxed_region() in sp5100_tco (5.70 KB, patch)
2017-12-18 08:12 UTC, Zoltan Boszormenyi
no flags Details | Diff
Patchset for 4.14.6 (7.30 KB, application/x-gzip)
2017-12-18 08:15 UTC, Zoltan Boszormenyi
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Linux Kernel 170741 0 None None None 2019-07-01 16:38:15 UTC

Description Zoltan Boszormenyi 2016-12-21 15:43:32 UTC
+++ This bug was initially created as a clone of Bug #1369269 +++

Description of problem:

The module sp5100 causes an error message in the logs.
Since i installed F24 some days ago, i am not sure this is causing some other issues.

Version-Release number of selected component (if applicable):
Fedora: F24
Kernel: 4.6.6-300.fc24.x86_64


How reproducible:
always

Steps to Reproduce:
1. install F24
2. update, reboot
3. check messages

Actual results:

This gets logged in mesages:

sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
sp5100_tco: PCI Vendor ID: 0x1002, Device ID: 0x4385, Revision ID: 0x42
sp5100_tco: I/O address 0x0cd6 already in use


Expected results:

no errors in messages


Additional info:

RHBZ# 1328633 "ACPI errors on Kernel 4.5.1-300 i"
which is closed errata, but says it is tracked upstrea in:

KERNEL BZ# 114201 "ACPI Error: No handler or method for GPE xx, disabling event (20160108/evgpe-790) - AMD A8-4500M APU"

I installed F24 some days ago, it seems to not to cause issues for now.

--- Additional comment from Laura Abbott on 2016-09-23 15:19:17 EDT ---

*********** MASS BUG UPDATE **************
 
We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 24 kernel bugs.
 
Fedora 24 has now been rebased to 4.7.4-200.fc24.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.
 
If you have moved on to Fedora 25, and are still experiencing this issue, please change the version to Fedora 25.
 
If you experience different issues, please open a new bug report for those.

--- Additional comment from Laura Abbott on 2016-10-26 12:57:56 EDT ---

*********** MASS BUG UPDATE **************
This bug is being closed with INSUFFICIENT_DATA as there has not been a response in 4 weeks. If you are still experiencing this issue, please reopen and attach the relevant data from the latest kernel you are running and any data that might have been requested previously.

--- Additional comment from Janvitus on 2016-12-01 06:03:28 EST ---

Same issue on Fedora 25 (and previously 24):

sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x780b, Revision ID: 0x14
sp5100_tco: I/O address 0x0cd6 already in use

Linux fedorabox 4.8.10-300.fc25.x86_64

--- Additional comment from Zoltan Boszormenyi on 2016-12-19 11:58:39 EST ---

Same thing happens AMD FX(tm)-8120 and on Kabini based APUs.

The watchdog driver loads but doesn't initialize because the I/O port is already reserved, because it appears in the PNP device list.

$ dmesg | grep 0cd6
[    0.893587] system 00:01: [io  0x0cd6-0x0cd7] has been reserved
[    6.346912] sp5100_tco: I/O address 0x0cd6 already in use

--- Additional comment from Zoltan Boszormenyi on 2016-12-19 11:59 EST ---



--- Additional comment from Zoltan Boszormenyi on 2016-12-19 12:00 EST ---



--- Additional comment from Zoltan Boszormenyi on 2016-12-19 12:03:04 EST ---

Fedora 25, currently latest kernel:

$ uname -a
Linux s002.sicom.com 4.8.14-300.fc25.x86_64 #1 SMP Mon Dec 12 16:31:04 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Comment 1 Zoltan Boszormenyi 2016-12-21 15:44:28 UTC
Created attachment 1234448 [details]
dmesg @ FX-8120

Comment 2 Zoltan Boszormenyi 2016-12-21 15:44:56 UTC
Created attachment 1234449 [details]
contents of /proc/ioports

Comment 3 Laura Abbott 2017-01-17 01:19:03 UTC
*********** MASS BUG UPDATE **************
We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 25 kernel bugs.
 
Fedora 25 has now been rebased to 4.9.3-200.fc25.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.
 
If you have moved on to Fedora 26, and are still experiencing this issue, please change the version to Fedora 26.
 
If you experience different issues, please open a new bug report for those.

Comment 4 Zoltan Boszormenyi 2017-01-17 05:34:31 UTC
Yes, it does happen.

Kernel version running:
4.9.3-200.fc25.x86_64

# cat /proc/ioports 
...
  0cd6-0cd7 : pnp 00:01
    0cd6-0cd7 : smba_idx
...

What does SMB (Samba? SMBus?) has to do with this port?
These are the only lines with smb in them in dmesg:

# dmesg | grep -i smb
[    0.000000] SMBIOS 2.7 present.
[    5.952569] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
[    5.952576] piix4_smbus 0000:00:14.0: Using register 0x2c for SMBus port selection
[    5.953090] piix4_smbus 0000:00:14.0: Auxiliary SMBus Host Controller at 0xb20

The watchdog driver still doesn't load:

# dmesg | grep sp5100
[    5.958688] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
[    5.958889] sp5100_tco: PCI Vendor ID: 0x1002, Device ID: 0x4385, Revision ID: 0x42
[    5.958892] sp5100_tco: I/O address 0x0cd6 already in use

Also see https://bugzilla.kernel.org/show_bug.cgi?id=170741

Comment 5 Andrew Roberts 2017-03-27 17:37:56 UTC
This issue is also affecting AMD Ryzen CPU's on AM4 motherboards (ASUS Prime B350 Plus, BIOS Rev 0513)

cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1700 Eight-Core Processor
stepping	: 1
microcode	: 0x8001105
...

journalctl -b0
...
Mar 27 17:12:55 ryzen kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
Mar 27 17:12:55 ryzen kernel: sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x790b, Revision ID: 0x59
Mar 27 17:12:55 ryzen kernel: sp5100_tco: I/O address 0x0cd6 already in use
...

uname -a
Linux ryzen 4.9.14-200.fc25.x86_64 #1 SMP Mon Mar 13 19:26:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

This is obviously on Fedora Core 25.

Comment 6 Andrew Roberts 2017-03-27 18:17:37 UTC
Additional info:
cat /proc/ioports
...
03e0-0cf7 : PCI Bus 0000:00
...
  0cd4-0cd5 : pnp 00:05
  0cd6-0cd7 : pnp 00:05
    0cd6-0cd7 : smba_idx
  0cd8-0cdf : pnp 00:05
0cf8-0cff : PCI conf1
...

With a bit of Googling the address is now used by:
drivers/i2c/busses/i2c-piix4.c
For at least the last 3 years.

Comment 7 Andrew Roberts 2017-03-28 10:37:40 UTC
Latest kernel 4.10.5-200 didn't help either
uname -a
Linux ryzen 4.10.5-200.fc25.x86_64 #1 SMP Wed Mar 22 20:37:08 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

journalctl -b0 | grep sp5100
Mar 28 09:14:42 ryzen kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
Mar 28 09:14:42 ryzen kernel: sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x790b, Revision ID: 0x59
Mar 28 09:14:42 ryzen kernel: sp5100_tco: I/O address 0x0cd6 already in use

Comment 8 Zoltan Boszormenyi 2017-03-29 12:09:18 UTC
Created attachment 1267285 [details]
Patch to make i2c-piix4 coexist with sp5100_tco

The attached patch makes both i2c-piix4 and sp5100_tco coexist peacefully.
With the patch present in the kernel, the boot messages are as below:

kernel: piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
kernel: piix4_smbus 0000:00:14.0: Using register 0x2c for SMBus port selection
kernel: piix4_smbus 0000:00:14.0: Auxiliary SMBus Host Controller at 0xb20
kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
kernel: sp5100_tco: PCI Vendor ID: 0x1002, Device ID: 0x4385, Revision ID: 0x42
kernel: sp5100_tco: Using 0xfed80b00 for watchdog MMIO address
kernel: sp5100_tco: Last reboot was not triggered by watchdog.
kernel: sp5100_tco: initialized (0xffffb70d41925b00). heartbeat=60 sec (nowayout=0)

/dev/watchdog exists and work.

I tested it with samples/watchdog/watchdog-simple.c from the kernel sources.
After killing the watchdog-simple process, this appeared in the kernel:

kernel: sp5100_tco: Unexpected close, not stopping watchdog!

After reboot, the sp5100_tco driver message said this:

kernel: sp5100_tco: Last reboot was triggered by watchdog.

Comment 9 Laura Abbott 2017-03-30 17:30:21 UTC
Can you submit the patch upstream? Once it gets accepted there we can see about bringing it into the Fedora tree.

Comment 10 Zoltan Boszormenyi 2017-03-30 17:54:28 UTC
I have submitted it, no answer yet.

http://marc.info/?l=linux-kernel&m=149079244120118&w=2
http://marc.info/?l=linux-i2c&m=149079244120117&w=2

jdelvare was also cc-d as he's the maintainer of the i2c-piix4 driver.
There is no maintainer for sp5100_tco and the CREDITS doesn't mention it either.

The patch was also submitted into the kernel bugzilla at
https://bugzilla.kernel.org/show_bug.cgi?id=170741

Can someone else also test it (at Fedora or someone from those who noticed the regression) and perhaps answer with a Tested-by: line on LKML and linux-i2c?

Thanks.

Comment 11 Justin M. Forbes 2017-04-11 14:48:45 UTC
*********** MASS BUG UPDATE **************

We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 25 kernel bugs.

Fedora 25 has now been rebased to 4.10.9-200.fc25.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.

If you have moved on to Fedora 26, and are still experiencing this issue, please change the version to Fedora 26.

If you experience different issues, please open a new bug report for those.

Comment 12 Andrew Roberts 2017-04-15 12:10:49 UTC
Latest (FC25) kernel 4.10.9-200 is still showing the issue. I guess the patch hasn't made it yet.

uname -a
Linux ryzen 4.10.9-200.fc25.x86_64 #1 SMP Mon Apr 10 14:48:16 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

journalctl -b0 | grep sp5100
Apr 15 13:04:21 ryzen kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
Apr 15 13:04:21 ryzen kernel: sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x790b, Revision ID: 0x59
Apr 15 13:04:21 ryzen kernel: sp5100_tco: I/O address 0x0cd6 already in use

Comment 13 Mustafa Mehmed 2017-04-15 21:00:42 UTC
Same here.

[~]$ uname -a
Linux musi 4.10.9-200.fc25.x86_64 #1 SMP Mon Apr 10 14:48:16 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[/home/mehmed]$ journalctl -b0 | grep sp5100
Apr 16 06:55:55 musi kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
Apr 16 06:55:55 musi kernel: sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x790b, Revision ID: 0x59
Apr 16 06:55:55 musi kernel: sp5100_tco: I/O address 0x0cd6 already in use

Comment 14 Lyude 2017-06-20 21:35:41 UTC
(In reply to Zoltan Boszormenyi from comment #10)
> I have submitted it, no answer yet.
> 
> http://marc.info/?l=linux-kernel&m=149079244120118&w=2
> http://marc.info/?l=linux-i2c&m=149079244120117&w=2
> 
> jdelvare was also cc-d as he's the maintainer of the i2c-piix4
> driver.
> There is no maintainer for sp5100_tco and the CREDITS doesn't mention it
> either.
> 
> The patch was also submitted into the kernel bugzilla at
> https://bugzilla.kernel.org/show_bug.cgi?id=170741
> 
> Can someone else also test it (at Fedora or someone from those who noticed
> the regression) and perhaps answer with a Tested-by: line on LKML and
> linux-i2c?
> 
> Thanks.

Hi! I am sorry no one ever bothered to get back to you about this. The reason no one responded is likely because you didn't actually send the patch right. Don't attach patches, send them inline (I'd recommend using git send-email). Likewise, feel free to cc me in it (lyude thisshouldbeanat redhat.com). I can provide a reviewed-by since I have tons of stuff in the kernel, no idea how much it will count for a module I haven't worked on in the past like this though.

Comment 15 Zoltan Boszormenyi 2017-06-21 04:14:12 UTC
v3 of the patch series starts here:
http://marc.info/?l=linux-kernel&m=149801788108898&w=2

also attached here:
https://bugzilla.kernel.org/show_bug.cgi?id=170741

Comment 16 Zoltan Boszormenyi 2017-06-22 13:50:40 UTC
v4 of the patch series starts here:
http://marc.info/?l=linux-kernel&m=149813780707928&w=2

the patches were refreshed at the upstream kernel bugzilla:
https://bugzilla.kernel.org/show_bug.cgi?id=170741

Comment 17 Zoltan Boszormenyi 2017-06-22 13:53:18 UTC
Created attachment 1290730 [details]
Patch 1/5 Extend the request_region infrastructure

Comment 18 Zoltan Boszormenyi 2017-06-22 13:53:43 UTC
Created attachment 1290732 [details]
Patch 2/5 Modify behaviour of request_*muxed_region

Comment 19 Zoltan Boszormenyi 2017-06-22 13:54:11 UTC
Created attachment 1290733 [details]
Patch 3/5 Use request_declared_muxed_region() in the USB PCI quirks

Comment 20 Zoltan Boszormenyi 2017-06-22 13:54:34 UTC
Created attachment 1290734 [details]
Patch 4/5 Use request_declared_muxed_region() in i2c-piix4

Comment 21 Zoltan Boszormenyi 2017-06-22 13:55:07 UTC
Created attachment 1290735 [details]
Patch 5/5 Use request_declared_muxed_region() in sp5100_tco

Comment 22 matejmartinovic 2017-08-06 17:59:41 UTC
I'm experiencing the same error on a ryzen 7 1700 with a x370 board. 
Fedora 26.

uname -r: 
4.11.11-300.fc26.x86_64

Comment 23 Emmanuel Bigler 2017-08-15 21:52:12 UTC
same here

Fedora 26
4.12.5-300.fc26.x86_64 #1 SMP Mon Aug 7 15:27:25 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

AMD FX(tm)-8350 Eight-Core Processor

 dmesg | grep sp51
[   10.926712] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
[   10.926813] sp5100_tco: PCI Vendor ID: 0x1002, Device ID: 0x4385, Revision ID: 0x42
[   10.926816] sp5100_tco: I/O address 0x0cd6 already in use

Blacklisting sp5100_tco by adding a file in /etc/modprobe.d works

Comment 24 Zoltan Boszormenyi 2017-08-27 05:58:58 UTC
(In reply to Emmanuel Bigler from comment #23)
> same here
> 
> Fedora 26
> 4.12.5-300.fc26.x86_64 #1 SMP Mon Aug 7 15:27:25 UTC 2017 x86_64 x86_64
> x86_64 GNU/Linux
> 
> AMD FX(tm)-8350 Eight-Core Processor
> 
>  dmesg | grep sp51
> [   10.926712] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
> [   10.926813] sp5100_tco: PCI Vendor ID: 0x1002, Device ID: 0x4385,
> Revision ID: 0x42
> [   10.926816] sp5100_tco: I/O address 0x0cd6 already in use
> 
> Blacklisting sp5100_tco by adding a file in /etc/modprobe.d works

"Works" as in sp5100_tco is not even loaded so the watchdog isn't working.
The goal would be to make the watchdog work.
Try blacklisting i2c_piix4 or my patch set.

Comment 25 Dragan 2017-11-18 04:01:32 UTC
> "Works" as in sp5100_tco is not even loaded so the watchdog isn't working.
> The goal would be to make the watchdog work.
> Try blacklisting i2c_piix4 or my patch set.

blacklisting i2c_piix4 resolves the issue with FX-8350, ASUS M5A99X EVO

Comment 26 Andrew Roberts 2017-11-18 05:16:06 UTC
> blacklisting i2c_piix4 resolves the issue with FX-8350, ASUS M5A99X EVO

On an AMD Ryzen 7 1700 this does not appear to work, it fails to find an MMIO address. The driver needs updating to support zen CPUs and mainlining.

Nov 18 04:53:40 ryzen kernel: smpboot: CPU0: AMD Ryzen 7 1700 Eight-Core Processor (family: 0x17, model: 0x1, stepping: 0x1)
...
Nov 18 04:53:42 ryzen kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
Nov 18 04:53:42 ryzen kernel: sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x790b, Revision ID: 0x59
Nov 18 04:53:42 ryzen kernel: sp5100_tco: failed to find MMIO address, giving up.

Motherboard: ASUSTeK COMPUTER INC. PRIME B350-PLUS Rev X.0x
BIOS Version: PRIME B350-PLUS, BIOS 1002 09/29/2017

Comment 27 Emmanuel Bigler 2017-11-18 10:31:47 UTC
Hi!

blacklisting i2c_piix4 seems to work for my AMD processor model

Fedora 26
4.13.12-200.fc26.x86_64 #1 SMP Wed Nov 8 16:47:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

AMD FX(tm)-8350 Eight-Core Processor

As recommended (ahem ... some time ago ;-)), blacklisting i2c_piix4 by adding a file in /etc/modprobe.d allows sp51000_tco to run

extracted from dmesg after blacklisting i2c_piix4

[   42.417291] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
[   42.417352] sp5100_tco: PCI Vendor ID: 0x1002, Device ID: 0x4385, Revision ID: 0x42
[   42.417387] sp5100_tco: Using 0xfed80b00 for watchdog MMIO address
[   42.417396] sp5100_tco: Last reboot was not triggered by watchdog.
[   42.417830] sp5100_tco: initialized (0xffffb76040d35b00). heartbeat=60 sec (nowayout=0)

Comment 28 Mustafa Mehmed 2017-11-20 04:36:49 UTC
blacklisted i2c_piix4 as per previous suggestions

# cat /etc/modprobe.d/i2c_piix4.conf
blacklist i2c_piix4


Motherboard: MSI B350M MORTAR ARCTIC (MS-7A37) (version 2.0)
BIOS revision: A.70 (American Megatrends)
CPU: AMD Ryzen 7 1700 Eight-Core Processor

$ uname -r
4.13.12-300.fc27.x86_64

I get same as comment 26 above.

$ dmesg|grep sp5100_tco

[    4.416377] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
[    4.416427] sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x790b, Revision ID: 0x59
[    4.416470] sp5100_tco: failed to find MMIO address, giving up.

Comment 29 Janvitus 2017-11-20 09:34:20 UTC
Blacklisting i2c_piix4 on an AMD A10-5800k resolved the problem.

sp5100_tco: initialized (0xffffb9a0c0d99b00). heartbeat=60 sec (nowayout=0)
sp5100_tco: Last reboot was not triggered by watchdog.
sp5100_tco: Using 0xfed80b00 for watchdog MMIO address
sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x780b, Revision ID: 0x14
sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05

Comment 30 George Nikandrov 2017-12-12 03:28:20 UTC
(In reply to Zoltan Boszormenyi from comment #24)
> Try blacklisting i2c_piix4 or my patch set.

BTW, are there any plans to mainline your patches? If so, then which version?
Or were they rejected for some reason and I should read the upstream bugzilla to find out?

Comment 31 Zoltan Boszormenyi 2017-12-12 10:07:46 UTC
My patchset doesn't apply to 4.13 or newer and I lost interest in updating it.

It wasn't reviewed and the regression itself must have been forgotten by those guilty creating it in the first place.

Comment 32 Lyude 2017-12-12 19:30:11 UTC
(In reply to Zoltan Boszormenyi from comment #31)
> My patchset doesn't apply to 4.13 or newer and I lost interest in updating
> it.
> 
> It wasn't reviewed and the regression itself must have been forgotten by
> those guilty creating it in the first place.

Hi! I actually was going to review it but a lot of really important stuff came up at work so I got pretty swamped. If you update it and cc it to me I will actually review it this time, although I feel like the last time I tried it (although, unloading i2c_piix4 on this ryzen system doesn't seem to fix it either)

Comment 33 Zoltan Boszormenyi 2017-12-17 07:58:48 UTC
(In reply to Lyude from comment #32)
> Hi! I actually was going to review it but a lot of really important stuff
> came up at work so I got pretty swamped. If you update it and cc it to me I
> will actually review it this time, although I feel like the last time I
> tried it (although, unloading i2c_piix4 on this ryzen system doesn't seem to
> fix it either)

The problem on Ryzen is probably because of the chip differences that the driver doesn't handle and gives up rightfully. That would be a different matter.

The narrower purpose of my patches were to make the 3 drivers (i2c-piix4, USB quirks and sp5100_tco) that access these I/O ports do it in a peaceful way. I will try to update the patches for 4.14 / 4.15-rc soon.

Comment 34 Zoltan Boszormenyi 2017-12-18 08:08:31 UTC
Created attachment 1369302 [details]
Patch 1/5 Extend the request_region infrastructure

Comment 35 Zoltan Boszormenyi 2017-12-18 08:09:14 UTC
Created attachment 1369303 [details]
Patch 2/5 Modify behaviour of request_*muxed_region

Comment 36 Zoltan Boszormenyi 2017-12-18 08:10:51 UTC
Created attachment 1369304 [details]
Patch 3/5 Use request_declared_muxed_region() in the USB PCI quirks

Comment 37 Zoltan Boszormenyi 2017-12-18 08:11:41 UTC
Created attachment 1369305 [details]
Patch 4/5 Use request_declared_muxed_region() in i2c-piix4

Comment 38 Zoltan Boszormenyi 2017-12-18 08:12:16 UTC
Created attachment 1369306 [details]
Patch 5/5 Use request_declared_muxed_region() in sp5100_tco

Comment 39 Zoltan Boszormenyi 2017-12-18 08:15:20 UTC
Created attachment 1369307 [details]
Patchset for 4.14.6

Patchset for 4.14.6, with only patch 4 being different from the individually uploaded ones.

Comment 40 Zoltan Boszormenyi 2017-12-18 08:20:04 UTC
Patchset for 4.15-rc4 was uploaded.

The extra tarball for 4.14.6 contains a slightly different set.

Either use the tarball for 4.14.6 or apply commit 45fd4470ba86e9ca2837b666a52cc65dc69f0fa3 from Linus' kernel and use individual patches.

I have tested building 4.14.6-300 from koji with my patches added and the machine didn't blow up booting it, both i2c-piix4 and sp5100_tco has initialized properly.

Comment 41 Brad Smith 2017-12-19 14:56:50 UTC
(In reply to matejmartinovic from comment #22)

Also on an ASUS Prime X370 and Fedora 27. 

[bgsmith@pico ~]$ uname -r
4.14.5-300.fc27.x86_64

Comment 42 Raman Gupta 2017-12-19 15:48:01 UTC
Just to add another datapoint and affected mobo...

Asus ROG Zenith Extreme X399, Fedora 26:

[root@edison ~]# uname -r
4.13.16-202.fc26.x86_64

Comment 43 George Nikandrov 2018-01-06 14:57:19 UTC
Patchset works for me (HP Microserver N54L).
Any progress upstream? Lyude?

Comment 44 Lyude 2018-01-08 20:52:47 UTC
Hi, looking at the thread in my email right now and I see a v3 of this patch series with changes requested by a few maintainers but no response, which would probably be why this isn't moving forward

Comment 45 Zoltan Boszormenyi 2018-01-09 08:14:44 UTC
(In reply to Lyude from comment #44)
> Hi, looking at the thread in my email right now and I see a v3 of this patch
> series with changes requested by a few maintainers but no response, which
> would probably be why this isn't moving forward

The reason why you are not seeing my replies to the review comments
(or, for that matter, the patch series on public LKML archives) is at
https://marc.info/?t=151359088700004&r=1&w=2

Anyway, there are two patch series from Guenter Roeck <linux>
on LKML that also update sp5100_tco to Ryzen. Please review those.
I have promised testing them on my AMD FX CPU but haven't got around that yet.

Comment 46 Talha Khan 2018-02-28 05:55:14 UTC
I am getting the same on my AMD Ryzen 2500U APU:

uname -r
4.15.4-300.fc27.x86_64

dmesg | grep sp51
[    4.697652] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
[    4.697788] sp5100_tco: PCI Vendor ID: 0x1022, Device ID: 0x790b, Revision ID: 0x61
[    4.697794] sp5100_tco: I/O address 0x0cd6 already in use

Comment 47 marc skinner 2018-06-04 20:14:26 UTC
Still seeing this with my setup 

F28 kernel: 4.16.13-300

Motherboard: ASRock X399 Professional

CPU: AMD TR-1950X

Comment 48 Mustafa Mehmed 2018-06-04 22:14:12 UTC
Problem still exists :-

Fedora 28 kernel: 4.16.13-300

Motherboard: MSI B350M MORTAR ARCTIC (MS-7A37)

CPU: AMD Ryzen 7 1700

Comment 49 Landon Jobe 2018-06-09 07:33:05 UTC
I can also reproduce this on Fedora Workstation 28.

Kernel package: 4.16.13-300
CPU: Ryzen 7 1700
Motherboard: ASRock AB350 Pro4

Hopefully resolved in 4.17, will bring up during the kernel test day if it occurs.

Comment 50 Gerald Cox 2018-06-10 16:50:05 UTC
I've also been receiving this message at every single boot for at least the last 3 Fedora releases, possibly longer.  Considering the desire to make the boot process as quick and free of extraneous messages and items as possible (see removal of grub menu:  https://fedoraproject.org/wiki/Changes/HiddenGrubMenu )
this should be getting just as much attention.

Here is from my boot this morning:  06/10/2018

dmesg | grep sp5100
[    6.954979] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
[    6.955053] sp5100-tco sp5100-tco: I/O address 0x0cd6 already in use
[    6.955088] sp5100-tco: probe of sp5100-tco failed with error -16

Comment 51 Bernard Peek 2018-07-12 17:41:04 UTC
Current SuSE Tumbleweed fails to boot on HP N54L Microserver with this bug. Was intermittent now solid.

Comment 52 George Nikandrov 2018-08-04 09:17:08 UTC
Fedora 28 and (perhaps?) kernel 4.17 seem to fix this for me on my HP N54L Microserver:

> journalctl -k -b | egrep 'sp5100|Linux version'
Aug 04 10:45:01 nocturne kernel: Linux version 4.17.11-200.fc28.x86_64 (mockbuild.fedoraproject.org) (gcc version 8.1.1 20180712 (Red Hat 8.1.1-5) (GCC)) #1 SMP
Mon Jul 30 15:21:09 UTC 2018
Aug 04 07:45:06 nocturne kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
Aug 04 07:45:06 nocturne kernel: sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address                                                                             
Aug 04 07:45:06 nocturne kernel: sp5100-tco sp5100-tco: initialized. heartbeat=60 sec (nowayout=0)                                                                             

According to my logs, it worked at least since 4.17.3-100.fc27.x86_64.

Both watchdog and sensors seem to work fine.
Can anyone else check and confirm?

Comment 53 Mustafa Mehmed 2018-08-04 11:25:05 UTC
Still not working for :-  

Motherboard: MSI B350M MORTAR ARCTIC (MS-7A37)

CPU: AMD Ryzen 7 1700

$ journalctl -k -b | egrep 'sp5100|Linux version'
Aug 04 15:00:27 musi kernel: Linux version 4.17.11-200.fc28.x86_64 (mockbuild.fedoraproject.org) (gcc version 8.1.1 20180712 (Red Hat 8.1.1-5) (GCC)) #1 SMP Mon Jul 30 15:21:09 UTC 2018
Aug 04 15:00:30 musi kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
Aug 04 15:00:30 musi kernel: sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
Aug 04 15:00:30 musi kernel: sp5100-tco sp5100-tco: Watchdog hardware is disabled

Comment 54 Emmanuel Bigler 2018-08-07 08:30:29 UTC
2018-08-07 
an update to https://bugzilla.redhat.com/show_bug.cgi?id=1406844

Hi !

Same for me here, the conflict between sp5100_tco and i2c_piix4 non longer
exists on my x86_64 machine as of kernel 4.17.11-200.fc28.x86_64. 
I had previously blacklisted i2c_piix4 to allow sp5100_tco to run, this is no 
longer necessary, now both sp5100_tco and i2c_piix4 load and run peacefully.


cat /proc/cpuinfo | grep model
AMD FX(tm)-8350 Eight-Core Processor

uname -a
Linux localhost.localdomain 4.17.11-200.fc28.x86_64 #1 SMP Mon Jul 30 15:21:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

journalctl -k -b | egrep 'sp5100|Linux version'
août 07 10:10:43 localhost.localdomain kernel: Linux version 4.17.11-200.fc28.x86_64 (mockbuild.fedoraproject.org) (gcc version 8.1.1 20180712 (Red Hat 8.1.1-5) (GCC)) #1 SMP Mon Jul 30 15:21:09 UTC 2018
août 07 10:11:28 localhost.localdomain kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
août 07 10:11:28 localhost.localdomain kernel: sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
août 07 10:11:28 localhost.localdomain kernel: sp5100-tco sp5100-tco: initialized. heartbeat=60 sec (nowayout=0)
août 07 10:12:13 localhost.localdomain kernel: Modules linked in: ip_set nfnetlink ebtable_nat ebtable_broute bridge stp llc ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack libcrc32c iptable_mangle iptable_raw iptable_security ebtable_filter ebtables ip6table_filter ip6_tables nvidia_drm(POE) nvidia_modeset(POE) nvidia(POE) snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel edac_mce_amd kvm_amd snd_hda_codec ccp kvm snd_hda_core snd_hwdep irqbypass joydev crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_seq snd_seq_device snd_pcm snd_timer snd drm_kms_helper drm ipmi_devintf ipmi_msghandler eeepc_wmi asus_wmi sparse_keymap rfkill video soundcore wmi_bmof fam15h_power sp5100_tco


journalctl -k -b | grep piix4
journalctl -k -b | grep piix4
août 07 10:11:28 localhost.localdomain kernel: piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
août 07 10:11:28 localhost.localdomain kernel: piix4_smbus 0000:00:14.0: Using register 0x2c for SMBus port selection
août 07 10:11:28 localhost.localdomain kernel: piix4_smbus 0000:00:14.0: Auxiliary SMBus Host Controller at 0xb20
août 07 10:12:13 localhost.localdomain kernel:  shpchp k10temp i2c_piix4 pcc_cpufreq acpi_cpufreq binfmt_misc hid_corsair firewire_ohci mxm_wmi crc32c_intel firewire_core crc_itu_t uas usb_storage r8169 mii wmi

Comment 55 Kim Bisgaard 2018-08-07 08:36:23 UTC
Works fine with following CPU/OS:
AMD A10-7700K Radeon R7, 10 Compute Cores 4C+6G/4.17.12-200.fc28.x86_64
AMD A8-6500 APU with Radeon(tm) HD Graphics/4.17.11-200.fc28.x86_64

Thanks!!

Comment 56 Talha Khan 2018-09-21 18:27:07 UTC
Seems ok now with my setup:

$ cat /proc/cpuinfo | grep model
model           : 17
model name      : AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx

$ uname -a
Linux <hostname>.<domain> 4.18.8-200.fc28.x86_64 #1 SMP Sun Sep 16 18:15:41 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ dmesg | grep sp51
[    5.220509] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
[    5.220697] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
[    5.220719] sp5100-tco sp5100-tco: Watchdog hardware is disabled

Comment 57 Knud Christiansen 2018-11-24 22:33:49 UTC
On my Threadripper system Asrock X399 the Watchdog HW is disabled

[   13.030342] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
[   13.030974] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
[   13.030984] sp5100-tco sp5100-tco: Watchdog hardware is disabled

Which can not be a solution

Comment 58 Knud Christiansen 2018-11-24 22:35:12 UTC
System is :
uname -a
Linux ryzen.ibmpeers 4.19.2-200.fc28.x86_64 #1 SMP Wed Nov 14 20:58:35 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Comment 59 Soeren Grunewald 2019-03-12 10:22:11 UTC
Still not working:

$ dmesg | egrep 'sp5100|Linux version|DMI:'
[    0.000000] Linux version 5.0.1-300.fc29.x86_64 (mockbuild.fedoraproject.org) (gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)) #1 SMP Tue Mar 12 05:53:27 UTC 2019
[    0.000000] DMI: Micro-Star International Co., Ltd. MS-7A34/B350 PC MATE (MS-7A34), BIOS A.J0 01/23/2019
[    4.128523] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
[    4.128607] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
[    4.128618] sp5100-tco sp5100-tco: Watchdog hardware is disabled

Comment 60 Mustafa Mehmed 2019-10-11 00:43:49 UTC
Still not working Fedora30.

$ uname -a

Linux musi 5.2.18-200.fc30.x86_64 #1 SMP Tue Oct 1 13:14:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$ journalctl -b0 | grep sp5100
Oct 11 09:25:29 musi kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
Oct 11 09:25:29 musi kernel: sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
Oct 11 09:25:29 musi kernel: sp5100-tco sp5100-tco: Watchdog hardware is disabled

Comment 61 Jeffrey Walton 2020-09-12 07:51:48 UTC
I think this can be closed.

Comment 62 Knud Christiansen 2020-09-12 14:07:35 UTC
I can confirm with Kernel 5.8.7-200 problem is gone.

When it is disappeared I don't know.

Comment 63 Mustafa Mehmed 2020-09-12 22:14:53 UTC
I can confirm that with kernel 5.8.7-200 (x86_64) it still exists.

$ journalctl -b0 | grep sp5100
Sep 13 08:12:16 musi kernel: sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
Sep 13 08:12:16 musi kernel: sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
Sep 13 08:12:16 musi kernel: sp5100-tco sp5100-tco: Watchdog hardware is disabled

Comment 64 Zoltan Boszormenyi 2020-09-13 09:34:26 UTC
(In reply to Mustafa Mehmed from comment #63)
> Sep 13 08:12:16 musi kernel: sp5100-tco sp5100-tco: Watchdog hardware is
> disabled

This line means that your motherboard or BIOS disables the watchdog
and the driver gives up.

This  has nothing to do with the original port I/O reservation issue
which was fixed quite a few kernel releases ago.


Note You need to log in before you can comment on or make changes to this bug.