diff mbox series

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

Message ID 20241101-remove_wait-v3-3-7accf27f7202@quicinc.com (mailing list archive)
State Superseded
Headers show
Series PCI: dwc: Skip waiting for link up if vendor drivers can detect Link up event | expand

Commit Message

Krishna Chaitanya Chundru Nov. 1, 2024, 11:34 a.m. UTC
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(+)

Comments

Bjorn Andersson Nov. 1, 2024, 3:40 p.m. UTC | #1
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
> 
>
diff mbox series

Patch

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);