Skip to content

Commit 100ae5d

Browse files
Krishna chaitanya chundrubjorn-helgaas
authored andcommitted
PCI: Bring the PCIe speed to MBps logic to new pcie_dev_speed_mbps()
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/[email protected] Signed-off-by: Krishna chaitanya chundru <[email protected]> Signed-off-by: Krzysztof Wilczyński <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Manivannan Sadhasivam <[email protected]>
1 parent 980136d commit 100ae5d

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

drivers/pci/pci.c

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6020,24 +6020,7 @@ int pcie_link_speed_mbps(struct pci_dev *pdev)
60206020
if (err)
60216021
return err;
60226022

6023-
switch (to_pcie_link_speed(lnksta)) {
6024-
case PCIE_SPEED_2_5GT:
6025-
return 2500;
6026-
case PCIE_SPEED_5_0GT:
6027-
return 5000;
6028-
case PCIE_SPEED_8_0GT:
6029-
return 8000;
6030-
case PCIE_SPEED_16_0GT:
6031-
return 16000;
6032-
case PCIE_SPEED_32_0GT:
6033-
return 32000;
6034-
case PCIE_SPEED_64_0GT:
6035-
return 64000;
6036-
default:
6037-
break;
6038-
}
6039-
6040-
return -EINVAL;
6023+
return pcie_dev_speed_mbps(to_pcie_link_speed(lnksta));
60416024
}
60426025
EXPORT_SYMBOL(pcie_link_speed_mbps);
60436026

drivers/pci/pci.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,28 @@ void pci_bus_put(struct pci_bus *bus);
290290
(speed) == PCIE_SPEED_2_5GT ? 2500*8/10 : \
291291
0)
292292

293+
static inline int pcie_dev_speed_mbps(enum pci_bus_speed speed)
294+
{
295+
switch (speed) {
296+
case PCIE_SPEED_2_5GT:
297+
return 2500;
298+
case PCIE_SPEED_5_0GT:
299+
return 5000;
300+
case PCIE_SPEED_8_0GT:
301+
return 8000;
302+
case PCIE_SPEED_16_0GT:
303+
return 16000;
304+
case PCIE_SPEED_32_0GT:
305+
return 32000;
306+
case PCIE_SPEED_64_0GT:
307+
return 64000;
308+
default:
309+
break;
310+
}
311+
312+
return -EINVAL;
313+
}
314+
293315
const char *pci_speed_string(enum pci_bus_speed speed);
294316
enum pci_bus_speed pcie_get_speed_cap(struct pci_dev *dev);
295317
enum pcie_link_width pcie_get_width_cap(struct pci_dev *dev);

0 commit comments

Comments
 (0)