Lines Matching refs:comp

90 		   struct mtk_ddp_comp *comp, unsigned int offset)  in mtk_ddp_write()  argument
94 cmdq_pkt_write(cmdq_pkt, comp->subsys, in mtk_ddp_write()
95 comp->regs_pa + offset, value); in mtk_ddp_write()
98 writel(value, comp->regs + offset); in mtk_ddp_write()
102 struct mtk_ddp_comp *comp, in mtk_ddp_write_relaxed() argument
107 cmdq_pkt_write(cmdq_pkt, comp->subsys, in mtk_ddp_write_relaxed()
108 comp->regs_pa + offset, value); in mtk_ddp_write_relaxed()
111 writel_relaxed(value, comp->regs + offset); in mtk_ddp_write_relaxed()
116 struct mtk_ddp_comp *comp, in mtk_ddp_write_mask() argument
122 cmdq_pkt_write_mask(cmdq_pkt, comp->subsys, in mtk_ddp_write_mask()
123 comp->regs_pa + offset, value, mask); in mtk_ddp_write_mask()
126 u32 tmp = readl(comp->regs + offset); in mtk_ddp_write_mask()
129 writel(tmp, comp->regs + offset); in mtk_ddp_write_mask()
135 void mtk_dither_set(struct mtk_ddp_comp *comp, unsigned int bpc, in mtk_dither_set() argument
143 mtk_ddp_write(cmdq_pkt, 0, comp, DISP_DITHER_5); in mtk_dither_set()
144 mtk_ddp_write(cmdq_pkt, 0, comp, DISP_DITHER_7); in mtk_dither_set()
149 comp, DISP_DITHER_15); in mtk_dither_set()
155 comp, DISP_DITHER_16); in mtk_dither_set()
156 mtk_ddp_write(cmdq_pkt, DISP_DITHERING, comp, CFG); in mtk_dither_set()
160 static void mtk_od_config(struct mtk_ddp_comp *comp, unsigned int w, in mtk_od_config() argument
164 mtk_ddp_write(cmdq_pkt, w << 16 | h, comp, DISP_OD_SIZE); in mtk_od_config()
165 mtk_ddp_write(cmdq_pkt, OD_RELAYMODE, comp, DISP_OD_CFG); in mtk_od_config()
166 mtk_dither_set(comp, bpc, DISP_OD_CFG, cmdq_pkt); in mtk_od_config()
169 static void mtk_od_start(struct mtk_ddp_comp *comp) in mtk_od_start() argument
171 writel(1, comp->regs + DISP_OD_EN); in mtk_od_start()
174 static void mtk_ufoe_start(struct mtk_ddp_comp *comp) in mtk_ufoe_start() argument
176 writel(UFO_BYPASS, comp->regs + DISP_REG_UFO_START); in mtk_ufoe_start()
179 static void mtk_aal_config(struct mtk_ddp_comp *comp, unsigned int w, in mtk_aal_config() argument
183 mtk_ddp_write(cmdq_pkt, h << 16 | w, comp, DISP_AAL_SIZE); in mtk_aal_config()
186 static void mtk_aal_start(struct mtk_ddp_comp *comp) in mtk_aal_start() argument
188 writel(AAL_EN, comp->regs + DISP_AAL_EN); in mtk_aal_start()
191 static void mtk_aal_stop(struct mtk_ddp_comp *comp) in mtk_aal_stop() argument
193 writel_relaxed(0x0, comp->regs + DISP_AAL_EN); in mtk_aal_stop()
196 static void mtk_ccorr_config(struct mtk_ddp_comp *comp, unsigned int w, in mtk_ccorr_config() argument
200 mtk_ddp_write(cmdq_pkt, h << 16 | w, comp, DISP_CCORR_SIZE); in mtk_ccorr_config()
201 mtk_ddp_write(cmdq_pkt, CCORR_ENGINE_EN, comp, DISP_CCORR_CFG); in mtk_ccorr_config()
204 static void mtk_ccorr_start(struct mtk_ddp_comp *comp) in mtk_ccorr_start() argument
206 writel(CCORR_EN, comp->regs + DISP_CCORR_EN); in mtk_ccorr_start()
209 static void mtk_ccorr_stop(struct mtk_ddp_comp *comp) in mtk_ccorr_stop() argument
211 writel_relaxed(0x0, comp->regs + DISP_CCORR_EN); in mtk_ccorr_stop()
234 static void mtk_ccorr_ctm_set(struct mtk_ddp_comp *comp, in mtk_ccorr_ctm_set() argument
254 comp, DISP_CCORR_COEF_0); in mtk_ccorr_ctm_set()
256 comp, DISP_CCORR_COEF_1); in mtk_ccorr_ctm_set()
258 comp, DISP_CCORR_COEF_2); in mtk_ccorr_ctm_set()
260 comp, DISP_CCORR_COEF_3); in mtk_ccorr_ctm_set()
262 comp, DISP_CCORR_COEF_4); in mtk_ccorr_ctm_set()
265 static void mtk_dither_config(struct mtk_ddp_comp *comp, unsigned int w, in mtk_dither_config() argument
269 mtk_ddp_write(cmdq_pkt, h << 16 | w, comp, DISP_DITHER_SIZE); in mtk_dither_config()
270 mtk_ddp_write(cmdq_pkt, DITHER_RELAY_MODE, comp, DISP_DITHER_CFG); in mtk_dither_config()
273 static void mtk_dither_start(struct mtk_ddp_comp *comp) in mtk_dither_start() argument
275 writel(DITHER_EN, comp->regs + DISP_DITHER_EN); in mtk_dither_start()
278 static void mtk_dither_stop(struct mtk_ddp_comp *comp) in mtk_dither_stop() argument
280 writel_relaxed(0x0, comp->regs + DISP_DITHER_EN); in mtk_dither_stop()
283 static void mtk_gamma_config(struct mtk_ddp_comp *comp, unsigned int w, in mtk_gamma_config() argument
287 mtk_ddp_write(cmdq_pkt, h << 16 | w, comp, DISP_GAMMA_SIZE); in mtk_gamma_config()
288 mtk_dither_set(comp, bpc, DISP_GAMMA_CFG, cmdq_pkt); in mtk_gamma_config()
291 static void mtk_gamma_start(struct mtk_ddp_comp *comp) in mtk_gamma_start() argument
293 writel(GAMMA_EN, comp->regs + DISP_GAMMA_EN); in mtk_gamma_start()
296 static void mtk_gamma_stop(struct mtk_ddp_comp *comp) in mtk_gamma_stop() argument
298 writel_relaxed(0x0, comp->regs + DISP_GAMMA_EN); in mtk_gamma_stop()
301 static void mtk_gamma_set(struct mtk_ddp_comp *comp, in mtk_gamma_set() argument
310 reg = readl(comp->regs + DISP_GAMMA_CFG); in mtk_gamma_set()
312 writel(reg, comp->regs + DISP_GAMMA_CFG); in mtk_gamma_set()
313 lut_base = comp->regs + DISP_GAMMA_LUT; in mtk_gamma_set()
469 struct mtk_ddp_comp *comp, enum mtk_ddp_comp_id comp_id, in mtk_ddp_comp_init() argument
486 comp->id = comp_id; in mtk_ddp_comp_init()
487 comp->funcs = funcs ?: mtk_ddp_matches[comp_id].funcs; in mtk_ddp_comp_init()
497 comp->regs = NULL; in mtk_ddp_comp_init()
498 comp->clk = NULL; in mtk_ddp_comp_init()
499 comp->irq = 0; in mtk_ddp_comp_init()
503 comp->regs = of_iomap(node, 0); in mtk_ddp_comp_init()
504 comp->irq = of_irq_get(node, 0); in mtk_ddp_comp_init()
505 comp->clk = of_clk_get(node, 0); in mtk_ddp_comp_init()
506 if (IS_ERR(comp->clk)) in mtk_ddp_comp_init()
507 return PTR_ERR(comp->clk); in mtk_ddp_comp_init()
510 comp->larb_dev = NULL; in mtk_ddp_comp_init()
532 comp->larb_dev = &larb_pdev->dev; in mtk_ddp_comp_init()
540 comp->regs_pa = res.start; in mtk_ddp_comp_init()
546 comp->subsys = cmdq_reg.subsys; in mtk_ddp_comp_init()
551 int mtk_ddp_comp_register(struct drm_device *drm, struct mtk_ddp_comp *comp) in mtk_ddp_comp_register() argument
555 if (private->ddp_comp[comp->id]) in mtk_ddp_comp_register()
558 private->ddp_comp[comp->id] = comp; in mtk_ddp_comp_register()
562 void mtk_ddp_comp_unregister(struct drm_device *drm, struct mtk_ddp_comp *comp) in mtk_ddp_comp_unregister() argument
566 private->ddp_comp[comp->id] = NULL; in mtk_ddp_comp_unregister()