Messages in this thread | | | Date | Thu, 11 May 2023 22:17:18 +0200 | From | Heiner Kallweit <> | Subject | Re: [PATCH 14/17] r8169: Use pcie_lnkctl_clear_and_set() for changing LNKCTL |
| |
On 11.05.2023 22:02, Lukas Wunner wrote: > On Thu, May 11, 2023 at 09:49:52PM +0200, Heiner Kallweit wrote: >> On 11.05.2023 15:14, Ilpo Järvinen wrote: >>> Don't assume that only the driver would be accessing LNKCTL. ASPM >>> policy changes can trigger write to LNKCTL outside of driver's control. >>> >>> Use pcie_lnkctl_clear_and_set() which does proper locking to avoid >>> losing concurrent updates to the register value. >> >> Wouldn't it be more appropriate to add proper locking to the >> underlying pcie_capability_clear_and_set_word()? > > PCI config space accessors such as this one are also used in hot paths > (e.g. interrupt handlers). They should be kept lean (and lockless)
I *think* in case the system uses threaded interrupts you may need locking also in interrupt handlers.
> by default. We only need locking for specific PCIe Extended Capabilities > which are concurrently accessed by PCI core code and drivers. > > Thanks, > > Lukas
| |