Lines Matching refs:rk_dec

210 	struct rk_decom *rk_dec = priv;  in rk_decom_irq_handler()  local
214 irq_status = readl(rk_dec->regs + DECOM_ISR); in rk_decom_irq_handler()
216 writel(irq_status, rk_dec->regs + DECOM_ISR); in rk_decom_irq_handler()
218 decom_status = readl(rk_dec->regs + DECOM_STAT); in rk_decom_irq_handler()
221 g_decom_data_len = readl(rk_dec->regs + DECOM_TSIZEH); in rk_decom_irq_handler()
223 readl(rk_dec->regs + DECOM_TSIZEL); in rk_decom_irq_handler()
225 if (rk_dec->mem_start) in rk_decom_irq_handler()
226 dev_info(rk_dec->dev, in rk_decom_irq_handler()
230 dev_info(rk_dec->dev, in rk_decom_irq_handler()
235 32, 4, rk_dec->regs, 0x128, false); in rk_decom_irq_handler()
238 dev_info(rk_dec->dev, "decom failed and exit in noblocking mode."); in rk_decom_irq_handler()
239 writel(DECOM_DISABLE, rk_dec->regs + DECOM_ENR); in rk_decom_irq_handler()
247 writel(DECOM_ENABLE, rk_dec->regs + DECOM_ENR); in rk_decom_irq_handler()
257 struct rk_decom *rk_dec = priv; in rk_decom_irq_thread() local
262 if (rk_dec->mem_start) { in rk_decom_irq_thread()
267 start = phys_to_virt(rk_dec->mem_start); in rk_decom_irq_thread()
268 end = start + rk_dec->mem_size; in rk_decom_irq_thread()
270 rk_dec->mem_start = 0; in rk_decom_irq_thread()
273 clk_bulk_disable_unprepare(rk_dec->num_clocks, rk_dec->clocks); in rk_decom_irq_thread()
281 struct rk_decom *rk_dec; in rockchip_decom_probe() local
289 rk_dec = devm_kzalloc(dev, sizeof(*rk_dec), GFP_KERNEL); in rockchip_decom_probe()
290 if (!rk_dec) in rockchip_decom_probe()
293 rk_dec->dev = dev; in rockchip_decom_probe()
294 rk_dec->irq = platform_get_irq(pdev, 0); in rockchip_decom_probe()
295 if (rk_dec->irq < 0) { in rockchip_decom_probe()
313 rk_dec->mem_start = reg.start; in rockchip_decom_probe()
314 rk_dec->mem_size = resource_size(&reg); in rockchip_decom_probe()
316 rk_dec->num_clocks = devm_clk_bulk_get_all(dev, &rk_dec->clocks); in rockchip_decom_probe()
317 if (rk_dec->num_clocks < 0) { in rockchip_decom_probe()
323 rk_dec->regs = devm_ioremap_resource(dev, res); in rockchip_decom_probe()
324 if (IS_ERR(rk_dec->regs)) { in rockchip_decom_probe()
325 ret = PTR_ERR(rk_dec->regs); in rockchip_decom_probe()
329 dev_set_drvdata(dev, rk_dec); in rockchip_decom_probe()
331 rk_dec->reset = devm_reset_control_get_exclusive(dev, "dresetn"); in rockchip_decom_probe()
332 if (IS_ERR(rk_dec->reset)) { in rockchip_decom_probe()
333 ret = PTR_ERR(rk_dec->reset); in rockchip_decom_probe()
338 rk_dec->reset = NULL; in rockchip_decom_probe()
341 ret = devm_request_threaded_irq(dev, rk_dec->irq, rk_decom_irq_handler, in rockchip_decom_probe()
343 dev_name(dev), rk_dec); in rockchip_decom_probe()
349 g_decom = rk_dec; in rockchip_decom_probe()
355 clk_bulk_disable_unprepare(rk_dec->num_clocks, rk_dec->clocks); in rockchip_decom_probe()