• Home
  • Raw
  • Download

Lines Matching refs:ptp

42 static struct ptp *first_ptp_block;
78 struct ptp *ptp_get(void) in ptp_get()
80 struct ptp *ptp = first_ptp_block; in ptp_get() local
86 if (!ptp) in ptp_get()
87 ptp = ERR_PTR(-EPROBE_DEFER); in ptp_get()
89 pci_dev_get(ptp->pdev); in ptp_get()
91 return ptp; in ptp_get()
94 void ptp_put(struct ptp *ptp) in ptp_put() argument
96 if (!ptp) in ptp_put()
99 pci_dev_put(ptp->pdev); in ptp_put()
102 static int ptp_adjfine(struct ptp *ptp, long scaled_ppm) in ptp_adjfine() argument
128 comp = ((u64)1000000000ull << 32) / ptp->clock_rate; in ptp_adjfine()
137 writeq(comp, ptp->reg_base + PTP_CLOCK_COMP); in ptp_adjfine()
142 static int ptp_get_clock(struct ptp *ptp, u64 *clk) in ptp_get_clock() argument
145 *clk = readq(ptp->reg_base + PTP_CLOCK_HI); in ptp_get_clock()
154 struct ptp *ptp; in ptp_probe() local
159 ptp = devm_kzalloc(dev, sizeof(*ptp), GFP_KERNEL); in ptp_probe()
160 if (!ptp) { in ptp_probe()
165 ptp->pdev = pdev; in ptp_probe()
175 ptp->reg_base = pcim_iomap_table(pdev)[PCI_PTP_BAR_NO]; in ptp_probe()
177 ptp->clock_rate = get_clock_rate(); in ptp_probe()
180 clock_cfg = readq(ptp->reg_base + PTP_CLOCK_CFG); in ptp_probe()
182 writeq(clock_cfg, ptp->reg_base + PTP_CLOCK_CFG); in ptp_probe()
184 clock_comp = ((u64)1000000000ull << 32) / ptp->clock_rate; in ptp_probe()
186 writeq(clock_comp, ptp->reg_base + PTP_CLOCK_COMP); in ptp_probe()
188 pci_set_drvdata(pdev, ptp); in ptp_probe()
190 first_ptp_block = ptp; in ptp_probe()
195 devm_kfree(dev, ptp); in ptp_probe()
213 struct ptp *ptp = pci_get_drvdata(pdev); in ptp_remove() local
216 if (IS_ERR_OR_NULL(ptp)) in ptp_remove()
220 clock_cfg = readq(ptp->reg_base + PTP_CLOCK_CFG); in ptp_remove()
222 writeq(clock_cfg, ptp->reg_base + PTP_CLOCK_CFG); in ptp_remove()
267 if (!rvu->ptp) in rvu_mbox_handler_ptp_op()
272 err = ptp_adjfine(rvu->ptp, req->scaled_ppm); in rvu_mbox_handler_ptp_op()
275 err = ptp_get_clock(rvu->ptp, &rsp->clk); in rvu_mbox_handler_ptp_op()