linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Manivannan Sadhasivam <mani@kernel.org>
Cc: "Bjorn Helgaas" <helgaas@kernel.org>,
	"Krishna Chaitanya Chundru" <krishna.chundru@oss.qualcomm.com>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Jeff Johnson" <jjohnson@kernel.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
	linux-pci@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	linux-arm-msm@vger.kernel.org, mhi@lists.linux.dev,
	linux-wireless@vger.kernel.org, ath11k@lists.infradead.org,
	qiang.yu@oss.qualcomm.com, quic_vbadigan@quicinc.com,
	quic_vpernami@quicinc.com, quic_mrana@quicinc.com,
	"Jeff Johnson" <jeff.johnson@oss.qualcomm.com>
Subject: Re: [PATCH v4 06/11] PCI/ASPM: Clear aspm_disable as part of __pci_enable_link_state()
Date: Sun, 13 Jul 2025 19:27:57 +0300 (EEST)	[thread overview]
Message-ID: <9543b1eb-5bd2-bea1-742f-60cbc28bb365@linux.intel.com> (raw)
In-Reply-To: <qay63njqf7z7mchizt5sm66i67rvxxxicikxmfuvllmmxfy7ek@mulnjvde5q7w>

[-- Attachment #1: Type: text/plain, Size: 2624 bytes --]

On Sat, 12 Jul 2025, Manivannan Sadhasivam wrote:
> On Fri, Jul 11, 2025 at 06:00:13PM GMT, Bjorn Helgaas wrote:
> > On Fri, Jul 11, 2025 at 04:38:48PM +0300, Ilpo Järvinen wrote:
> > 
> > > +++ b/include/linux/pci.h
> > > @@ -1826,8 +1826,8 @@ static inline int pcie_set_target_speed(struct pci_dev *port,
> > >  #ifdef CONFIG_PCIEASPM
> > >  int pci_disable_link_state(struct pci_dev *pdev, int state);
> > >  int pci_disable_link_state_locked(struct pci_dev *pdev, int state);
> > > -int pci_enable_link_state(struct pci_dev *pdev, int state);
> > 
> > AFAICT there's no caller of this at all.  Why do we keep it?
> > 
> 
> I'm just working on a series to convert the ath{10/11/12}k drivers to use this
> API instead of modifying LNKCTL register directly:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wireless/ath/ath12k/pci.c#n961

Great. I assume but "this API" you meant disable/enable link state that 
are real pair unlike the current pci_enable_link_state()?

Did ath1xk need to do some hw specific register updates when changing ASPM 
state?

I tried to do similar conversion in r8169 (and actually also ath1xk too) 
but it was a while ago already. If I understood the code correctly, r8169 
seems to write some HW specific registers when changing ASPM state so I 
would have likely need to add some ops for it to play nice with state 
changes not originating from the driver itself but from the ASPM driver, 
which is where the work then stalled.

> > > -int pci_enable_link_state_locked(struct pci_dev *pdev, int state);
> > 
> > We only have two callers of this (pcie-qcom.c and vmd.c, both in
> > drivers/pci/), so it's not clear to me that it needs to be in
> > include/linux/pci.h.
> > 
> > I'm a little dubious about it in the first place since I don't think
> > drivers should be enabling ASPM states on their own, but pcie-qcom.c
> > and vmd.c are PCIe controller drivers, not PCI device drivers, so I
> > guess we can live with them for now.
> > 
> > IMO the "someday" goal should be that we get rid of aspm_policy and
> > enable all the available power saving states by default.  We have
> > sysfs knobs that administrators can use if necessary, and drivers or
> > quirks can disable states if they need to work around hardware
> > defects.
> 
> Yeah, I think the default should be powersave and let the users disable it for
> performance if they want.

I'm certainly not against improvements in this front, but I think we need 
to get rid off custom ASPM disable code from the drivers first.

-- 
 i.

  parent reply	other threads:[~2025-07-13 16:28 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-09 10:51 [PATCH v4 00/11] bus: mhi: host: Add support for mhi bus bw Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 01/11] PCI: Update current bus speed as part of pci_pwrctrl_notify() Krishna Chaitanya Chundru
2025-07-08 15:13   ` Manivannan Sadhasivam
2025-06-09 10:51 ` [PATCH v4 02/11] PCI/bwctrl: Add support to scale bandwidth before & after link re-training Krishna Chaitanya Chundru
2025-07-08 16:25   ` Manivannan Sadhasivam
2025-07-09 12:08     ` Krishna Chaitanya Chundru
2025-07-11 21:36   ` Bjorn Helgaas
2025-07-11 23:06     ` Krishna Chaitanya Chundru
2025-07-22 11:03       ` Krishna Chaitanya Chundru
2025-08-12  4:05         ` Krishna Chaitanya Chundru
2025-08-12  9:27           ` Konrad Dybcio
2025-08-12  9:32             ` Krishna Chaitanya Chundru
2025-08-12 16:43           ` Manivannan Sadhasivam
2025-08-13  3:55             ` Krishna Chaitanya Chundru
2025-08-18  7:09               ` Manivannan Sadhasivam
2025-08-18  7:52                 ` Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 03/11] bus: mhi: host: Add support to read MHI capabilities Krishna Chaitanya Chundru
2025-07-08 16:36   ` Manivannan Sadhasivam
2025-07-09 12:09     ` Krishna Chaitanya Chundru
2025-07-09 12:20       ` Ilpo Järvinen
2025-07-09 15:50         ` Hans Zhang
2025-08-18  5:47         ` Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 04/11] bus: mhi: host: Add support for Bandwidth scale Krishna Chaitanya Chundru
2025-07-08 17:06   ` Manivannan Sadhasivam
2025-07-09 12:21     ` Krishna Chaitanya Chundru
2025-07-11  4:33       ` Manivannan Sadhasivam
2025-07-11  6:55         ` Krishna Chaitanya Chundru
2025-07-23 16:25           ` Manivannan Sadhasivam
2025-06-09 10:51 ` [PATCH v4 05/11] PCI/ASPM: Return enabled ASPM states as part of pcie_aspm_enabled() Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 06/11] PCI/ASPM: Clear aspm_disable as part of __pci_enable_link_state() Krishna Chaitanya Chundru
2025-07-08 17:15   ` Manivannan Sadhasivam
2025-07-09  9:10     ` Ilpo Järvinen
2025-07-09 12:31       ` Krishna Chaitanya Chundru
2025-07-11  4:28         ` Manivannan Sadhasivam
2025-07-11  9:21           ` Ilpo Järvinen
2025-07-11 10:55             ` Krishna Chaitanya Chundru
2025-07-11 13:38               ` Ilpo Järvinen
2025-07-11 23:00                 ` Bjorn Helgaas
2025-07-12  9:35                   ` Manivannan Sadhasivam
2025-07-12 16:05                     ` Hans Zhang
2025-07-12 17:02                       ` Manivannan Sadhasivam
2025-07-15 14:53                         ` Hans Zhang
2025-07-14 19:32                       ` Bjorn Helgaas
2025-07-15 14:48                         ` Hans Zhang
2025-07-13 16:27                     ` Ilpo Järvinen [this message]
2025-07-14 13:51                       ` Manivannan Sadhasivam
2025-07-14 19:42                         ` Bjorn Helgaas
2025-07-21  7:45                         ` Ilpo Järvinen
2025-07-14 19:21                     ` Bjorn Helgaas
2025-07-13 16:38                   ` Ilpo Järvinen
2025-07-11 23:02   ` Bjorn Helgaas
2025-07-11 23:10     ` Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 07/11] PCI: qcom: Extract core logic from qcom_pcie_icc_opp_update() Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 08/11] PCI: qcom: Add support for PCIe pre/post_link_speed_change() Krishna Chaitanya Chundru
2025-07-08 17:19   ` Manivannan Sadhasivam
2025-07-11 21:29   ` Bjorn Helgaas
2025-07-11 23:11     ` Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 09/11] PCI: Export pci_set_target_speed() Krishna Chaitanya Chundru
2025-06-09 10:51 ` [PATCH v4 10/11] PCI: Add function to convert lnkctl2speed to pci_bus_speed Krishna Chaitanya Chundru
2025-07-08 17:21   ` Manivannan Sadhasivam
2025-07-11 21:45   ` Bjorn Helgaas
2025-06-09 10:51 ` [PATCH v4 11/11] wifi: ath11k: Add support for MHI bandwidth scaling Krishna Chaitanya Chundru
2025-07-08 17:23   ` Manivannan Sadhasivam

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=9543b1eb-5bd2-bea1-742f-60cbc28bb365@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=ath11k@lists.infradead.org \
    --cc=bhelgaas@google.com \
    --cc=brgl@bgdev.pl \
    --cc=helgaas@kernel.org \
    --cc=jeff.johnson@oss.qualcomm.com \
    --cc=jingoohan1@gmail.com \
    --cc=jjohnson@kernel.org \
    --cc=krishna.chundru@oss.qualcomm.com \
    --cc=kwilczynski@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=mani@kernel.org \
    --cc=mhi@lists.linux.dev \
    --cc=qiang.yu@oss.qualcomm.com \
    --cc=quic_mrana@quicinc.com \
    --cc=quic_vbadigan@quicinc.com \
    --cc=quic_vpernami@quicinc.com \
    --cc=robh@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).