Skip to content

Commit 8b367e7

Browse files
committed
PCI/PTM: Reorder functions in logical order
pci_enable_ptm() and pci_disable_ptm() were separated. pci_save_ptm_state() and pci_restore_ptm_state() dangled at the top. Move them to logical places. No functional change intended. Link: https://lore.kernel.org/r/20220909202505.314195-8-helgaas@kernel.org Tested-by: Rajvi Jingar <rajvi.jingar@linux.intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
1 parent 2b89c22 commit 8b367e7

File tree

1 file changed

+62
-62
lines changed

1 file changed

+62
-62
lines changed

drivers/pci/pcie/ptm.c

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -9,68 +9,6 @@
99
#include <linux/pci.h>
1010
#include "../pci.h"
1111

12-
static void __pci_disable_ptm(struct pci_dev *dev)
13-
{
14-
u16 ptm = dev->ptm_cap;
15-
u32 ctrl;
16-
17-
if (!ptm)
18-
return;
19-
20-
pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, &ctrl);
21-
ctrl &= ~(PCI_PTM_CTRL_ENABLE | PCI_PTM_CTRL_ROOT);
22-
pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, ctrl);
23-
}
24-
25-
/**
26-
* pci_disable_ptm() - Disable Precision Time Measurement
27-
* @dev: PCI device
28-
*
29-
* Disable Precision Time Measurement for @dev.
30-
*/
31-
void pci_disable_ptm(struct pci_dev *dev)
32-
{
33-
if (dev->ptm_enabled) {
34-
__pci_disable_ptm(dev);
35-
dev->ptm_enabled = 0;
36-
}
37-
}
38-
EXPORT_SYMBOL(pci_disable_ptm);
39-
40-
void pci_save_ptm_state(struct pci_dev *dev)
41-
{
42-
u16 ptm = dev->ptm_cap;
43-
struct pci_cap_saved_state *save_state;
44-
u32 *cap;
45-
46-
if (!ptm)
47-
return;
48-
49-
save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM);
50-
if (!save_state)
51-
return;
52-
53-
cap = (u32 *)&save_state->cap.data[0];
54-
pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, cap);
55-
}
56-
57-
void pci_restore_ptm_state(struct pci_dev *dev)
58-
{
59-
u16 ptm = dev->ptm_cap;
60-
struct pci_cap_saved_state *save_state;
61-
u32 *cap;
62-
63-
if (!ptm)
64-
return;
65-
66-
save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM);
67-
if (!save_state)
68-
return;
69-
70-
cap = (u32 *)&save_state->cap.data[0];
71-
pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, *cap);
72-
}
73-
7412
/*
7513
* If the next upstream device supports PTM, return it; otherwise return
7614
* NULL. PTM Messages are local, so both link partners must support it.
@@ -146,6 +84,40 @@ void pci_ptm_init(struct pci_dev *dev)
14684
pci_enable_ptm(dev, NULL);
14785
}
14886

87+
void pci_save_ptm_state(struct pci_dev *dev)
88+
{
89+
u16 ptm = dev->ptm_cap;
90+
struct pci_cap_saved_state *save_state;
91+
u32 *cap;
92+
93+
if (!ptm)
94+
return;
95+
96+
save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM);
97+
if (!save_state)
98+
return;
99+
100+
cap = (u32 *)&save_state->cap.data[0];
101+
pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, cap);
102+
}
103+
104+
void pci_restore_ptm_state(struct pci_dev *dev)
105+
{
106+
u16 ptm = dev->ptm_cap;
107+
struct pci_cap_saved_state *save_state;
108+
u32 *cap;
109+
110+
if (!ptm)
111+
return;
112+
113+
save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM);
114+
if (!save_state)
115+
return;
116+
117+
cap = (u32 *)&save_state->cap.data[0];
118+
pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, *cap);
119+
}
120+
149121
/* Enable PTM in the Control register if possible */
150122
static int __pci_enable_ptm(struct pci_dev *dev)
151123
{
@@ -226,6 +198,34 @@ int pci_enable_ptm(struct pci_dev *dev, u8 *granularity)
226198
}
227199
EXPORT_SYMBOL(pci_enable_ptm);
228200

201+
static void __pci_disable_ptm(struct pci_dev *dev)
202+
{
203+
u16 ptm = dev->ptm_cap;
204+
u32 ctrl;
205+
206+
if (!ptm)
207+
return;
208+
209+
pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, &ctrl);
210+
ctrl &= ~(PCI_PTM_CTRL_ENABLE | PCI_PTM_CTRL_ROOT);
211+
pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, ctrl);
212+
}
213+
214+
/**
215+
* pci_disable_ptm() - Disable Precision Time Measurement
216+
* @dev: PCI device
217+
*
218+
* Disable Precision Time Measurement for @dev.
219+
*/
220+
void pci_disable_ptm(struct pci_dev *dev)
221+
{
222+
if (dev->ptm_enabled) {
223+
__pci_disable_ptm(dev);
224+
dev->ptm_enabled = 0;
225+
}
226+
}
227+
EXPORT_SYMBOL(pci_disable_ptm);
228+
229229
/*
230230
* Disable PTM, but preserve dev->ptm_enabled so we silently re-enable it on
231231
* resume if necessary.

0 commit comments

Comments
 (0)