Lines Matching refs:zcrtc
218 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
220 return zcrtc->vou;
226 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
227 struct zx_vou_hw *vou = zcrtc->vou;
234 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
235 struct zx_vou_hw *vou = zcrtc->vou;
237 void __iomem *dither = zcrtc->dither;
238 void __iomem *csc = zcrtc->chncsc;
239 bool is_main = zcrtc->chn_type == VOU_CHN_MAIN;
263 zcrtc->chn_type << id);
292 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
293 struct zx_vou_hw *vou = zcrtc->vou;
294 const struct zx_crtc_bits *bits = zcrtc->bits;
347 static inline void vou_chn_set_update(struct zx_crtc *zcrtc)
349 zx_writel(zcrtc->chnreg + CHN_UPDATE, 1);
357 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
358 struct zx_vou_hw *vou = zcrtc->vou;
359 const struct zx_crtc_regs *regs = zcrtc->regs;
360 const struct zx_crtc_bits *bits = zcrtc->bits;
429 zx_writel_mask(zcrtc->chnreg + CHN_CTRL1, CHN_SCREEN_W_MASK,
431 zx_writel_mask(zcrtc->chnreg + CHN_CTRL1, CHN_SCREEN_H_MASK,
435 zx_writel_mask(zcrtc->chnreg + CHN_INTERLACE_BUF_CTRL, CHN_INTERLACE_EN,
439 vou_chn_set_update(zcrtc);
442 zx_writel_mask(zcrtc->chnreg + CHN_CTRL0, CHN_ENABLE, CHN_ENABLE);
446 ret = clk_set_rate(zcrtc->pixclk, mode->clock * 1000);
452 ret = clk_prepare_enable(zcrtc->pixclk);
460 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
461 const struct zx_crtc_bits *bits = zcrtc->bits;
462 struct zx_vou_hw *vou = zcrtc->vou;
464 clk_disable_unprepare(zcrtc->pixclk);
469 zx_writel_mask(zcrtc->chnreg + CHN_CTRL0, CHN_ENABLE, 0);
501 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
503 u32 int_frame_mask = zcrtc->bits->int_frame_mask;
513 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
517 zcrtc->bits->int_frame_mask, 0);
536 struct zx_crtc *zcrtc;
539 zcrtc = devm_kzalloc(dev, sizeof(*zcrtc), GFP_KERNEL);
540 if (!zcrtc)
543 zcrtc->vou = vou;
544 zcrtc->chn_type = chn_type;
558 zcrtc->chnreg = vou->osd + OSD_MAIN_CHN;
559 zcrtc->chncsc = vou->osd + MAIN_CHN_CSC_OFFSET;
560 zcrtc->dither = vou->osd + MAIN_DITHER_OFFSET;
561 zcrtc->regs = &main_crtc_regs;
562 zcrtc->bits = &main_crtc_bits;
569 zcrtc->chnreg = vou->osd + OSD_AUX_CHN;
570 zcrtc->chncsc = vou->osd + AUX_CHN_CSC_OFFSET;
571 zcrtc->dither = vou->osd + AUX_DITHER_OFFSET;
572 zcrtc->regs = &aux_crtc_regs;
573 zcrtc->bits = &aux_crtc_bits;
576 zcrtc->pixclk = devm_clk_get(dev, (chn_type == VOU_CHN_MAIN) ?
578 if (IS_ERR(zcrtc->pixclk)) {
579 ret = PTR_ERR(zcrtc->pixclk);
590 zcrtc->primary = &zplane->plane;
592 ret = drm_crtc_init_with_planes(drm, &zcrtc->crtc, zcrtc->primary, NULL,
599 drm_crtc_helper_add(&zcrtc->crtc, &zx_crtc_helper_funcs);
602 vou->main_crtc = zcrtc;
604 vou->aux_crtc = zcrtc;
611 struct zx_crtc *zcrtc = to_zx_crtc(plane->state->crtc);
612 struct zx_vou_hw *vou = zcrtc->vou;
616 if (zcrtc->chn_type == VOU_CHN_MAIN) {
632 struct zx_crtc *zcrtc = to_zx_crtc(old_state->crtc);
633 struct zx_vou_hw *vou = zcrtc->vou;
671 static inline void zx_osd_int_update(struct zx_crtc *zcrtc)
673 struct drm_crtc *crtc = &zcrtc->crtc;
676 vou_chn_set_update(zcrtc);