Lines Matching refs:ip

17 #define gp_write(reg, data) writel(data, ip->iomem + reg)
18 #define gp_read(reg) readl(ip->iomem + reg)
22 struct lima_ip *ip = data; in lima_gp_irq_handler() local
23 struct lima_device *dev = ip->dev; in lima_gp_irq_handler()
68 static void lima_gp_soft_reset_async(struct lima_ip *ip) in lima_gp_soft_reset_async() argument
70 if (ip->data.async_reset) in lima_gp_soft_reset_async()
76 ip->data.async_reset = true; in lima_gp_soft_reset_async()
79 static int lima_gp_soft_reset_async_wait(struct lima_ip *ip) in lima_gp_soft_reset_async_wait() argument
81 struct lima_device *dev = ip->dev; in lima_gp_soft_reset_async_wait()
85 if (!ip->data.async_reset) in lima_gp_soft_reset_async_wait()
88 err = readl_poll_timeout(ip->iomem + LIMA_GP_INT_RAWSTAT, v, in lima_gp_soft_reset_async_wait()
99 ip->data.async_reset = false; in lima_gp_soft_reset_async_wait()
130 struct lima_ip *ip = pipe->processor[0]; in lima_gp_task_run() local
160 lima_gp_soft_reset_async_wait(ip); in lima_gp_task_run()
163 writel(f[i], ip->iomem + LIMA_GP_VSCL_START_ADDR + i * 4); in lima_gp_task_run()
169 static int lima_gp_bus_stop_poll(struct lima_ip *ip) in lima_gp_bus_stop_poll() argument
174 static int lima_gp_hard_reset_poll(struct lima_ip *ip) in lima_gp_hard_reset_poll() argument
180 static int lima_gp_hard_reset(struct lima_ip *ip) in lima_gp_hard_reset() argument
182 struct lima_device *dev = ip->dev; in lima_gp_hard_reset()
189 ret = lima_poll_timeout(ip, lima_gp_bus_stop_poll, 10, 100); in lima_gp_hard_reset()
191 dev_err(dev->dev, "%s bus stop timeout\n", lima_ip_name(ip)); in lima_gp_hard_reset()
195 ret = lima_poll_timeout(ip, lima_gp_hard_reset_poll, 10, 100); in lima_gp_hard_reset()
214 struct lima_ip *ip = pipe->processor[0]; in lima_gp_task_error() local
216 dev_err(ip->dev->dev, "gp task error int_state=%x status=%x\n", in lima_gp_task_error()
219 lima_gp_hard_reset(ip); in lima_gp_task_error()
229 struct lima_ip *ip = pipe->processor[0]; in lima_gp_task_mask_irq() local
236 struct lima_ip *ip = pipe->processor[0]; in lima_gp_task_recover() local
264 static void lima_gp_print_version(struct lima_ip *ip) in lima_gp_print_version() argument
289 dev_info(ip->dev->dev, "%s - %s version major %d minor %d\n", in lima_gp_print_version()
290 lima_ip_name(ip), name, major, minor); in lima_gp_print_version()
296 static int lima_gp_hw_init(struct lima_ip *ip) in lima_gp_hw_init() argument
298 ip->data.async_reset = false; in lima_gp_hw_init()
299 lima_gp_soft_reset_async(ip); in lima_gp_hw_init()
300 return lima_gp_soft_reset_async_wait(ip); in lima_gp_hw_init()
303 int lima_gp_resume(struct lima_ip *ip) in lima_gp_resume() argument
305 return lima_gp_hw_init(ip); in lima_gp_resume()
308 void lima_gp_suspend(struct lima_ip *ip) in lima_gp_suspend() argument
313 int lima_gp_init(struct lima_ip *ip) in lima_gp_init() argument
315 struct lima_device *dev = ip->dev; in lima_gp_init()
318 lima_gp_print_version(ip); in lima_gp_init()
320 err = lima_gp_hw_init(ip); in lima_gp_init()
324 err = devm_request_irq(dev->dev, ip->irq, lima_gp_irq_handler, in lima_gp_init()
325 IRQF_SHARED, lima_ip_name(ip), ip); in lima_gp_init()
328 lima_ip_name(ip)); in lima_gp_init()
337 void lima_gp_fini(struct lima_ip *ip) in lima_gp_fini() argument
339 struct lima_device *dev = ip->dev; in lima_gp_fini()
341 devm_free_irq(dev->dev, ip->irq, ip); in lima_gp_fini()