lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 24 Apr 2024 12:27:57 +0800
From: Jian-Hong Pan <jhp@...lessos.org>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: Johan Hovold <johan@...nel.org>, David Box <david.e.box@...ux.intel.com>, 
	Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>, 
	Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@...ux.intel.com>, 
	Mika Westerberg <mika.westerberg@...ux.intel.com>, Damien Le Moal <dlemoal@...nel.org>, 
	Nirmal Patel <nirmal.patel@...ux.intel.com>, 
	Jonathan Derrick <jonathan.derrick@...ux.dev>, linux-pci@...r.kernel.org, 
	linux-kernel@...r.kernel.org, linux@...lessos.org
Subject: Re: [PATCH v4 3/3] PCI/ASPM: Fix L1.2 parameters when enable link state

Bjorn Helgaas <helgaas@...nel.org> 於 2024年3月2日 週六 上午5:41寫道:
>
> In subject:
>
>   PCI/ASPM: Fix L1.2 parameters before enabling L1.2
>
> > +     if (state & link->aspm_capable & ASPM_STATE_L1_2_MASK) {
> > +             parent_l1ss_cap = aspm_get_l1ss_cap(parent);
> > +             child_l1ss_cap = aspm_get_l1ss_cap(child);
> > +             aspm_calc_l12_info(link, parent_l1ss_cap, child_l1ss_cap);
>
> Why doesn't this happen already via normal enumeration?  It looks like
> this path should do it even without this patch:
>
>   pcie_aspm_init_link_state
>     pcie_aspm_cap_init
>       aspm_l1ss_init

I watch the VMD remapped PCI devices' power states during this path.
Their power states stay at "unknown" until someone sets their power
state to "D0".
And, because their power states stay at "unknown", the L1.2 of the
link between VMD remapped PCIe Root Port and NVMe gets wrong configs
when system goes through this path.
So, system has to calculate the L1.2 information again after set PCI
devices' power state to D0.

Sorry for the late reply.  Got my laptop back recently.

Jian-Hong Pan

> > +     }
> >       pcie_config_aspm_link(link, policy_to_aspm_state(link));
> >
> >       link->clkpm_default = (state & PCIE_LINK_STATE_CLKPM) ? 1 : 0;
> > --
> > 2.43.2
> >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