[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ufy5q3vx3zh26rjdv6mb36mvlpk2tmxuvluo7s5bykyl3elgh5@cqmjsgnwar6a>
Date: Sun, 26 Oct 2025 21:56:02 +0530
From: Manivannan Sadhasivam <mani@...nel.org>
To: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Cc: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>, Stephen Boyd <sboyd@...nel.org>,
"Rafael J. Wysocki" <rafael@...nel.org>, Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof Wilczyński <kwilczynski@...nel.org>, Rob Herring <robh@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>, Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org, linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH v5 5/5] PCI: qcom: Use frequency and level based OPP
lookup
On Wed, Oct 22, 2025 at 06:37:41PM +0200, Konrad Dybcio wrote:
> On 10/13/25 12:53 PM, Krishna Chaitanya Chundru wrote:
> > PCIe link configurations such as 8GT/s x2 and 16GT/s x1 may operate at
> > the same frequency but differ in other characteristics like RPMh votes.
> > The existing OPP selection based solely on frequency cannot distinguish
> > between such cases.
> >
> > In such cases, frequency alone is insufficient to identify the correct OPP.
> > Use the newly introduced dev_pm_opp_find_key_exact() API to match both
> > frequency and level when selecting an OPP, here level indicates PCIe
> > data rate.
> >
> > To support older device tree's where opp-level is not defined, check if
> > opp-level is present or not using dev_pm_opp_find_level_exact(). if
> > not present fallback to frequency only match.
> >
> > Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>
> > ---
> > drivers/pci/controller/dwc/pcie-qcom.c | 17 +++++++++++++++--
> > 1 file changed, 15 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
> > index 805edbbfe7eba496bc99ca82051dee43d240f359..03b3a1d3a40359a0c70704873b72539ffa43e722 100644
> > --- a/drivers/pci/controller/dwc/pcie-qcom.c
> > +++ b/drivers/pci/controller/dwc/pcie-qcom.c
> > @@ -1565,6 +1565,7 @@ static void qcom_pcie_icc_opp_update(struct qcom_pcie *pcie)
> > {
> > u32 offset, status, width, speed;
> > struct dw_pcie *pci = pcie->pci;
> > + struct dev_pm_opp_key key;
>
> You need to zero-initialize this, or it'll explode the second
> struct dev_pm_opp_key {} grows
>
I've fixed it up while applying, thanks!
- Mani
--
மணிவண்ணன் சதாசிவம்
Powered by blists - more mailing lists