Lines Matching refs:rot

47 #define rot_read(offset)		readl(rot->regs + (offset))
48 #define rot_write(cfg, offset) writel(cfg, rot->regs + (offset))
105 static void rotator_reg_set_irq(struct rot_context *rot, bool enable) in rotator_reg_set_irq() argument
117 static u32 rotator_reg_get_fmt(struct rot_context *rot) in rotator_reg_get_fmt() argument
126 static enum rot_irq_status rotator_reg_get_irq_status(struct rot_context *rot) in rotator_reg_get_irq_status() argument
140 struct rot_context *rot = arg; in rotator_irq_handler() local
141 struct exynos_drm_ippdrv *ippdrv = &rot->ippdrv; in rotator_irq_handler()
148 irq_status = rotator_reg_get_irq_status(rot); in rotator_irq_handler()
158 rot->cur_buf_id[EXYNOS_DRM_OPS_DST]; in rotator_irq_handler()
167 static void rotator_align_size(struct rot_context *rot, u32 fmt, u32 *hsize, in rotator_align_size() argument
170 struct rot_limit_table *limit_tbl = rot->limit_tbl; in rotator_align_size()
204 struct rot_context *rot = dev_get_drvdata(dev); in rotator_src_set_fmt() local
240 struct rot_context *rot = dev_get_drvdata(dev); in rotator_src_set_size() local
245 fmt = rotator_reg_get_fmt(rot); in rotator_src_set_size()
254 rotator_align_size(rot, fmt, &hsize, &vsize); in rotator_src_set_size()
273 struct rot_context *rot = dev_get_drvdata(dev); in rotator_src_set_addr() local
279 rot->cur_buf_id[EXYNOS_DRM_OPS_SRC] = buf_id; in rotator_src_set_addr()
288 fmt = rotator_reg_get_fmt(rot); in rotator_src_set_addr()
326 struct rot_context *rot = dev_get_drvdata(dev); in rotator_dst_set_transf() local
378 struct rot_context *rot = dev_get_drvdata(dev); in rotator_dst_set_size() local
382 fmt = rotator_reg_get_fmt(rot); in rotator_dst_set_size()
391 rotator_align_size(rot, fmt, &hsize, &vsize); in rotator_dst_set_size()
408 struct rot_context *rot = dev_get_drvdata(dev); in rotator_dst_set_addr() local
414 rot->cur_buf_id[EXYNOS_DRM_OPS_DST] = buf_id; in rotator_dst_set_addr()
423 fmt = rotator_reg_get_fmt(rot); in rotator_dst_set_addr()
603 struct rot_context *rot = dev_get_drvdata(dev); in rotator_ippdrv_start() local
606 if (rot->suspended) { in rotator_ippdrv_start()
617 rotator_reg_set_irq(rot, true); in rotator_ippdrv_start()
698 struct rot_context *rot; in rotator_probe() local
708 rot = devm_kzalloc(dev, sizeof(*rot), GFP_KERNEL); in rotator_probe()
709 if (!rot) in rotator_probe()
717 rot->limit_tbl = (struct rot_limit_table *)match->data; in rotator_probe()
719 rot->regs_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in rotator_probe()
720 rot->regs = devm_ioremap_resource(dev, rot->regs_res); in rotator_probe()
721 if (IS_ERR(rot->regs)) in rotator_probe()
722 return PTR_ERR(rot->regs); in rotator_probe()
724 rot->irq = platform_get_irq(pdev, 0); in rotator_probe()
725 if (rot->irq < 0) { in rotator_probe()
727 return rot->irq; in rotator_probe()
730 ret = devm_request_threaded_irq(dev, rot->irq, NULL, in rotator_probe()
731 rotator_irq_handler, IRQF_ONESHOT, "drm_rotator", rot); in rotator_probe()
737 rot->clock = devm_clk_get(dev, "rotator"); in rotator_probe()
738 if (IS_ERR(rot->clock)) { in rotator_probe()
740 return PTR_ERR(rot->clock); in rotator_probe()
745 ippdrv = &rot->ippdrv; in rotator_probe()
759 platform_set_drvdata(pdev, rot); in rotator_probe()
779 struct rot_context *rot = dev_get_drvdata(dev); in rotator_remove() local
780 struct exynos_drm_ippdrv *ippdrv = &rot->ippdrv; in rotator_remove()
789 static int rotator_clk_crtl(struct rot_context *rot, bool enable) in rotator_clk_crtl() argument
792 clk_enable(rot->clock); in rotator_clk_crtl()
793 rot->suspended = false; in rotator_clk_crtl()
795 clk_disable(rot->clock); in rotator_clk_crtl()
796 rot->suspended = true; in rotator_clk_crtl()
806 struct rot_context *rot = dev_get_drvdata(dev); in rotator_suspend() local
811 return rotator_clk_crtl(rot, false); in rotator_suspend()
816 struct rot_context *rot = dev_get_drvdata(dev); in rotator_resume() local
819 return rotator_clk_crtl(rot, true); in rotator_resume()
828 struct rot_context *rot = dev_get_drvdata(dev); in rotator_runtime_suspend() local
830 return rotator_clk_crtl(rot, false); in rotator_runtime_suspend()
835 struct rot_context *rot = dev_get_drvdata(dev); in rotator_runtime_resume() local
837 return rotator_clk_crtl(rot, true); in rotator_runtime_resume()