[PATCH v7 2/3] PCI: brcmstb: Configure HW CLKREQ# mode appropriate for downstream device

Bjorn Helgaas helgaas at kernel.org
Thu Nov 9 14:31:40 PST 2023


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
  



More information about the linux-arm-kernel mailing list