devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krishna chaitanya chundru <quic_krichai@quicinc.com>
To: "Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
	"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	"Rob Herring" <robh@kernel.org>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Bjorn Andersson" <andersson@kernel.org>,
	"Konrad Dybcio" <konrad.dybcio@linaro.org>,
	"Jingoo Han" <jingoohan1@gmail.com>
Cc: <quic_vbadigan@quicinc.com>, <quic_skananth@quicinc.com>,
	<quic_nitegupt@quicinc.com>, <linux-arm-msm@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	Krishna chaitanya chundru <quic_krichai@quicinc.com>
Subject: [PATCH RFC 4/7] pci: Add new start_link() & stop_link function ops
Date: Wed, 26 Jun 2024 18:07:52 +0530	[thread overview]
Message-ID: <20240626-qps615-v1-4-2ade7bd91e02@quicinc.com> (raw)
In-Reply-To: <20240626-qps615-v1-0-2ade7bd91e02@quicinc.com>

Certain devices like QPS615 which uses PCI pwrctl framework
needs to stop link training before configuring the PCIe device.

As controller driver already enables link training, we need to
stop the link training by using stop_link and enable them back after
device is configured by using start_link.

The stop_link() & start_link() be used to keep the link in D3cold &
D0 before turning off the power of the device.

Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com>
---
 include/linux/pci.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index fb004fd4e889..3892ff7fd536 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -803,6 +803,8 @@ struct pci_ops {
 	void __iomem *(*map_bus)(struct pci_bus *bus, unsigned int devfn, int where);
 	int (*read)(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *val);
 	int (*write)(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 val);
+	int (*start_link)(struct pci_bus *bus);
+	int (*stop_link)(struct pci_bus *bus);
 };
 
 /*

-- 
2.42.0


  parent reply	other threads:[~2024-06-26 12:38 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-26 12:37 [PATCH RFC 0/7] PCI: enable Power and configure the QPS615 PCIe switch Krishna chaitanya chundru
2024-06-26 12:37 ` [PATCH RFC 1/7] dt: bindings: add qcom,qps615.yaml Krishna chaitanya chundru
2024-06-26 13:34   ` Rob Herring (Arm)
2024-06-26 15:01   ` Bjorn Andersson
2024-06-27 15:31   ` Rob Herring
2024-07-01 13:26   ` Krzysztof Kozlowski
2024-06-26 12:37 ` [PATCH RFC 2/7] arm64: dts: qcom: qcs6490-rb3gen2: Add qps615 node Krishna chaitanya chundru
2024-06-26 17:11   ` Bjorn Andersson
2024-06-26 17:51   ` Dmitry Baryshkov
2024-06-26 12:37 ` [PATCH RFC 3/7] pci: Change the parent of the platform devices for child OF nodes Krishna chaitanya chundru
2024-06-26 15:12   ` Bartosz Golaszewski
2024-07-01 17:54   ` Bjorn Helgaas
2024-06-26 12:37 ` Krishna chaitanya chundru [this message]
2024-06-26 15:07   ` [PATCH RFC 4/7] pci: Add new start_link() & stop_link function ops Bartosz Golaszewski
2024-06-26 12:37 ` [PATCH RFC 5/7] pci: dwc: Add support for new pci function op Krishna chaitanya chundru
2024-06-26 12:37 ` [PATCH RFC 6/7] pci: qcom: Add support for start_link() & stop_link() Krishna chaitanya chundru
2024-06-26 14:31   ` Bjorn Andersson
2024-07-01 20:14   ` Bjorn Helgaas
2024-06-26 12:37 ` [PATCH RFC 7/7] pci: pwrctl: Add power control driver for qps615 Krishna chaitanya chundru
2024-06-26 15:25   ` Bartosz Golaszewski
2024-06-26 15:37   ` Konrad Dybcio
2024-08-03  3:18     ` Krishna Chaitanya Chundru
2024-06-26 17:00   ` Bjorn Andersson
2024-06-26 18:09   ` Dmitry Baryshkov
2024-07-01 19:54   ` Bjorn Helgaas
2024-06-26 13:31 ` [PATCH RFC 0/7] PCI: enable Power and configure the QPS615 PCIe switch Rob Herring (Arm)
2024-06-26 15:29 ` Bjorn Helgaas
2024-07-01 17:51 ` 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=20240626-qps615-v1-4-2ade7bd91e02@quicinc.com \
    --to=quic_krichai@quicinc.com \
    --cc=andersson@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=brgl@bgdev.pl \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jingoohan1@gmail.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzk+dt@kernel.org \
    --cc=kw@linux.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=quic_nitegupt@quicinc.com \
    --cc=quic_skananth@quicinc.com \
    --cc=quic_vbadigan@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).