[PATCH v3 3/3] PCI: qcom: Update ICC and OPP values during link up event

Krishna chaitanya chundru posted 3 patches 3 weeks, 2 days ago
There is a newer version of this series
[PATCH v3 3/3] PCI: qcom: Update ICC and OPP values during link up event
Posted by Krishna chaitanya chundru 3 weeks, 2 days ago
As part of the PCIe link up event, update ICC and OPP values
as at this point only driver can know the link speed and
width of the PCIe link.

Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com>
---
 drivers/pci/controller/dwc/pcie-qcom.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
index 474b7525442d..5826c0e7ca0b 100644
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
@@ -1558,6 +1558,8 @@ static irqreturn_t qcom_pcie_global_irq_thread(int irq, void *data)
 		pci_lock_rescan_remove();
 		pci_rescan_bus(pp->bridge->bus);
 		pci_unlock_rescan_remove();
+
+		qcom_pcie_icc_opp_update(pcie);
 	} else {
 		dev_WARN_ONCE(dev, 1, "Received unknown event. INT_STATUS: 0x%08x\n",
 			      status);

-- 
2.34.1
Re: [PATCH v3 3/3] PCI: qcom: Update ICC and OPP values during link up event
Posted by Bjorn Andersson 3 weeks, 2 days ago
On Fri, Nov 01, 2024 at 05:04:14PM GMT, Krishna chaitanya chundru wrote:
> As part of the PCIe link up event, update ICC and OPP values
> as at this point only driver can know the link speed and
> width of the PCIe link.
> 

It would be nice if you were to write your commit messages in the style
documented at https://docs.kernel.org/process/submitting-patches.html#describe-your-changes
I.e. start with a clear problem description, then move into describing
the solution.

Your commit message is stating that this is the only place the driver
can know the link speed, but wouldn't that imply that there's some
actual problem with the code currently?


I'm guessing (because that's what your commit message is forcing me to
do) that in the case that we don't detect anything connected at probe
time and then we get a "hotplug" interrupt, we will have completely
incorrect bus votes?

If so, it would seem that this patch should have a:
Fixes: 4581403f6792 ("PCI: qcom: Enumerate endpoints based on Link up event in 'global_irq' interrupt")

And of course, a proper description of that problem.

Regards,
Bjorn

> Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com>
> ---
>  drivers/pci/controller/dwc/pcie-qcom.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
> index 474b7525442d..5826c0e7ca0b 100644
> --- a/drivers/pci/controller/dwc/pcie-qcom.c
> +++ b/drivers/pci/controller/dwc/pcie-qcom.c
> @@ -1558,6 +1558,8 @@ static irqreturn_t qcom_pcie_global_irq_thread(int irq, void *data)
>  		pci_lock_rescan_remove();
>  		pci_rescan_bus(pp->bridge->bus);
>  		pci_unlock_rescan_remove();
> +
> +		qcom_pcie_icc_opp_update(pcie);
>  	} else {
>  		dev_WARN_ONCE(dev, 1, "Received unknown event. INT_STATUS: 0x%08x\n",
>  			      status);
> 
> -- 
> 2.34.1
> 
>