Messages in this thread | | | Date | Thu, 9 Nov 2023 16:31:40 -0600 | From | Bjorn Helgaas <> | Subject | Re: [PATCH v7 2/3] PCI: brcmstb: Configure HW CLKREQ# mode appropriate for downstream device |
| |
On Thu, Nov 09, 2023 at 05:06:15PM -0500, Jim Quinlan wrote: > ...
> BTW, besides the RPi4, I haven't been able to find a Linux platform > where I can do > > echo $POLICY > /sys/module/pcie_aspm/parameters/policy
This sounds like something we should fix. What exactly happens? I think this should be handled at pcie_aspm_set_policy(), so:
/sys/module/pcie_aspm/parameters/policy doesn't exist (seems unlikely)?
Returns -EPERM (would indicate aspm_disabled)?
Returns -EINVAL (would indicate $POLICY doesn't match anything in policy_str[])?
Returns 0 with no action (would indicate $POLICY is the same as the current aspm_policy)?
> It seems that the FW/ACPI typically locks this down. I did see a > comment somewhere that > said that the reason it was locked down is because too many devices > cannot handle it.
Do you have any details about FW/ACPI locking this down? aspm_disabled is set by the kernel "pcie_aspm=off" parameter (I assume you're not referring to this), if the FADT has ACPI_FADT_NO_ASPM set, or if a host bridge's _OSC is missing or failed (maybe [1] is the comment you saw?)
These all *should* be unusual cases, so I'd be surprised if you're tripping over one of these. I would NOT be surprised if we had some issue in pcie_config_aspm_link() or pcie_set_clkpm() that meant the policy change didn't work as intended, though.
Bjorn
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/acpi/pci_root.c?id=v6.6#n617
| |