Lines Matching full:dt

77  * and TOD_ADJUST_COUNT register for in hardware. The dt->tod_lock spinlock must be
80 static int fine_adjust_tod_clock(struct dfl_tod *dt, u32 adjust_period,
83 void __iomem *base = dt->tod_ctrl;
98 static int coarse_adjust_tod_clock(struct dfl_tod *dt, s64 delta)
101 void __iomem *base = dt->tod_ctrl;
128 struct dfl_tod *dt = container_of(ptp, struct dfl_tod, ptp_clock_ops);
130 void __iomem *base = dt->tod_ctrl;
160 spin_lock_irqsave(&dt->tod_lock, flags);
166 spin_unlock_irqrestore(&dt->tod_lock, flags);
173 struct dfl_tod *dt = container_of(ptp, struct dfl_tod, ptp_clock_ops);
175 void __iomem *base = dt->tod_ctrl;
185 spin_lock_irqsave(&dt->tod_lock, flags);
210 ret = coarse_adjust_tod_clock(dt, delta);
214 ret = fine_adjust_tod_clock(dt, adj_period, count);
218 ret = fine_adjust_tod_clock(dt, rem_period, 1);
221 spin_unlock_irqrestore(&dt->tod_lock, flags);
229 struct dfl_tod *dt = container_of(ptp, struct dfl_tod, ptp_clock_ops);
231 void __iomem *base = dt->tod_ctrl;
235 spin_lock_irqsave(&dt->tod_lock, flags);
241 spin_unlock_irqrestore(&dt->tod_lock, flags);
254 struct dfl_tod *dt = container_of(ptp, struct dfl_tod, ptp_clock_ops);
258 void __iomem *base = dt->tod_ctrl;
261 spin_lock_irqsave(&dt->tod_lock, flags);
265 spin_unlock_irqrestore(&dt->tod_lock, flags);
283 struct dfl_tod *dt;
285 dt = devm_kzalloc(dev, sizeof(*dt), GFP_KERNEL);
286 if (!dt)
289 dt->tod_ctrl = devm_ioremap_resource(dev, &ddev->mmio_res);
290 if (IS_ERR(dt->tod_ctrl))
291 return PTR_ERR(dt->tod_ctrl);
293 dt->dev = dev;
294 spin_lock_init(&dt->tod_lock);
295 dev_set_drvdata(dev, dt);
297 dt->ptp_clock_ops = dfl_tod_clock_ops;
299 dt->ptp_clock = ptp_clock_register(&dt->ptp_clock_ops, dev);
300 if (IS_ERR(dt->ptp_clock))
301 return dev_err_probe(dt->dev, PTR_ERR(dt->ptp_clock),
309 struct dfl_tod *dt = dev_get_drvdata(&ddev->dev);
311 ptp_clock_unregister(dt->ptp_clock);