ptp_dte            97 drivers/ptp/ptp_dte.c static void dte_write_nco_delta(struct ptp_dte *ptp_dte, s64 delta)
ptp_dte           101 drivers/ptp/ptp_dte.c 	ns = dte_read_nco(ptp_dte->regs);
ptp_dte           105 drivers/ptp/ptp_dte.c 		if (ptp_dte->ts_wrap_cnt) {
ptp_dte           107 drivers/ptp/ptp_dte.c 			ptp_dte->ts_wrap_cnt--;
ptp_dte           114 drivers/ptp/ptp_dte.c 			ptp_dte->ts_wrap_cnt++;
ptp_dte           119 drivers/ptp/ptp_dte.c 	dte_write_nco(ptp_dte->regs, ns);
ptp_dte           121 drivers/ptp/ptp_dte.c 	ptp_dte->ts_ovf_last = (ns >> DTE_NCO_TS_WRAP_LSHIFT) &
ptp_dte           125 drivers/ptp/ptp_dte.c static s64 dte_read_nco_with_ovf(struct ptp_dte *ptp_dte)
ptp_dte           130 drivers/ptp/ptp_dte.c 	ns = dte_read_nco(ptp_dte->regs);
ptp_dte           136 drivers/ptp/ptp_dte.c 	if (ts_ovf < ptp_dte->ts_ovf_last)
ptp_dte           137 drivers/ptp/ptp_dte.c 		ptp_dte->ts_wrap_cnt++;
ptp_dte           139 drivers/ptp/ptp_dte.c 	ptp_dte->ts_ovf_last = ts_ovf;
ptp_dte           142 drivers/ptp/ptp_dte.c 	ns += (s64)(BIT_ULL(DTE_WRAP_AROUND_NSEC_SHIFT) * ptp_dte->ts_wrap_cnt);
ptp_dte           151 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte = container_of(ptp, struct ptp_dte, caps);
ptp_dte           153 drivers/ptp/ptp_dte.c 	if (abs(ppb) > ptp_dte->caps.max_adj) {
ptp_dte           154 drivers/ptp/ptp_dte.c 		dev_err(ptp_dte->dev, "ppb adj too big\n");
ptp_dte           163 drivers/ptp/ptp_dte.c 	spin_lock_irqsave(&ptp_dte->lock, flags);
ptp_dte           164 drivers/ptp/ptp_dte.c 	writel(nco_incr, ptp_dte->regs + DTE_NCO_INC_REG);
ptp_dte           165 drivers/ptp/ptp_dte.c 	spin_unlock_irqrestore(&ptp_dte->lock, flags);
ptp_dte           173 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte = container_of(ptp, struct ptp_dte, caps);
ptp_dte           175 drivers/ptp/ptp_dte.c 	spin_lock_irqsave(&ptp_dte->lock, flags);
ptp_dte           176 drivers/ptp/ptp_dte.c 	dte_write_nco_delta(ptp_dte, delta);
ptp_dte           177 drivers/ptp/ptp_dte.c 	spin_unlock_irqrestore(&ptp_dte->lock, flags);
ptp_dte           185 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte = container_of(ptp, struct ptp_dte, caps);
ptp_dte           187 drivers/ptp/ptp_dte.c 	spin_lock_irqsave(&ptp_dte->lock, flags);
ptp_dte           188 drivers/ptp/ptp_dte.c 	*ts = ns_to_timespec64(dte_read_nco_with_ovf(ptp_dte));
ptp_dte           189 drivers/ptp/ptp_dte.c 	spin_unlock_irqrestore(&ptp_dte->lock, flags);
ptp_dte           198 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte = container_of(ptp, struct ptp_dte, caps);
ptp_dte           200 drivers/ptp/ptp_dte.c 	spin_lock_irqsave(&ptp_dte->lock, flags);
ptp_dte           203 drivers/ptp/ptp_dte.c 	writel(0, ptp_dte->regs + DTE_NCO_INC_REG);
ptp_dte           205 drivers/ptp/ptp_dte.c 	dte_write_nco(ptp_dte->regs, timespec64_to_ns(ts));
ptp_dte           208 drivers/ptp/ptp_dte.c 	ptp_dte->ts_ovf_last = 0;
ptp_dte           209 drivers/ptp/ptp_dte.c 	ptp_dte->ts_wrap_cnt = 0;
ptp_dte           212 drivers/ptp/ptp_dte.c 	writel(DTE_NCO_INC_DEFAULT, ptp_dte->regs + DTE_NCO_INC_REG);
ptp_dte           214 drivers/ptp/ptp_dte.c 	spin_unlock_irqrestore(&ptp_dte->lock, flags);
ptp_dte           241 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte;
ptp_dte           245 drivers/ptp/ptp_dte.c 	ptp_dte = devm_kzalloc(dev, sizeof(struct ptp_dte), GFP_KERNEL);
ptp_dte           246 drivers/ptp/ptp_dte.c 	if (!ptp_dte)
ptp_dte           250 drivers/ptp/ptp_dte.c 	ptp_dte->regs = devm_ioremap_resource(dev, res);
ptp_dte           251 drivers/ptp/ptp_dte.c 	if (IS_ERR(ptp_dte->regs))
ptp_dte           252 drivers/ptp/ptp_dte.c 		return PTR_ERR(ptp_dte->regs);
ptp_dte           254 drivers/ptp/ptp_dte.c 	spin_lock_init(&ptp_dte->lock);
ptp_dte           256 drivers/ptp/ptp_dte.c 	ptp_dte->dev = dev;
ptp_dte           257 drivers/ptp/ptp_dte.c 	ptp_dte->caps = ptp_dte_caps;
ptp_dte           258 drivers/ptp/ptp_dte.c 	ptp_dte->ptp_clk = ptp_clock_register(&ptp_dte->caps, &pdev->dev);
ptp_dte           259 drivers/ptp/ptp_dte.c 	if (IS_ERR(ptp_dte->ptp_clk)) {
ptp_dte           262 drivers/ptp/ptp_dte.c 		return PTR_ERR(ptp_dte->ptp_clk);
ptp_dte           265 drivers/ptp/ptp_dte.c 	platform_set_drvdata(pdev, ptp_dte);
ptp_dte           274 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte = platform_get_drvdata(pdev);
ptp_dte           277 drivers/ptp/ptp_dte.c 	ptp_clock_unregister(ptp_dte->ptp_clk);
ptp_dte           280 drivers/ptp/ptp_dte.c 		writel(0, ptp_dte->regs + (i * sizeof(u32)));
ptp_dte           288 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte = dev_get_drvdata(dev);
ptp_dte           292 drivers/ptp/ptp_dte.c 		ptp_dte->reg_val[i] =
ptp_dte           293 drivers/ptp/ptp_dte.c 			readl(ptp_dte->regs + (i * sizeof(u32)));
ptp_dte           297 drivers/ptp/ptp_dte.c 	writel(0, ptp_dte->regs + DTE_NCO_INC_REG);
ptp_dte           304 drivers/ptp/ptp_dte.c 	struct ptp_dte *ptp_dte = dev_get_drvdata(dev);
ptp_dte           309 drivers/ptp/ptp_dte.c 			writel(ptp_dte->reg_val[i],
ptp_dte           310 drivers/ptp/ptp_dte.c 				(ptp_dte->regs + (i * sizeof(u32))));
ptp_dte           312 drivers/ptp/ptp_dte.c 			writel(((ptp_dte->reg_val[i] &
ptp_dte           314 drivers/ptp/ptp_dte.c 				(ptp_dte->regs + (i * sizeof(u32))));