I2c_designware AMDI0010:00

Hi,

I notice from dmesg that the i2c is forced to underperform.

htw@fedora:~$ sudo dmesg | grep -i firmware
[sudo] password for htw: 
[    0.539267] i2c_designware AMDI0010:00: [Firmware Bug]: DSDT uses known not-working I2C bus speed 400000, forcing it to 100000

and is this error message related or the same as the above?

00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Krackan Internal PCIe GPP Bridge 0 to Bus C [1022:1112]
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
	Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:150c]
	Kernel driver in use: pcieport
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71)

I am using Fedora 42, and the specs of my laptop is according to ~$ inxi -Fzxx

Kernel: 6.16.7-200.fc42.x86_64 arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
  Desktop: GNOME v: 48.4 Distro: Fedora Linux 42 (Workstation Edition)
Machine:
  Type: Laptop System: LENOVO product: 83JL v: IdeaPad Pro 5 14AKP10
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76580 WIN
    serial: <superuser required> UEFI: LENOVO v: QKCN26WW date: 06/23/2025
Battery:
  ID-1: BAT1 charge: 43.0 Wh (49.2%) condition: 87.4/84.0 Wh (104.0%)
    volts: 15.6 min: 15.6 model: Sunwoda L23D4PF1 status: discharging
CPU:
  Info: 8-core model: AMD Ryzen AI 7 350 w/ Radeon 860M bits: 64 type: MT MCP
    arch: N/A rev: 0 cache: L1: 640 KiB L2: 8 MiB L3: 16 MiB
  Speed (MHz): avg: 2072 min/max: 623/5091:3506 boost: enabled cores:
    1: 2072 2: 2072 3: 2072 4: 2072 5: 2072 6: 2072 7: 2072 8: 2072 9: 2072
    10: 2072 11: 2072 12: 2072 13: 2072 14: 2072 15: 2072 16: 2072
    bogomips: 63885
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Krackan [Radeon 840M / 860M
    Graphics] vendor: Lenovo driver: amdgpu v: kernel bus-ID: c2:00.0
    temp: 32.0 C
  Device-2: Chicony Integrated Camera driver: uvcvideo type: USB
    bus-ID: 1-1:2
  Display: wayland server: X.Org v: 24.1.8 with: Xwayland v: 24.1.8
    compositor: gnome-shell driver: dri: radeonsi gpu: amdgpu
    resolution: 3840x2400~60Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 25.1.7 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon 860M Graphics (radeonsi gfx1152
    LLVM 20.1.8 DRM 3.64 6.16.7-200.fc42.x86_64)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo x11: xdriinfo, xdpyinfo, xprop, xrandr
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio
    [Rembrandt/Strix] vendor: Lenovo driver: snd_hda_intel v: kernel
    bus-ID: c2:00.1
  Device-2: Advanced Micro Devices [AMD] Audio Coprocessor vendor: Lenovo
    driver: snd_acp_pci v: kernel bus-ID: c2:00.5
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
    vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: c2:00.6
  API: ALSA v: k6.16.7-200.fc42.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.4.8 status: active
Network:
  Device-1: Realtek RTL8922AE 802.11be PCIe Wireless Network Adapter
    vendor: Lenovo driver: rtw89_8922ae v: kernel port: 2000 bus-ID: c1:00.0
  IF: wlp193s0 state: up mac: <filter>
Bluetooth:
  Device-1: Realtek Bluetooth Radio driver: btusb v: 0.8 type: USB
    bus-ID: 3-5:2
  Report: btmgmt ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 5.3
    lmp-v: 12
Drives:
  Local Storage: total: 953.87 GiB used: 11.55 GiB (1.2%)
  ID-1: /dev/nvme0n1 vendor: Western Digital model: WD PC SN7100S
    SDFPMSL-1T00-1101 size: 953.87 GiB temp: 35.9 C
