Re: [PATCH v5 5/5] PCI: qcom: Use frequency and level based OPP lookup

From: Manivannan Sadhasivam

Date: Sun Oct 26 2025 - 12:26:34 EST


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@xxxxxxxxxxxxxxxx>
> > ---
> > 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

--
மணிவண்ணன் சதாசிவம்