2012-02-15 11:55:19

by Roman Fietze

[permalink] [raw]
Subject: ASPM, devices with mixed PCIe/PCI functions

Hello,

I'm referring to commit ddc9753fcddfe5f.

On our system we use a PCIe-Local-Bridge, the PEX8311, which
internally is a quick and dirty design glued together using a PEX8111
and a PEX9056. I'm now just talking about the PEX8111, which is a PCIe
to PCI-X bridge.

The function pcie_aspm_sanity_check() in drivers/pci/pcie/aspm.c
disables ASPM for this bridge, because the child (PEX9056) is not
PCIe, hereby disabling power savings on the upstream PCIe link.

Is this a flaw? What is the reason for this? Could please someone with
more PCI(e) knowledge enlighten me?

I'm of course willing to deliver a patch to fix this (IMHO) problem,
but this only makes sense if I'm not totally wrong in my assumption,
that ASPM should be enabled on such devices (besides the fact, that
the PEX8111 does not have PCI_EXP_DEVCAP_RBER set).


Roman

--
Roman Fietze Telemotive AG Buero Muehlhausen
Breitwiesen 73347 Muehlhausen
Tel.: +49(0)7335/18493-45 http://www.telemotive.de