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:
Software Rendering ā due to nomodeset parameter which was fixed.
i2c
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?
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.
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
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)
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.