Lines Matching refs:comp
39 return ctx->comp->mdp_dev->mdp_data->mdp_cfg; in __get_plat_cfg()
47 rdma0 = mdp_cfg_get_id_inner(ctx->comp->mdp_dev, MDP_COMP_RDMA0); in get_comp_flag()
48 rsz1 = mdp_cfg_get_id_inner(ctx->comp->mdp_dev, MDP_COMP_RSZ1); in get_comp_flag()
53 if (ctx->comp->inner_id == rdma0) in get_comp_flag()
56 return BIT(ctx->comp->inner_id); in get_comp_flag()
62 phys_addr_t base = ctx->comp->reg_base; in init_rdma()
63 u8 subsys_id = ctx->comp->subsys_id; in init_rdma()
66 rdma0 = mdp_cfg_get_id_inner(ctx->comp->mdp_dev, MDP_COMP_RDMA0); in init_rdma()
71 struct mdp_comp *prz1 = ctx->comp->mdp_dev->comp[MDP_COMP_RSZ1]; in init_rdma()
74 if (ctx->comp->inner_id == rdma0 && prz1) in init_rdma()
94 phys_addr_t base = ctx->comp->reg_base; in config_rdma_frame()
95 u8 subsys_id = ctx->comp->subsys_id; in config_rdma_frame()
294 phys_addr_t base = ctx->comp->reg_base; in config_rdma_subfrm()
295 u8 subsys_id = ctx->comp->subsys_id; in config_rdma_subfrm()
381 struct device *dev = &ctx->comp->mdp_dev->pdev->dev; in wait_rdma_event()
382 phys_addr_t base = ctx->comp->reg_base; in wait_rdma_event()
383 u8 subsys_id = ctx->comp->subsys_id; in wait_rdma_event()
388 if (ctx->comp->alias_id >= mdp_cfg->rdma_event_num) { in wait_rdma_event()
389 dev_err(dev, "Invalid RDMA event %d\n", ctx->comp->alias_id); in wait_rdma_event()
393 MM_REG_WAIT(cmd, ctx->comp->gce_event[MDP_GCE_EVENT_EOF]); in wait_rdma_event()
410 phys_addr_t base = ctx->comp->reg_base; in init_rsz()
411 u8 subsys_id = ctx->comp->subsys_id; in init_rsz()
422 dev = ctx->comp->mdp_dev->mm_subsys[MDP_MM_SUBSYS_1].mmsys; in init_rsz()
434 phys_addr_t base = ctx->comp->reg_base; in config_rsz_frame()
435 u8 subsys_id = ctx->comp->subsys_id; in config_rsz_frame()
488 phys_addr_t base = ctx->comp->reg_base; in config_rsz_subfrm()
489 u8 subsys_id = ctx->comp->subsys_id; in config_rsz_subfrm()
575 const struct mtk_mdp_driver_data *data = ctx->comp->mdp_dev->mdp_data; in config_rsz_subfrm()
576 enum mtk_mdp_comp_id public_id = ctx->comp->public_id; in config_rsz_subfrm()
580 merge = ctx->comp->mdp_dev->comp[MDP_COMP_MERGE2]; in config_rsz_subfrm()
583 merge = ctx->comp->mdp_dev->comp[MDP_COMP_MERGE3]; in config_rsz_subfrm()
593 dev = ctx->comp->mdp_dev->mm_subsys[MDP_MM_SUBSYS_1].mmsys; in config_rsz_subfrm()
624 phys_addr_t base = ctx->comp->reg_base; in advance_rsz_subfrm()
625 u8 subsys_id = ctx->comp->subsys_id; in advance_rsz_subfrm()
654 phys_addr_t base = ctx->comp->reg_base; in init_wrot()
655 u8 subsys_id = ctx->comp->subsys_id; in init_wrot()
675 phys_addr_t base = ctx->comp->reg_base; in config_wrot_frame()
676 u8 subsys_id = ctx->comp->subsys_id; in config_wrot_frame()
802 phys_addr_t base = ctx->comp->reg_base; in config_wrot_subfrm()
803 u8 subsys_id = ctx->comp->subsys_id; in config_wrot_subfrm()
869 struct device *dev = &ctx->comp->mdp_dev->pdev->dev; in wait_wrot_event()
870 phys_addr_t base = ctx->comp->reg_base; in wait_wrot_event()
871 u8 subsys_id = ctx->comp->subsys_id; in wait_wrot_event()
876 if (ctx->comp->alias_id >= mdp_cfg->wrot_event_num) { in wait_wrot_event()
877 dev_err(dev, "Invalid WROT event %d!\n", ctx->comp->alias_id); in wait_wrot_event()
881 MM_REG_WAIT(cmd, ctx->comp->gce_event[MDP_GCE_EVENT_EOF]); in wait_wrot_event()
903 phys_addr_t base = ctx->comp->reg_base; in init_wdma()
904 u8 subsys_id = ctx->comp->subsys_id; in init_wdma()
917 phys_addr_t base = ctx->comp->reg_base; in config_wdma_frame()
918 u8 subsys_id = ctx->comp->subsys_id; in config_wdma_frame()
962 phys_addr_t base = ctx->comp->reg_base; in config_wdma_subfrm()
963 u8 subsys_id = ctx->comp->subsys_id; in config_wdma_subfrm()
1005 phys_addr_t base = ctx->comp->reg_base; in wait_wdma_event()
1006 u8 subsys_id = ctx->comp->subsys_id; in wait_wdma_event()
1008 MM_REG_WAIT(cmd, ctx->comp->gce_event[MDP_GCE_EVENT_EOF]); in wait_wdma_event()
1025 phys_addr_t base = ctx->comp->reg_base; in reset_luma_hist()
1026 u16 subsys_id = ctx->comp->subsys_id; in reset_luma_hist()
1055 phys_addr_t base = ctx->comp->reg_base; in init_tdshp()
1056 u16 subsys_id = ctx->comp->subsys_id; in init_tdshp()
1069 phys_addr_t base = ctx->comp->reg_base; in config_tdshp_frame()
1070 u16 subsys_id = ctx->comp->subsys_id; in config_tdshp_frame()
1083 phys_addr_t base = ctx->comp->reg_base; in config_tdshp_subfrm()
1084 u16 subsys_id = ctx->comp->subsys_id; in config_tdshp_subfrm()
1122 phys_addr_t base = ctx->comp->reg_base; in init_color()
1123 u16 subsys_id = ctx->comp->subsys_id; in init_color()
1148 phys_addr_t base = ctx->comp->reg_base; in config_color_frame()
1149 u16 subsys_id = ctx->comp->subsys_id; in config_color_frame()
1163 phys_addr_t base = ctx->comp->reg_base; in config_color_subfrm()
1164 u16 subsys_id = ctx->comp->subsys_id; in config_color_subfrm()
1189 phys_addr_t base = ctx->comp->reg_base; in init_ccorr()
1190 u8 subsys_id = ctx->comp->subsys_id; in init_ccorr()
1202 phys_addr_t base = ctx->comp->reg_base; in config_ccorr_subfrm()
1203 u8 subsys_id = ctx->comp->subsys_id; in config_ccorr_subfrm()
1230 phys_addr_t base = ctx->comp->reg_base; in init_aal()
1231 u16 subsys_id = ctx->comp->subsys_id; in init_aal()
1243 phys_addr_t base = ctx->comp->reg_base; in config_aal_frame()
1244 u16 subsys_id = ctx->comp->subsys_id; in config_aal_frame()
1261 phys_addr_t base = ctx->comp->reg_base; in config_aal_subfrm()
1262 u16 subsys_id = ctx->comp->subsys_id; in config_aal_subfrm()
1292 phys_addr_t base = ctx->comp->reg_base; in init_hdr()
1293 u16 subsys_id = ctx->comp->subsys_id; in init_hdr()
1305 phys_addr_t base = ctx->comp->reg_base; in config_hdr_frame()
1306 u16 subsys_id = ctx->comp->subsys_id; in config_hdr_frame()
1323 phys_addr_t base = ctx->comp->reg_base; in config_hdr_subfrm()
1324 u16 subsys_id = ctx->comp->subsys_id; in config_hdr_subfrm()
1373 phys_addr_t base = ctx->comp->reg_base; in init_fg()
1374 u16 subsys_id = ctx->comp->subsys_id; in init_fg()
1386 phys_addr_t base = ctx->comp->reg_base; in config_fg_frame()
1387 u16 subsys_id = ctx->comp->subsys_id; in config_fg_frame()
1404 phys_addr_t base = ctx->comp->reg_base; in config_fg_subfrm()
1405 u16 subsys_id = ctx->comp->subsys_id; in config_fg_subfrm()
1428 phys_addr_t base = ctx->comp->reg_base; in init_ovl()
1429 u16 subsys_id = ctx->comp->subsys_id; in init_ovl()
1447 phys_addr_t base = ctx->comp->reg_base; in config_ovl_frame()
1448 u16 subsys_id = ctx->comp->subsys_id; in config_ovl_frame()
1465 phys_addr_t base = ctx->comp->reg_base; in config_ovl_subfrm()
1466 u16 subsys_id = ctx->comp->subsys_id; in config_ovl_subfrm()
1492 phys_addr_t base = ctx->comp->reg_base; in init_pad()
1493 u16 subsys_id = ctx->comp->subsys_id; in init_pad()
1509 phys_addr_t base = ctx->comp->reg_base; in config_pad_subfrm()
1510 u16 subsys_id = ctx->comp->subsys_id; in config_pad_subfrm()
1625 int mdp_comp_clock_on(struct device *dev, struct mdp_comp *comp) in mdp_comp_clock_on() argument
1630 if (comp->comp_dev && is_dma_capable(comp->type)) { in mdp_comp_clock_on()
1631 ret = pm_runtime_resume_and_get(comp->comp_dev); in mdp_comp_clock_on()
1635 ret, comp->type, comp->inner_id); in mdp_comp_clock_on()
1640 for (i = 0; i < comp->clk_num; i++) { in mdp_comp_clock_on()
1641 if (IS_ERR_OR_NULL(comp->clks[i])) in mdp_comp_clock_on()
1643 ret = clk_prepare_enable(comp->clks[i]); in mdp_comp_clock_on()
1647 i, comp->type, comp->inner_id); in mdp_comp_clock_on()
1656 if (IS_ERR_OR_NULL(comp->clks[i])) in mdp_comp_clock_on()
1658 clk_disable_unprepare(comp->clks[i]); in mdp_comp_clock_on()
1660 if (comp->comp_dev && is_dma_capable(comp->type)) in mdp_comp_clock_on()
1661 pm_runtime_put_sync(comp->comp_dev); in mdp_comp_clock_on()
1666 void mdp_comp_clock_off(struct device *dev, struct mdp_comp *comp) in mdp_comp_clock_off() argument
1670 for (i = 0; i < comp->clk_num; i++) { in mdp_comp_clock_off()
1671 if (IS_ERR_OR_NULL(comp->clks[i])) in mdp_comp_clock_off()
1673 clk_disable_unprepare(comp->clks[i]); in mdp_comp_clock_off()
1676 if (comp->comp_dev && is_dma_capable(comp->type)) in mdp_comp_clock_off()
1677 pm_runtime_put(comp->comp_dev); in mdp_comp_clock_off()
1701 ret = mdp_comp_clock_on(dev, m->comp[b->b_id]); in mdp_comp_clocks_on()
1729 mdp_comp_clock_off(dev, m->comp[b->b_id]); in mdp_comp_clocks_off()
1734 struct device_node *node, struct mdp_comp *comp) in mdp_get_subsys_id() argument
1741 if (!dev || !node || !comp) in mdp_get_subsys_id()
1748 comp->public_id, comp->inner_id, comp->type); in mdp_get_subsys_id()
1752 index = mdp->mdp_data->comp_data[comp->public_id].info.dts_reg_ofst; in mdp_get_subsys_id()
1760 comp->subsys_id = cmdq_reg.subsys; in mdp_get_subsys_id()
1768 struct mdp_comp *comp) in __mdp_comp_init() argument
1774 index = mdp->mdp_data->comp_data[comp->public_id].info.dts_reg_ofst; in __mdp_comp_init()
1780 comp->mdp_dev = mdp; in __mdp_comp_init()
1781 comp->regs = of_iomap(node, 0); in __mdp_comp_init()
1782 comp->reg_base = base; in __mdp_comp_init()
1786 struct mdp_comp *comp, enum mtk_mdp_comp_id id) in mdp_comp_init() argument
1806 comp->comp_dev = &pdev_c->dev; in mdp_comp_init()
1807 comp->public_id = id; in mdp_comp_init()
1808 comp->type = mdp->mdp_data->comp_data[id].match.type; in mdp_comp_init()
1809 comp->inner_id = mdp->mdp_data->comp_data[id].match.inner_id; in mdp_comp_init()
1810 comp->alias_id = mdp->mdp_data->comp_data[id].match.alias_id; in mdp_comp_init()
1811 comp->ops = mdp_comp_ops[comp->type]; in mdp_comp_init()
1812 __mdp_comp_init(mdp, node, comp); in mdp_comp_init()
1814 comp->clk_num = mdp->mdp_data->comp_data[id].info.clk_num; in mdp_comp_init()
1815 comp->clks = devm_kzalloc(dev, sizeof(struct clk *) * comp->clk_num, in mdp_comp_init()
1817 if (!comp->clks) in mdp_comp_init()
1822 for (i = 0; i < comp->clk_num; i++) { in mdp_comp_init()
1823 comp->clks[i] = of_clk_get(node, i + clk_ofst); in mdp_comp_init()
1824 if (IS_ERR(comp->clks[i])) in mdp_comp_init()
1828 mdp_get_subsys_id(mdp, dev, node, comp); in mdp_comp_init()
1831 if (is_bypass_gce_event(comp->type) || in mdp_comp_init()
1836 comp->gce_event[MDP_GCE_EVENT_SOF] = event; in mdp_comp_init()
1839 if (is_dma_capable(comp->type)) { in mdp_comp_init()
1849 comp->gce_event[MDP_GCE_EVENT_EOF] = event; in mdp_comp_init()
1854 static void mdp_comp_deinit(struct mdp_comp *comp) in mdp_comp_deinit() argument
1856 if (!comp) in mdp_comp_deinit()
1859 if (comp->comp_dev && comp->clks) { in mdp_comp_deinit()
1860 devm_kfree(&comp->mdp_dev->pdev->dev, comp->clks); in mdp_comp_deinit()
1861 comp->clks = NULL; in mdp_comp_deinit()
1864 if (comp->regs) in mdp_comp_deinit()
1865 iounmap(comp->regs); in mdp_comp_deinit()
1873 struct mdp_comp *comp; in mdp_comp_create() local
1876 if (mdp->comp[id]) in mdp_comp_create()
1879 comp = devm_kzalloc(dev, sizeof(*comp), GFP_KERNEL); in mdp_comp_create()
1880 if (!comp) in mdp_comp_create()
1883 ret = mdp_comp_init(mdp, node, comp, id); in mdp_comp_create()
1885 devm_kfree(dev, comp); in mdp_comp_create()
1888 mdp->comp[id] = comp; in mdp_comp_create()
1889 mdp->comp[id]->mdp_dev = mdp; in mdp_comp_create()
1892 dev->of_node->name, comp->type, comp->alias_id, id, comp->inner_id, in mdp_comp_create()
1893 (u32)comp->reg_base, comp->regs); in mdp_comp_create()
1894 return comp; in mdp_comp_create()
1909 struct mdp_comp *comp; in mdp_comp_sub_create() local
1932 comp = mdp_comp_create(mdp, node, id); in mdp_comp_sub_create()
1933 if (IS_ERR(comp)) { in mdp_comp_sub_create()
1934 ret = PTR_ERR(comp); in mdp_comp_sub_create()
1949 for (i = 0; i < ARRAY_SIZE(mdp->comp); i++) { in mdp_comp_destroy()
1950 if (mdp->comp[i]) { in mdp_comp_destroy()
1951 if (is_dma_capable(mdp->comp[i]->type)) in mdp_comp_destroy()
1952 pm_runtime_disable(mdp->comp[i]->comp_dev); in mdp_comp_destroy()
1953 mdp_comp_deinit(mdp->comp[i]); in mdp_comp_destroy()
1954 devm_kfree(mdp->comp[i]->comp_dev, mdp->comp[i]); in mdp_comp_destroy()
1955 mdp->comp[i] = NULL; in mdp_comp_destroy()
1975 struct mdp_comp *comp; in mdp_comp_config() local
1998 comp = mdp_comp_create(mdp, node, id); in mdp_comp_config()
1999 if (IS_ERR(comp)) { in mdp_comp_config()
2000 ret = PTR_ERR(comp); in mdp_comp_config()
2006 if (!is_dma_capable(comp->type)) in mdp_comp_config()
2008 pm_runtime_enable(comp->comp_dev); in mdp_comp_config()
2048 ctx->comp = mdp->comp[public_id]; in mdp_comp_ctx_config()
2049 if (!ctx->comp) { in mdp_comp_ctx_config()