All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukas Wunner <lukas@wunner.de>
To: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: linux-pci@vger.kernel.org, "Bjorn Helgaas" <bhelgaas@google.com>,
	"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Wilczy??ski" <kw@linux.com>,
	"Emmanuel Grumbach" <emmanuel.grumbach@intel.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Stefan Mätje" <stefan.maetje@esd.eu>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Jesse Barnes" <jbarnes@virtuousgeek.org>,
	"Matthew Garrett" <mjg59@srcf.ucam.org>,
	"Shaohua Li" <shaohua.li@intel.com>,
	"Thomas Renninger" <trenn@suse.de>,
	"Greg Kroah-Hartman" <gregkh@suse.de>,
	linux-kernel@vger.kernel.org,
	"Dean Luick" <dean.luick@cornelisnetworks.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH v2 3/9] PCI/ASPM: Use RMW accessors for changing LNKCTL
Date: Fri, 16 Jun 2023 21:10:56 +0200	[thread overview]
Message-ID: <20230616191056.GA30821@wunner.de> (raw)
In-Reply-To: <20230517105235.29176-4-ilpo.jarvinen@linux.intel.com>

On Wed, May 17, 2023 at 01:52:29PM +0300, Ilpo Järvinen wrote:
> Don't assume that the device is fully under the control of ASPM and use
> RMW capability accessors which do proper locking to avoid losing
> concurrent updates to the register values.
> 
> If configuration fails in pcie_aspm_configure_common_clock(), the
> function attempts to restore the old PCI_EXP_LNKCTL_CCC settings. Store
> only the old PCI_EXP_LNKCTL_CCC bit for the relevant devices rather
> than the content of the whole LNKCTL registers. It aligns better with
> how pcie_lnkctl_clear_and_set() expects its parameter and makes the
> code more obvious to understand.
[...]
> @@ -224,17 +223,14 @@ static bool pcie_retrain_link(struct pcie_link_state *link)
>  	if (!pcie_wait_for_retrain(parent))
>  		return false;
>  
> -	pcie_capability_read_word(parent, PCI_EXP_LNKCTL, &reg16);
> -	reg16 |= PCI_EXP_LNKCTL_RL;
> -	pcie_capability_write_word(parent, PCI_EXP_LNKCTL, reg16);
> +	pcie_capability_set_word(parent, PCI_EXP_LNKCTL, PCI_EXP_LNKCTL_RL);
>  	if (parent->clear_retrain_link) {

This and several other RMW operations in drivers/pci/pcie/aspm.c
are touched by commit b1689799772a ("PCI/ASPM: Use distinct local
vars in pcie_retrain_link()") which got applied to pci/enumeration
this week:

https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/commit/?h=enumeration&id=b1689799772a6f4180f918b0ff66e264a3db9796

As a result the $SUBJECT_PATCH no longer applies cleanly and needs
to be respun.

Thanks,

Lukas

  parent reply	other threads:[~2023-06-16 19:11 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-17 10:52 [PATCH v2 0/9] PCI: Improve PCIe Capability RMW concurrency control Ilpo Järvinen
2023-05-17 10:52 ` [PATCH v2 1/9] PCI: Add locking to RMW PCI Express Capability Register accessors Ilpo Järvinen
2023-05-17 11:32   ` Rafael J. Wysocki
2023-05-17 10:52 ` [PATCH v2 2/9] PCI: pciehp: Use RMW accessors for changing LNKCTL Ilpo Järvinen
2023-05-17 11:32   ` Rafael J. Wysocki
2023-05-17 10:52 ` [PATCH v2 3/9] PCI/ASPM: " Ilpo Järvinen
2023-05-17 11:33   ` Rafael J. Wysocki
2023-06-16 19:10   ` Lukas Wunner [this message]
2023-06-19 14:45     ` Ilpo Järvinen
2023-06-19 15:09       ` Bjorn Helgaas
2023-06-19 16:06         ` Ilpo Järvinen
2023-05-17 10:52 ` [PATCH v2 4/9] drm/amdgpu: " Ilpo Järvinen
2023-05-17 10:52   ` Ilpo Järvinen
2023-05-17 10:52 ` [PATCH v2 5/9] drm/radeon: " Ilpo Järvinen
2023-05-17 10:52   ` Ilpo Järvinen
2023-05-17 10:52 ` [PATCH v2 6/9] net/mlx5: " Ilpo Järvinen
2023-05-17 11:18   ` Moshe Shemesh
2023-05-17 10:52 ` [PATCH v2 7/9] wifi: ath11k: " Ilpo Järvinen
2023-05-17 10:52   ` Ilpo Järvinen
2023-05-17 11:04   ` Kalle Valo
2023-05-17 11:04     ` Kalle Valo
2023-05-17 10:52 ` [PATCH v2 8/9] wifi: ath12k: " Ilpo Järvinen
2023-05-17 10:52   ` Ilpo Järvinen
2023-05-17 11:03   ` Kalle Valo
2023-05-17 11:03     ` Kalle Valo
2023-05-17 10:52 ` [PATCH v2 9/9] wifi: ath10k: " Ilpo Järvinen
2023-05-17 10:52   ` Ilpo Järvinen
2023-05-17 11:05   ` Kalle Valo
2023-05-17 11:05     ` Kalle Valo
2023-05-24 15:10   ` Bjorn Helgaas
2023-05-24 15:10     ` Bjorn Helgaas
2023-05-25 10:11     ` Ilpo Järvinen
2023-05-25 10:11       ` Ilpo Järvinen
2023-05-26 11:48       ` Ilpo Järvinen
2023-05-26 11:48         ` Ilpo Järvinen
2023-05-26 22:26         ` Bjorn Helgaas
2023-05-26 22:26           ` Bjorn Helgaas
2023-05-26 22:20       ` Bjorn Helgaas
2023-05-26 22:20         ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230616191056.GA30821@wunner.de \
    --to=lukas@wunner.de \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=dean.luick@cornelisnetworks.com \
    --cc=emmanuel.grumbach@intel.com \
    --cc=gregkh@suse.de \
    --cc=hkallweit1@gmail.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kw@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mjg59@srcf.ucam.org \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=shaohua.li@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=stefan.maetje@esd.eu \
    --cc=trenn@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.