Partition:
  ID-1: / size: 72.78 GiB used: 8.92 GiB (12.3%) fs: ext4 dev: /dev/nvme0n1p6
  ID-2: /boot size: 1.11 GiB used: 462.9 MiB (40.9%) fs: ext4
    dev: /dev/nvme0n1p5
  ID-3: /boot/efi size: 256 MiB used: 85.2 MiB (33.3%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 91.11 GiB used: 2.09 GiB (2.3%) fs: ext4
    dev: /dev/nvme0n1p7
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  System Temperatures: cpu: N/A mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 32 GiB note: est. available: 30.63 GiB used: 4.7 GiB (15.3%)
  Processes: 409 Uptime: 34m Init: systemd target: graphical (5)
  Packages: 5 note: see --rpm Compilers: N/A Shell: Bash v: 5.2.37
    inxi: 3.3.38

How do I fix it?

Thank you
Henry

I don’t believe it’s fixable. Changing I2C bus speed seems possible with the broadcom driver on Raspberry Pis, but I can’t find anything about other drivers; and on Pi it involves either loading the driver with baudrate or modifying the device tree (ARM-specific?)


But if it’s really known to be problematic at the higher speed, I’d start with finding out why. Is the DSDT broken for non-Windows? Does Windows allow the 400000 speed? (maybe with a non-MS driver?)

I’d then look at DSDT for supported Windows OSs and force one with something like acpi_osi='Windows 2017'; maybe different DSDT/ACPI stuff from Windows reports a different I2C speed or does something different for the bus.

What symptoms have you noticed of the slower I²C frequency that you need to fix? Or is it just that the message bothers you?

I²C is a bus that transmits very low volumes of data, e.g., from temperature sensors, etc. If this is an off the shelf system with I²C and you are not trying to develop with a chip attached to I²C that requires a higher data rate for the vast amounts of data you need to transmit to/from it, I doubt you will notice.

This message came up while investigating sluggish Fedora 42 performance.
3 error message came up:

  1. Software Rendering → due to nomodeset parameter which was fixed.
  2. i2c
  3. PCIe GPP bridge: Operation not permitted

I thought fixing this might boost the laptop performance even further. However, since this i2c is just transmitting low volume nature of data, I wouldn’t worry about it.

What about the PCI Bridge 0604 message? Is the ā€˜Operation not permitted’ should be of any concern?

Thanks
Henry

Is that coming from lspci? If so, I wonder if running it with sudo/root would allow the operation to read that file? I’d also check if /sys/bus/pci/devices/0000:00:08.3/label exist.

Yes, it comes from lspci.
I tried it using sudo and it still complains of ā€˜Operation not permitted’.

htw@fedora:~/Downloads$ sudo lspci -v | grep 08.3
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
00:08.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Krackan Internal PCIe GPP Bridge 0 to Bus C (prog-if 00 [Normal decode])
htw@fedora:~/Downloads$ 

The file /sys/bus/pci/devices/0000:00:08.3/label exists.

htw@fedora:/sys/bus/pci/devices/0000:00:08.3$ ls -al
total 0
drwxr-xr-x. 15 root root    0 Sep 23 20:29 .
drwxr-xr-x. 29 root root    0 Sep 23 20:29 ..
drwxr-xr-x.  3 root root    0 Sep 23 20:29 0000:00:08.3:pcie001
drwxr-xr-x.  3 root root    0 Sep 23 20:29 0000:00:08.3:pcie010
drwxr-xr-x. 10 root root    0 Sep 23 20:29 0000:c4:00.0
drwxr-xr-x. 10 root root    0 Sep 23 20:29 0000:c4:00.3
drwxr-xr-x. 10 root root    0 Sep 23 20:29 0000:c4:00.4
drwxr-xr-x.  8 root root    0 Sep 23 20:29 0000:c4:00.5
drwxr-xr-x.  8 root root    0 Sep 23 20:29 0000:c4:00.6
-r--r--r--.  1 root root 4096 Sep 24 09:09 acpi_index
drwxr-xr-x.  2 root root    0 Sep 24 09:09 aer
-r--r--r--.  1 root root 4096 Sep 24 09:09 ari_enabled
-rw-r--r--.  1 root root 4096 Sep 24 09:09 broken_parity_status
-r--r--r--.  1 root root 4096 Sep 23 13:30 class
-rw-r--r--.  1 root root 4096 Sep 24 09:06 config
-r--r--r--.  1 root root 4096 Sep 24 09:09 consistent_dma_mask_bits
-r--r--r--.  1 root root 4096 Sep 24 09:09 current_link_speed
-r--r--r--.  1 root root 4096 Sep 24 09:09 current_link_width
-rw-r--r--.  1 root root 4096 Sep 24 09:09 d3cold_allowed
-r--r--r--.  1 root root 4096 Sep 23 13:30 device
-r--r--r--.  1 root root 4096 Sep 24 09:09 dma_mask_bits
lrwxrwxrwx.  1 root root    0 Sep 23 13:29 driver -> ../../../bus/pci/drivers/pcieport
-rw-r--r--.  1 root root 4096 Sep 24 09:09 driver_override
-rw-r--r--.  1 root root 4096 Sep 24 09:09 enable
lrwxrwxrwx.  1 root root    0 Sep 24 09:09 firmware_node -> ../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2a
lrwxrwxrwx.  1 root root    0 Sep 24 09:09 iommu -> ../0000:00:00.2/iommu/ivhd0
lrwxrwxrwx.  1 root root    0 Sep 24 09:06 iommu_group -> ../../../kernel/iommu_groups/13
-r--r--r--.  1 root root 4096 Sep 24 09:06 irq
-r--r--r--.  1 root root 4096 Sep 24 09:06 label
drwxr-xr-x.  2 root root    0 Sep 24 09:09 link
-r--r--r--.  1 root root 4096 Sep 24 09:09 local_cpulist

You can tell lspci which device you are interested in directly via the -s switch, without having to resort to grep and losing all the other lines.

I do have the same message on my ThinkPad T14 AMD and I don’t see any adverse effects from that, the machine runs totally fine:

~ āÆ lspci -vs 00:08.3
00:08.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] (prog-if 00 [Normal decode])
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
        Subsystem: Lenovo Device 50d9
        Flags: bus master, fast devsel, latency 0, IRQ 39, IOMMU group 11
        Bus: primary=00, secondary=66, subordinate=66, sec-latency=0
        I/O behind bridge: [disabled] [32-bit]
        Memory behind bridge: 78800000-78afffff [size=3M] [32-bit]
        Prefetchable memory behind bridge: [disabled] [64-bit]
        Capabilities: <access denied>
        Kernel driver in use: pcieport


