]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: Bring the PCIe speed to MBps logic to new pcie_dev_speed_mbps()
authorKrishna chaitanya chundru <quic_krichai@quicinc.com>
Wed, 19 Jun 2024 15:11:12 +0000 (20:41 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 9 Jul 2024 21:56:36 +0000 (16:56 -0500)
Bring the switch case in pcie_link_speed_mbps() to new function to
the header file so that it can be used in other places like
in controller driver.

Link: https://lore.kernel.org/linux-pci/20240619-opp_support-v15-3-aa769a2173a3@quicinc.com
Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com>
Signed-off-by: Krzysztof WilczyƄski <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/pci/pci.c
drivers/pci/pci.h

index 59e0949fb079d5f62edb5f93bd19a22f8b8d3d48..ac28b5d346484f23aa1306b451f360b9fda07361 100644 (file)
@@ -6020,24 +6020,7 @@ int pcie_link_speed_mbps(struct pci_dev *pdev)
        if (err)
                return err;
 
-       switch (to_pcie_link_speed(lnksta)) {
-       case PCIE_SPEED_2_5GT:
-               return 2500;
-       case PCIE_SPEED_5_0GT:
-               return 5000;
-       case PCIE_SPEED_8_0GT:
-               return 8000;
-       case PCIE_SPEED_16_0GT:
-               return 16000;
-       case PCIE_SPEED_32_0GT:
-               return 32000;
-       case PCIE_SPEED_64_0GT:
-               return 64000;
-       default:
-               break;
-       }
-
-       return -EINVAL;
+       return pcie_dev_speed_mbps(to_pcie_link_speed(lnksta));
 }
 EXPORT_SYMBOL(pcie_link_speed_mbps);
 
index fd44565c47562868bacdad9b1bb2e017cae09795..7e766dcba8fb64d7f2275840632a9ddfc036431f 100644 (file)
@@ -290,6 +290,28 @@ void pci_bus_put(struct pci_bus *bus);
         (speed) == PCIE_SPEED_2_5GT  ?  2500*8/10 : \
         0)
 
+static inline int pcie_dev_speed_mbps(enum pci_bus_speed speed)
+{
+       switch (speed) {
+       case PCIE_SPEED_2_5GT:
+               return 2500;
+       case PCIE_SPEED_5_0GT:
+               return 5000;
+       case PCIE_SPEED_8_0GT:
+               return 8000;
+       case PCIE_SPEED_16_0GT:
+               return 16000;
+       case PCIE_SPEED_32_0GT:
+               return 32000;
+       case PCIE_SPEED_64_0GT:
+               return 64000;
+       default:
+               break;
+       }
+
+       return -EINVAL;
+}
+
 const char *pci_speed_string(enum pci_bus_speed speed);
 enum pci_bus_speed pcie_get_speed_cap(struct pci_dev *dev);
 enum pcie_link_width pcie_get_width_cap(struct pci_dev *dev);