Lines Matching refs:xdev

68 	struct xwwdt_device *xdev = watchdog_get_drvdata(wdd);  in xilinx_wwdt_start()  local
69 struct watchdog_device *xilinx_wwdt_wdd = &xdev->xilinx_wwdt_wdd; in xilinx_wwdt_start()
74 time_out = xdev->freq * wdd->timeout; in xilinx_wwdt_start()
75 closed_timeout = div_u64(time_out * xdev->close_percent, 100); in xilinx_wwdt_start()
77 wdd->min_hw_heartbeat_ms = xdev->close_percent * 10 * wdd->timeout; in xilinx_wwdt_start()
79 spin_lock(&xdev->spinlock); in xilinx_wwdt_start()
81 iowrite32(XWWDT_MWR_MASK, xdev->base + XWWDT_MWR_OFFSET); in xilinx_wwdt_start()
82 iowrite32(~(u32)XWWDT_ESR_WEN_MASK, xdev->base + XWWDT_ESR_OFFSET); in xilinx_wwdt_start()
83 iowrite32((u32)closed_timeout, xdev->base + XWWDT_FWR_OFFSET); in xilinx_wwdt_start()
84 iowrite32((u32)open_timeout, xdev->base + XWWDT_SWR_OFFSET); in xilinx_wwdt_start()
87 control_status_reg = ioread32(xdev->base + XWWDT_ESR_OFFSET); in xilinx_wwdt_start()
89 iowrite32(control_status_reg, xdev->base + XWWDT_ESR_OFFSET); in xilinx_wwdt_start()
91 spin_unlock(&xdev->spinlock); in xilinx_wwdt_start()
100 struct xwwdt_device *xdev = watchdog_get_drvdata(wdd); in xilinx_wwdt_keepalive() local
103 spin_lock(&xdev->spinlock); in xilinx_wwdt_keepalive()
106 iowrite32(XWWDT_MWR_MASK, xdev->base + XWWDT_MWR_OFFSET); in xilinx_wwdt_keepalive()
109 control_status_reg = ioread32(xdev->base + XWWDT_ESR_OFFSET); in xilinx_wwdt_keepalive()
111 iowrite32(control_status_reg, xdev->base + XWWDT_ESR_OFFSET); in xilinx_wwdt_keepalive()
113 spin_unlock(&xdev->spinlock); in xilinx_wwdt_keepalive()
135 struct xwwdt_device *xdev; in xwwdt_probe() local
139 xdev = devm_kzalloc(dev, sizeof(*xdev), GFP_KERNEL); in xwwdt_probe()
140 if (!xdev) in xwwdt_probe()
143 xilinx_wwdt_wdd = &xdev->xilinx_wwdt_wdd; in xwwdt_probe()
148 xdev->base = devm_platform_ioremap_resource(pdev, 0); in xwwdt_probe()
149 if (IS_ERR(xdev->base)) in xwwdt_probe()
150 return PTR_ERR(xdev->base); in xwwdt_probe()
156 xdev->freq = clk_get_rate(clk); in xwwdt_probe()
157 if (!xdev->freq) in xwwdt_probe()
165 xdev->close_percent = XWWDT_CLOSE_WINDOW_PERCENT; in xwwdt_probe()
167 xdev->close_percent = closed_window_percent; in xwwdt_probe()
170 spin_lock_init(&xdev->spinlock); in xwwdt_probe()
171 watchdog_set_drvdata(xilinx_wwdt_wdd, xdev); in xwwdt_probe()