~ āÆ sudo lspci -vs 00:08.3
Legen Sie Ihren Finger auf den Fingerabdruckleser
00:08.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] (prog-if 00 [Normal decode])
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
        Subsystem: Lenovo Device 50d9
        Flags: bus master, fast devsel, latency 0, IRQ 39, IOMMU group 11
        Bus: primary=00, secondary=66, subordinate=66, sec-latency=0
        I/O behind bridge: [disabled] [32-bit]
        Memory behind bridge: 78800000-78afffff [size=3M] [32-bit]
        Prefetchable memory behind bridge: [disabled] [64-bit]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Root Port (Slot-), IntMsgNum 0
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [c0] Subsystem: Lenovo Device 50d9
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [270] Secondary PCI Express
        Capabilities: [2a0] Access Control Services
        Capabilities: [400] Data Link Feature <?>
        Capabilities: [410] Physical Layer 16.0 GT/s
        Capabilities: [450] Lane Margining at the Receiver
        Kernel driver in use: pcieport
1 Like

I’m seeing the same message on an XPS 13 9310 on 6.16.12-200.fc42.x86_64, and it seems to be related to my trackpad not working. Or working irregularly. The pointer will move only about half of the time I try to move it.

Oct 17 19:39:54 vagabond kernel: Linux version 6.16.12-200.fc42.x86_64 (mockbuild@abcc44cb423344ae9f4fc0f0f68ab138) (gcc (GCC) 15.2.1 20250808 (Red Hat 15.2.1-1), GNU ld version 2.44-6.fc42) #1 SMP PREEMPT_DYNAMIC Sun Oct 12 16:31:16 UTC 2025

Oct 17 19:39:54 vagabond kernel: i2c_designware i2c_designware.1: [Firmware Bug]: DSDT uses known not-working I2C bus speed 400000, forcing it to 100000

@l-c-g Thanks for the -s switch info

htw@fedora:~/Downloads/ABDownloadManager/bin$ sudo lspci -vs 08.3
00:08.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Krackan Internal PCIe GPP Bridge 0 to Bus C (prog-if 00 [Normal decode])
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
	Subsystem: Advanced Micro Devices, Inc. [AMD] Device 150c
	Flags: bus master, fast devsel, latency 0, IRQ 38, IOMMU group 12
	Bus: primary=00, secondary=c4, subordinate=c4, sec-latency=0
	I/O behind bridge: [disabled] [32-bit]
	Memory behind bridge: b0500000-b08fffff [size=4M] [32-bit]
	Prefetchable memory behind bridge: [disabled] [64-bit]
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Express Root Port (Slot-), IntMsgNum 0
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [c0] Subsystem: Advanced Micro Devices, Inc. [AMD] Device 150c
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [270] Secondary PCI Express
	Capabilities: [2a0] Access Control Services
	Capabilities: [400] Data Link Feature <?>
	Capabilities: [410] Physical Layer 16.0 GT/s
	Capabilities: [450] Lane Margining at the Receiver
	Kernel driver in use: pcieport

As I am just using the laptop for office purpose, so far, there is no effect on the system with this error message. Not sure if it has anything to do with AI function (the laptop has a sticker of AMD RYZEN AI 7)

And in my case my trackpad works just fine.

While I cannot rule this out, I strongly doubt it. I²C at 100kHz has a data rate of 100kbit/s (1 bit per clock cycle), that should be plenty for a touchpad.

And it’s not like this is just a random problem. The kernel output clearly states that the DSDT table in your firmware uses an I²C bus speed that is known to have issues. As a fix, the kernel overrides the DSDT value with a lower clock speed.