Re: [PATCH net-next v9 7/7] r8169: fix RTL8116af can not enter s0idle and c10

From: Andrew Lunn

Date: Wed Sep 02 2026 - 11:10:01 EST


On Mon, Aug 31, 2026 at 01:37:45PM +0800, javen wrote:
> From: Javen Xu <javen_xu@xxxxxxxxxxxxxx>
>
> RTL8116AF is a multi-function device. Functions 2 to 7 are hidden from
> the PCI core and return an all-ones response when their vendor ID is read,
> so they are not enumerated as normal PCI functions.
>
> However, these hidden functions can still affect platform power
> management. If they are left in D0 or keep ASPM disabled, the platform may
> fail to enter the low-power s0ix state and the CPU package may fail to
> enter Package C10.
>
> Put functions 2 to 7 into D3hot and enable ASPM on their PCIe link control
> register. Since these functions are hidden, access their configuration
> space through pci_bus_read_config_dword() / pci_bus_write_config_dword()
> using the same slot and the target function numbers.
>
> Ignore functions that return a PCI error response when reading their
> configuration space.
>
> Signed-off-by: Javen Xu <javen_xu@xxxxxxxxxxxxxx>

Reviewed-by: Andrew Lunn <andrew@xxxxxxx>

Andrew