NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/59087: dwiic(4) doesn't work
>Number: 59087
>Category: kern
>Synopsis: dwiic(4) doesn't work
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Feb 19 21:35:00 +0000 2025
>Originator: Paul Goyette
>Release: NetBSD 10.99.12
>Organization:
+---------------------+--------------------------+----------------------+
| Paul Goyette (.sig) | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | 1B11 1849 721C 56C8 F63A | paul%whooppee.com@localhost |
| Software Developer | 6E2E 05FD 15CE 9F2D 5102 | pgoyette%netbsd.org@localhost |
| & Network Engineer | | pgoyette99%gmail.com@localhost |
+---------------------+--------------------------+----------------------+
>Environment:
System: NetBSD speedy.whooppee.com 10.99.12 NetBSD 10.99.12 (SPEEDY 2025-02-09 23:04:47 UTC) #0: Mon Feb 10 04:36:23 UTC 2025 paul%speedy.whooppee.com@localhost:/build/netbsd-local/obj/amd64/sys/arch/amd64/compile/SPEEDY amd64
Architecture: x86_64
Machine: amd64
>Description:
I have tried this on two motherboads, and both fail the same way. The
specific examples in this PR are from a ASUS ROG STRIX B870X mo-bo, and
a previous ASUS ROG HERO B670X failed the same way.
When probing for devices, the dwiic driver reports one of the two error
messages below. The first one occurs when probing for a device that is
(or should be) there, ie spdmem(4) at 0x50 thru 0x53; the second error
is for all non-populated addresses:
[ 587.437174] dwiic0: timed out waiting for rx_full intr
[ 587.437174] dwiic0: timed out reading remaining 0
or
[ 587.937315] dwiic0: timed out waiting for stop intr
No child device is ever attached.
The first error repeats indefinitely when attempting to load the spdmem
module. It never gets past iic0 on dwiic0, even though there are some
devices on iic1:
(dmesg from ''modload spdmem'')
...
[ 12772.242385] dwiic0: timed out waiting for rx_full intr
[ 12772.242385] dwiic0: timed out reading remaining 1
[ 12772.742589] dwiic0: timed out waiting for rx_full intr
[ 12772.742589] dwiic0: timed out reading remaining 1
[ 12773.242794] dwiic0: timed out waiting for rx_full intr
[ 12773.242794] dwiic0: timed out reading remaining 1
...
[ 12867.280917] dwiic0: timed out waiting for rx_full intr
[ 12867.280917] dwiic0: timed out reading remaining 1
[ 12867.781118] dwiic0: timed out waiting for rx_full intr
[ 12867.781118] dwiic0: timed out reading remaining 1
...
(totall of 400 lines, 200 iterations)
# i2cscan iic1
iic1: found device at 0x13
iic1: found device at 0x50
iic1: found device at 0x51
iic1: found device at 0x52
iic1: found device at 0x53
#
The configuration for dwiic(4) itself looks like this:
...
[ 1.013430] GPIO (AMDI0030) at acpi0 not configured
[ 1.013430] PPKG (AMDI0052) at acpi0 not configured
[ 1.013430] dwiic0 at acpi0 (I2CA, AMDI0010-0): mem 0xfedc2000-0xfedc2fff irq 10
[ 1.013430] iic0 at dwiic0: I2C bus
[ 1.013430] U4RH (MSFT8000) at iic0 addr 0x40 not configured
[ 1.013430] U4PD (ITE8853) at iic0 addr 0x4c not configured
[ 1.013430] TYPC (RTK5452) at iic0 addr 0x0c not configured
[ 1.013430] PTIO (AMDIF031) at acpi0 not configured
[ 1.013430] AWW0 (PNP0C14) at acpi0 not configured
...
>How-To-Repeat:
load the spdmem or sdtemmp modules, and/or run i2cscan(8)
>Fix:
please
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index