Lines Matching refs:dev

16 static struct pci_dev *pci_upstream_ptm(struct pci_dev *dev)  in pci_upstream_ptm()  argument
18 struct pci_dev *ups = pci_upstream_bridge(dev); in pci_upstream_ptm()
39 void pci_ptm_init(struct pci_dev *dev) in pci_ptm_init() argument
45 if (!pci_is_pcie(dev)) in pci_ptm_init()
48 ptm = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_PTM); in pci_ptm_init()
52 dev->ptm_cap = ptm; in pci_ptm_init()
53 pci_add_ext_cap_save_buffer(dev, PCI_EXT_CAP_ID_PTM, sizeof(u32)); in pci_ptm_init()
55 pci_read_config_dword(dev, ptm + PCI_PTM_CAP, &cap); in pci_ptm_init()
56 dev->ptm_granularity = (cap & PCI_PTM_GRANULARITY_MASK) >> 8; in pci_ptm_init()
64 ups = pci_upstream_ptm(dev); in pci_ptm_init()
67 dev->ptm_granularity = 0; in pci_ptm_init()
68 else if (ups->ptm_granularity > dev->ptm_granularity) in pci_ptm_init()
69 dev->ptm_granularity = ups->ptm_granularity; in pci_ptm_init()
71 dev->ptm_root = 1; in pci_ptm_init()
72 } else if (pci_pcie_type(dev) == PCI_EXP_TYPE_RC_END) { in pci_ptm_init()
79 dev->ptm_granularity = 0; in pci_ptm_init()
82 if (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT || in pci_ptm_init()
83 pci_pcie_type(dev) == PCI_EXP_TYPE_UPSTREAM) in pci_ptm_init()
84 pci_enable_ptm(dev, NULL); in pci_ptm_init()
87 void pci_save_ptm_state(struct pci_dev *dev) in pci_save_ptm_state() argument
89 u16 ptm = dev->ptm_cap; in pci_save_ptm_state()
96 save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM); in pci_save_ptm_state()
101 pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, cap); in pci_save_ptm_state()
104 void pci_restore_ptm_state(struct pci_dev *dev) in pci_restore_ptm_state() argument
106 u16 ptm = dev->ptm_cap; in pci_restore_ptm_state()
113 save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM); in pci_restore_ptm_state()
118 pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, *cap); in pci_restore_ptm_state()
122 static int __pci_enable_ptm(struct pci_dev *dev) in __pci_enable_ptm() argument
124 u16 ptm = dev->ptm_cap; in __pci_enable_ptm()
139 if (!dev->ptm_root) { in __pci_enable_ptm()
140 ups = pci_upstream_ptm(dev); in __pci_enable_ptm()
145 pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, &ctrl); in __pci_enable_ptm()
149 ctrl |= dev->ptm_granularity << 8; in __pci_enable_ptm()
150 if (dev->ptm_root) in __pci_enable_ptm()
153 pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, ctrl); in __pci_enable_ptm()
168 int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) in pci_enable_ptm() argument
173 rc = __pci_enable_ptm(dev); in pci_enable_ptm()
177 dev->ptm_enabled = 1; in pci_enable_ptm()
180 *granularity = dev->ptm_granularity; in pci_enable_ptm()
182 switch (dev->ptm_granularity) { in pci_enable_ptm()
191 dev->ptm_granularity); in pci_enable_ptm()
194 pci_info(dev, "PTM enabled%s, %s granularity\n", in pci_enable_ptm()
195 dev->ptm_root ? " (root)" : "", clock_desc); in pci_enable_ptm()
201 static void __pci_disable_ptm(struct pci_dev *dev) in __pci_disable_ptm() argument
203 u16 ptm = dev->ptm_cap; in __pci_disable_ptm()
209 pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, &ctrl); in __pci_disable_ptm()
211 pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, ctrl); in __pci_disable_ptm()
220 void pci_disable_ptm(struct pci_dev *dev) in pci_disable_ptm() argument
222 if (dev->ptm_enabled) { in pci_disable_ptm()
223 __pci_disable_ptm(dev); in pci_disable_ptm()
224 dev->ptm_enabled = 0; in pci_disable_ptm()
233 void pci_suspend_ptm(struct pci_dev *dev) in pci_suspend_ptm() argument
235 if (dev->ptm_enabled) in pci_suspend_ptm()
236 __pci_disable_ptm(dev); in pci_suspend_ptm()
240 void pci_resume_ptm(struct pci_dev *dev) in pci_resume_ptm() argument
242 if (dev->ptm_enabled) in pci_resume_ptm()
243 __pci_enable_ptm(dev); in pci_resume_ptm()
246 bool pcie_ptm_enabled(struct pci_dev *dev) in pcie_ptm_enabled() argument
248 if (!dev) in pcie_ptm_enabled()
251 return dev->ptm_enabled; in pcie_ptm_enabled()