devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Krishna chaitanya chundru <quic_krichai@quicinc.com>
Cc: andersson@kernel.org, "Bjorn Helgaas" <bhelgaas@google.com>,
	"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Konrad Dybcio" <konradybcio@kernel.org>,
	cros-qcom-dts-watchers@chromium.org,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	quic_vbadigan@quicinc.com, linux-arm-msm@vger.kernel.org,
	linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/6] PCI: Add new start_link() & stop_link function ops
Date: Tue, 12 Nov 2024 17:41:49 -0600	[thread overview]
Message-ID: <20241112234149.GA1868239@bhelgaas> (raw)
In-Reply-To: <20241112-qps615_pwr-v3-3-29a1e98aa2b0@quicinc.com>

On Tue, Nov 12, 2024 at 08:31:35PM +0530, Krishna chaitanya chundru wrote:
> Certain devices like QPS615 which uses PCI pwrctl framework
> needs to configure the device before PCI link is up.
> 
> If the controller driver already enables link training as part of
> its probe, after the device is powered on, controller and device
> participates in the link training and link can come up immediately
> and maynot have time to configure the device.
> 
> So we need to stop the link training by using stop_link() and enable
> them back after device is configured by using start_link().

s/maynot/may not/

I think I'm missing the point here.  My assumption is this:

  - device starts as powered off
  - pwrctl turns on the power
  - link trains automatically
  - qcom driver claims device
  - qcom needs to configure things that need to happen before link
    train

but that can't be quite right because you wouldn't be able to fix it
by changing the qcom driver because it's not in the picture until the
link is already trained.

So maybe you can add a little more context here?

> 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 573b4c4c2be6..fe6a9b4b22ee 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -806,6 +806,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);
> +	void (*stop_link)(struct pci_bus *bus);
>  };
>  
>  /*
> 
> -- 
> 2.34.1
> 

  reply	other threads:[~2024-11-12 23:41 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-12 15:01 [PATCH v3 0/6] PCI: Enable Power and configure the QPS615 PCIe switch Krishna chaitanya chundru
2024-11-12 15:01 ` [PATCH v3 1/6] dt-bindings: PCI: Add binding for qps615 Krishna chaitanya chundru
2024-11-12 15:49   ` Bjorn Andersson
2024-11-15 16:18   ` Rob Herring
2024-11-24  1:32     ` Krishna Chaitanya Chundru
2024-12-04  8:49       ` Krishna Chaitanya Chundru
2024-12-23 16:45         ` Krishna Chaitanya Chundru
2025-02-10  7:51         ` Manivannan Sadhasivam
2025-02-10  9:37           ` Krishna Chaitanya Chundru
2024-12-23 18:57       ` Dmitry Baryshkov
2024-12-24  6:04         ` Krishna Chaitanya Chundru
2024-12-24  6:54           ` Dmitry Baryshkov
2024-12-24  9:09             ` Krishna Chaitanya Chundru
2024-12-24  9:47               ` Dmitry Baryshkov
2024-12-27  2:14         ` Krishna Chaitanya Chundru
2024-12-30 18:30           ` Dmitry Baryshkov
2024-12-30 18:22         ` Manivannan Sadhasivam
2025-01-07 14:28           ` Krishna Chaitanya Chundru
2025-02-10  7:58             ` Manivannan Sadhasivam
2025-02-10 10:13               ` Krishna Chaitanya Chundru
2024-11-20  8:04   ` Krzysztof Kozlowski
2024-11-24  1:41     ` Krishna Chaitanya Chundru
2024-11-25  7:40       ` Krzysztof Kozlowski
2024-11-26  6:50         ` Krishna Chaitanya Chundru
2024-11-26  6:58           ` Krzysztof Kozlowski
2024-11-28 13:24             ` Manivannan Sadhasivam
2024-11-28 14:08               ` Dmitry Baryshkov
2024-12-03  9:06                 ` Krishna Chaitanya Chundru
2024-12-04 21:25   ` Bjorn Helgaas
2024-12-11  6:00     ` Manivannan Sadhasivam
2024-12-23 16:48       ` Krishna Chaitanya Chundru
2024-12-23 18:58         ` Dmitry Baryshkov
2024-12-24  9:11     ` Krishna Chaitanya Chundru
2024-12-24  9:49       ` Dmitry Baryshkov
2025-01-07 22:42         ` Bjorn Helgaas
2025-01-15 17:23           ` Manivannan Sadhasivam
2024-11-12 15:01 ` [PATCH v3 2/6] arm64: dts: qcom: qcs6490-rb3gen2: Add node " Krishna chaitanya chundru
2024-11-12 15:49   ` Bjorn Andersson
2024-11-15 11:45   ` Manivannan Sadhasivam
2024-11-20  8:06   ` Krzysztof Kozlowski
2024-11-20 11:03     ` Dmitry Baryshkov
2024-11-20 13:28       ` Krzysztof Kozlowski
2024-11-21 22:44         ` Dmitry Baryshkov
2024-11-12 15:01 ` [PATCH v3 3/6] PCI: Add new start_link() & stop_link function ops Krishna chaitanya chundru
2024-11-12 23:41   ` Bjorn Helgaas [this message]
2024-11-13  8:41     ` Krishna Chaitanya Chundru
2024-11-15 11:51     ` Manivannan Sadhasivam
2024-11-12 15:01 ` [PATCH v3 4/6] PCI: dwc: Add support for new pci function op Krishna chaitanya chundru
2024-11-12 23:32   ` Bjorn Helgaas
2024-11-12 15:01 ` [PATCH v3 5/6] PCI: qcom: Add support for host_stop_link() & host_start_link() Krishna chaitanya chundru
2024-11-12 23:36   ` Bjorn Helgaas
2024-11-15 11:57   ` Manivannan Sadhasivam
2024-11-24  1:44     ` Krishna Chaitanya Chundru
2024-11-12 15:01 ` [PATCH v3 6/6] PCI: pwrctl: Add power control driver for qps615 Krishna chaitanya chundru
2024-11-12 15:51   ` Bjorn Andersson
2024-11-12 23:21     ` Bjorn Andersson
2024-11-13 13:38   ` Bartosz Golaszewski
2024-11-15 12:25   ` Manivannan Sadhasivam
2024-11-20 14:59   ` Uwe Kleine-König
2024-12-04 21:19   ` 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=20241112234149.GA1868239@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=andersson@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=brgl@bgdev.pl \
    --cc=conor+dt@kernel.org \
    --cc=cros-qcom-dts-watchers@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jingoohan1@gmail.com \
    --cc=konradybcio@kernel.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_krichai@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).