Lines Matching full:comp
11 #include "mtk-mdp3-comp.h"
29 return ctx->comp->mdp_dev->mdp_data->mdp_cfg; in __get_plat_cfg()
37 if (ctx->comp->id == MDP_COMP_RDMA0) in get_comp_flag()
40 return BIT(ctx->comp->id); in get_comp_flag()
46 phys_addr_t base = ctx->comp->reg_base; in init_rdma()
47 u8 subsys_id = ctx->comp->subsys_id; in init_rdma()
50 struct mdp_comp *prz1 = ctx->comp->mdp_dev->comp[MDP_COMP_RSZ1]; in init_rdma()
53 if (ctx->comp->id == MDP_COMP_RDMA0 && prz1) in init_rdma()
74 phys_addr_t base = ctx->comp->reg_base; in config_rdma_frame()
75 u8 subsys_id = ctx->comp->subsys_id; in config_rdma_frame()
149 phys_addr_t base = ctx->comp->reg_base; in config_rdma_subfrm()
150 u8 subsys_id = ctx->comp->subsys_id; in config_rdma_subfrm()
192 struct device *dev = &ctx->comp->mdp_dev->pdev->dev; in wait_rdma_event()
193 phys_addr_t base = ctx->comp->reg_base; in wait_rdma_event()
194 u8 subsys_id = ctx->comp->subsys_id; in wait_rdma_event()
196 if (ctx->comp->alias_id == 0) in wait_rdma_event()
197 MM_REG_WAIT(cmd, ctx->comp->gce_event[MDP_GCE_EVENT_EOF]); in wait_rdma_event()
216 phys_addr_t base = ctx->comp->reg_base; in init_rsz()
217 u8 subsys_id = ctx->comp->subsys_id; in init_rsz()
232 phys_addr_t base = ctx->comp->reg_base; in config_rsz_frame()
233 u8 subsys_id = ctx->comp->subsys_id; in config_rsz_frame()
258 phys_addr_t base = ctx->comp->reg_base; in config_rsz_subfrm()
259 u8 subsys_id = ctx->comp->subsys_id; in config_rsz_subfrm()
300 phys_addr_t base = ctx->comp->reg_base; in advance_rsz_subfrm()
301 u8 subsys_id = ctx->comp->subsys_id; in advance_rsz_subfrm()
321 phys_addr_t base = ctx->comp->reg_base; in init_wrot()
322 u8 subsys_id = ctx->comp->subsys_id; in init_wrot()
338 phys_addr_t base = ctx->comp->reg_base; in config_wrot_frame()
339 u8 subsys_id = ctx->comp->subsys_id; in config_wrot_frame()
383 phys_addr_t base = ctx->comp->reg_base; in config_wrot_subfrm()
384 u8 subsys_id = ctx->comp->subsys_id; in config_wrot_subfrm()
416 struct device *dev = &ctx->comp->mdp_dev->pdev->dev; in wait_wrot_event()
417 phys_addr_t base = ctx->comp->reg_base; in wait_wrot_event()
418 u8 subsys_id = ctx->comp->subsys_id; in wait_wrot_event()
420 if (ctx->comp->alias_id == 0) in wait_wrot_event()
421 MM_REG_WAIT(cmd, ctx->comp->gce_event[MDP_GCE_EVENT_EOF]); in wait_wrot_event()
445 phys_addr_t base = ctx->comp->reg_base; in init_wdma()
446 u8 subsys_id = ctx->comp->subsys_id; in init_wdma()
460 phys_addr_t base = ctx->comp->reg_base; in config_wdma_frame()
461 u8 subsys_id = ctx->comp->subsys_id; in config_wdma_frame()
493 phys_addr_t base = ctx->comp->reg_base; in config_wdma_subfrm()
494 u8 subsys_id = ctx->comp->subsys_id; in config_wdma_subfrm()
523 phys_addr_t base = ctx->comp->reg_base; in wait_wdma_event()
524 u8 subsys_id = ctx->comp->subsys_id; in wait_wdma_event()
526 MM_REG_WAIT(cmd, ctx->comp->gce_event[MDP_GCE_EVENT_EOF]); in wait_wdma_event()
542 phys_addr_t base = ctx->comp->reg_base; in init_ccorr()
543 u8 subsys_id = ctx->comp->subsys_id; in init_ccorr()
556 phys_addr_t base = ctx->comp->reg_base; in config_ccorr_subfrm()
557 u8 subsys_id = ctx->comp->subsys_id; in config_ccorr_subfrm()
680 int mdp_comp_clock_on(struct device *dev, struct mdp_comp *comp) in mdp_comp_clock_on() argument
684 if (comp->comp_dev) { in mdp_comp_clock_on()
685 ret = pm_runtime_resume_and_get(comp->comp_dev); in mdp_comp_clock_on()
689 ret, comp->type, comp->id); in mdp_comp_clock_on()
694 for (i = 0; i < ARRAY_SIZE(comp->clks); i++) { in mdp_comp_clock_on()
695 if (IS_ERR_OR_NULL(comp->clks[i])) in mdp_comp_clock_on()
697 ret = clk_prepare_enable(comp->clks[i]); in mdp_comp_clock_on()
701 i, comp->type, comp->id); in mdp_comp_clock_on()
702 pm_runtime_put(comp->comp_dev); in mdp_comp_clock_on()
710 void mdp_comp_clock_off(struct device *dev, struct mdp_comp *comp) in mdp_comp_clock_off() argument
714 for (i = 0; i < ARRAY_SIZE(comp->clks); i++) { in mdp_comp_clock_off()
715 if (IS_ERR_OR_NULL(comp->clks[i])) in mdp_comp_clock_off()
717 clk_disable_unprepare(comp->clks[i]); in mdp_comp_clock_off()
720 if (comp->comp_dev) in mdp_comp_clock_off()
721 pm_runtime_put(comp->comp_dev); in mdp_comp_clock_off()
744 struct mdp_comp *comp) in mdp_get_subsys_id() argument
751 if (!dev || !node || !comp) in mdp_get_subsys_id()
757 dev_err(dev, "get comp_pdev fail! comp id=%d type=%d\n", in mdp_get_subsys_id()
758 comp->id, comp->type); in mdp_get_subsys_id()
762 index = mdp_comp_dt_info[comp->id].dts_reg_ofst; in mdp_get_subsys_id()
769 comp->subsys_id = cmdq_reg.subsys; in mdp_get_subsys_id()
776 struct mdp_comp *comp) in __mdp_comp_init() argument
780 int index = mdp_comp_dt_info[comp->id].dts_reg_ofst; in __mdp_comp_init()
787 comp->mdp_dev = mdp; in __mdp_comp_init()
788 comp->regs = of_iomap(node, 0); in __mdp_comp_init()
789 comp->reg_base = base; in __mdp_comp_init()
793 struct mdp_comp *comp, enum mtk_mdp_comp_id id) in mdp_comp_init() argument
806 comp->id = id; in mdp_comp_init()
807 comp->type = mdp_comp_matches[id].type; in mdp_comp_init()
808 comp->alias_id = mdp_comp_matches[id].alias_id; in mdp_comp_init()
809 comp->ops = mdp_comp_ops[comp->type]; in mdp_comp_init()
810 __mdp_comp_init(mdp, node, comp); in mdp_comp_init()
816 comp->clks[i] = of_clk_get(node, i + clk_ofst); in mdp_comp_init()
817 if (IS_ERR(comp->clks[i])) in mdp_comp_init()
821 mdp_get_subsys_id(dev, node, comp); in mdp_comp_init()
824 if (is_bypass_gce_event(comp->type) || in mdp_comp_init()
829 comp->gce_event[MDP_GCE_EVENT_SOF] = event; in mdp_comp_init()
832 if (is_dma_capable(comp->type)) { in mdp_comp_init()
842 comp->gce_event[MDP_GCE_EVENT_EOF] = event; in mdp_comp_init()
847 static void mdp_comp_deinit(struct mdp_comp *comp) in mdp_comp_deinit() argument
849 if (!comp) in mdp_comp_deinit()
852 if (comp->regs) in mdp_comp_deinit()
853 iounmap(comp->regs); in mdp_comp_deinit()
861 struct mdp_comp *comp; in mdp_comp_create() local
864 if (mdp->comp[id]) in mdp_comp_create()
867 comp = devm_kzalloc(dev, sizeof(*comp), GFP_KERNEL); in mdp_comp_create()
868 if (!comp) in mdp_comp_create()
871 ret = mdp_comp_init(mdp, node, comp, id); in mdp_comp_create()
873 devm_kfree(dev, comp); in mdp_comp_create()
876 mdp->comp[id] = comp; in mdp_comp_create()
877 mdp->comp[id]->mdp_dev = mdp; in mdp_comp_create()
880 dev->of_node->name, comp->type, comp->alias_id, id, in mdp_comp_create()
881 (u32)comp->reg_base, comp->regs); in mdp_comp_create()
882 return comp; in mdp_comp_create()
896 struct mdp_comp *comp; in mdp_comp_sub_create() local
902 dev_dbg(dev, "Skipping disabled sub comp. %pOF\n", in mdp_comp_sub_create()
912 "Fail to get sub comp. id: type %d alias %d\n", in mdp_comp_sub_create()
918 comp = mdp_comp_create(mdp, node, id); in mdp_comp_sub_create()
919 if (IS_ERR(comp)) in mdp_comp_sub_create()
920 return PTR_ERR(comp); in mdp_comp_sub_create()
930 for (i = 0; i < ARRAY_SIZE(mdp->comp); i++) { in mdp_comp_destroy()
931 if (mdp->comp[i]) { in mdp_comp_destroy()
932 pm_runtime_disable(mdp->comp[i]->comp_dev); in mdp_comp_destroy()
933 mdp_comp_deinit(mdp->comp[i]); in mdp_comp_destroy()
934 devm_kfree(mdp->comp[i]->comp_dev, mdp->comp[i]); in mdp_comp_destroy()
935 mdp->comp[i] = NULL; in mdp_comp_destroy()
955 struct mdp_comp *comp; in mdp_comp_config() local
978 comp = mdp_comp_create(mdp, node, id); in mdp_comp_config()
979 if (IS_ERR(comp)) { in mdp_comp_config()
980 ret = PTR_ERR(comp); in mdp_comp_config()
985 comp->comp_dev = NULL; in mdp_comp_config()
986 if (!is_dma_capable(comp->type)) in mdp_comp_config()
996 comp->comp_dev = &pdev->dev; in mdp_comp_config()
997 pm_runtime_enable(comp->comp_dev); in mdp_comp_config()
1023 ctx->comp = mdp->comp[param->type]; in mdp_comp_ctx_config()
1024 if (!ctx->comp) { in mdp_comp_ctx_config()