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

From: Jim Quinlan
Date: Fri Nov 10 2023 - 12:53:11 EST


On Thu, Nov 9, 2023 at 5:31 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote:
>
> 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:

Well, I've tried changing the ASPM policy on my x86 Ubuntu system and
IIRC a Fedora system.
In both cases it says "illegal write operation" but I am root and the
"policy" file does have
rw perms for root, so I have no idea how it comes back with that
error. Some machines
allow one to change the setting in the BIOS , FWIW.

Right now on my CM4, "echo $POLICY > policy" actually works. Perhaps
when I was testing this I did not yet apply my commits, or perhaps it was with
a specific endpoint device. Regardless, I'll let you know with a
backtrace if I see
this again.

Regards,
Jim


>
> /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
>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature