Lines Matching refs:lcrtc
22 static void lsdc_crtc0_soft_reset(struct lsdc_crtc *lcrtc) in lsdc_crtc0_soft_reset() argument
24 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_soft_reset()
48 static void lsdc_crtc1_soft_reset(struct lsdc_crtc *lcrtc) in lsdc_crtc1_soft_reset() argument
50 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_soft_reset()
74 static void lsdc_crtc0_enable(struct lsdc_crtc *lcrtc) in lsdc_crtc0_enable() argument
76 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_enable()
87 drm_warn(&ldev->base, "%s stall\n", lcrtc->base.name); in lsdc_crtc0_enable()
88 return lsdc_crtc0_soft_reset(lcrtc); in lsdc_crtc0_enable()
94 static void lsdc_crtc0_disable(struct lsdc_crtc *lcrtc) in lsdc_crtc0_disable() argument
96 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_disable()
103 static void lsdc_crtc1_enable(struct lsdc_crtc *lcrtc) in lsdc_crtc1_enable() argument
105 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_enable()
115 drm_warn(&ldev->base, "%s stall\n", lcrtc->base.name); in lsdc_crtc1_enable()
116 return lsdc_crtc1_soft_reset(lcrtc); in lsdc_crtc1_enable()
122 static void lsdc_crtc1_disable(struct lsdc_crtc *lcrtc) in lsdc_crtc1_disable() argument
124 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_disable()
133 static void lsdc_crtc0_scan_pos(struct lsdc_crtc *lcrtc, int *hpos, int *vpos) in lsdc_crtc0_scan_pos() argument
135 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_scan_pos()
144 static void lsdc_crtc1_scan_pos(struct lsdc_crtc *lcrtc, int *hpos, int *vpos) in lsdc_crtc1_scan_pos() argument
146 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_scan_pos()
155 static void lsdc_crtc0_enable_vblank(struct lsdc_crtc *lcrtc) in lsdc_crtc0_enable_vblank() argument
157 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_enable_vblank()
162 static void lsdc_crtc0_disable_vblank(struct lsdc_crtc *lcrtc) in lsdc_crtc0_disable_vblank() argument
164 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_disable_vblank()
169 static void lsdc_crtc1_enable_vblank(struct lsdc_crtc *lcrtc) in lsdc_crtc1_enable_vblank() argument
171 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_enable_vblank()
176 static void lsdc_crtc1_disable_vblank(struct lsdc_crtc *lcrtc) in lsdc_crtc1_disable_vblank() argument
178 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_disable_vblank()
183 static void lsdc_crtc0_flip(struct lsdc_crtc *lcrtc) in lsdc_crtc0_flip() argument
185 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_flip()
190 static void lsdc_crtc1_flip(struct lsdc_crtc *lcrtc) in lsdc_crtc1_flip() argument
192 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_flip()
204 static void lsdc_crtc0_clone(struct lsdc_crtc *lcrtc) in lsdc_crtc0_clone() argument
206 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_clone()
211 static void lsdc_crtc1_clone(struct lsdc_crtc *lcrtc) in lsdc_crtc1_clone() argument
213 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_clone()
218 static void lsdc_crtc0_set_mode(struct lsdc_crtc *lcrtc, in lsdc_crtc0_set_mode() argument
221 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_set_mode()
236 static void lsdc_crtc1_set_mode(struct lsdc_crtc *lcrtc, in lsdc_crtc1_set_mode() argument
239 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_set_mode()
265 static void lsdc_crtc0_reset(struct lsdc_crtc *lcrtc) in lsdc_crtc0_reset() argument
267 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_reset()
272 static void lsdc_crtc1_reset(struct lsdc_crtc *lcrtc) in lsdc_crtc1_reset() argument
274 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_reset()
314 static u32 lsdc_crtc0_get_vblank_count(struct lsdc_crtc *lcrtc) in lsdc_crtc0_get_vblank_count() argument
316 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_get_vblank_count()
321 static u32 lsdc_crtc1_get_vblank_count(struct lsdc_crtc *lcrtc) in lsdc_crtc1_get_vblank_count() argument
323 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_get_vblank_count()
335 static void lsdc_crtc0_set_dma_step(struct lsdc_crtc *lcrtc, in lsdc_crtc0_set_dma_step() argument
338 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc0_set_dma_step()
347 static void lsdc_crtc1_set_dma_step(struct lsdc_crtc *lcrtc, in lsdc_crtc1_set_dma_step() argument
350 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc1_set_dma_step()
392 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_reset() local
393 const struct lsdc_crtc_hw_ops *ops = lcrtc->hw_ops; in lsdc_crtc_reset()
407 ops->reset(lcrtc); in lsdc_crtc_reset()
442 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_get_vblank_counter() local
445 return lcrtc->hw_ops->get_vblank_counter(lcrtc); in lsdc_crtc_get_vblank_counter()
450 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_enable_vblank() local
452 if (!lcrtc->has_vblank) in lsdc_crtc_enable_vblank()
455 lcrtc->hw_ops->enable_vblank(lcrtc); in lsdc_crtc_enable_vblank()
462 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_disable_vblank() local
464 if (!lcrtc->has_vblank) in lsdc_crtc_disable_vblank()
467 lcrtc->hw_ops->disable_vblank(lcrtc); in lsdc_crtc_disable_vblank()
533 struct lsdc_crtc *lcrtc = (struct lsdc_crtc *)node->info_ent->data; in lsdc_crtc_show_regs() local
534 struct lsdc_device *ldev = lcrtc->ldev; in lsdc_crtc_show_regs()
537 for (i = 0; i < lcrtc->nreg; i++) { in lsdc_crtc_show_regs()
538 const struct lsdc_reg32 *preg = &lcrtc->preg[i]; in lsdc_crtc_show_regs()
551 struct lsdc_crtc *lcrtc = (struct lsdc_crtc *)node->info_ent->data; in lsdc_crtc_show_scan_position() local
554 lcrtc->hw_ops->get_scan_pos(lcrtc, &x, &y); in lsdc_crtc_show_scan_position()
563 struct lsdc_crtc *lcrtc = (struct lsdc_crtc *)node->info_ent->data; in lsdc_crtc_show_vblank_counter() local
565 if (lcrtc->hw_ops->get_vblank_counter) in lsdc_crtc_show_vblank_counter()
566 seq_printf(m, "%s vblank counter: %08u\n\n", lcrtc->base.name, in lsdc_crtc_show_vblank_counter()
567 lcrtc->hw_ops->get_vblank_counter(lcrtc)); in lsdc_crtc_show_vblank_counter()
575 struct lsdc_crtc *lcrtc = (struct lsdc_crtc *)node->info_ent->data; in lsdc_pixpll_show_clock() local
576 struct lsdc_pixpll *pixpll = &lcrtc->pixpll; in lsdc_pixpll_show_clock()
578 struct drm_crtc *crtc = &lcrtc->base; in lsdc_pixpll_show_clock()
638 struct lsdc_crtc *lcrtc = m->private; in lsdc_crtc_man_op_write() local
639 const struct lsdc_crtc_hw_ops *ops = lcrtc->hw_ops; in lsdc_crtc_man_op_write()
651 ops->soft_reset(lcrtc); in lsdc_crtc_man_op_write()
653 ops->enable(lcrtc); in lsdc_crtc_man_op_write()
655 ops->disable(lcrtc); in lsdc_crtc_man_op_write()
657 ops->flip(lcrtc); in lsdc_crtc_man_op_write()
659 ops->clone(lcrtc); in lsdc_crtc_man_op_write()
676 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_late_register() local
681 lcrtc->preg = lsdc_crtc_regs_array[index]; in lsdc_crtc_late_register()
682 lcrtc->nreg = ARRAY_SIZE(lsdc_crtc_regs_array[index]); in lsdc_crtc_late_register()
683 lcrtc->p_info_list = lsdc_crtc_debugfs_list[index]; in lsdc_crtc_late_register()
684 lcrtc->n_info_list = ARRAY_SIZE(lsdc_crtc_debugfs_list[index]); in lsdc_crtc_late_register()
686 for (i = 0; i < lcrtc->n_info_list; ++i) in lsdc_crtc_late_register()
687 lcrtc->p_info_list[i].data = lcrtc; in lsdc_crtc_late_register()
689 drm_debugfs_create_files(lcrtc->p_info_list, lcrtc->n_info_list, in lsdc_crtc_late_register()
693 debugfs_create_file("ops", 0644, crtc->debugfs_entry, lcrtc, in lsdc_crtc_late_register()
777 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_pixpll_atomic_check() local
778 struct lsdc_pixpll *pixpll = &lcrtc->pixpll; in lsdc_pixpll_atomic_check()
807 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_mode_set_nofb() local
808 const struct lsdc_crtc_hw_ops *crtc_hw_ops = lcrtc->hw_ops; in lsdc_crtc_mode_set_nofb()
809 struct lsdc_pixpll *pixpll = &lcrtc->pixpll; in lsdc_crtc_mode_set_nofb()
834 crtc_hw_ops->set_dma_step(lcrtc, dma_step); in lsdc_crtc_mode_set_nofb()
837 crtc_hw_ops->set_mode(lcrtc, mode); in lsdc_crtc_mode_set_nofb()
859 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_atomic_enable() local
861 if (lcrtc->has_vblank) in lsdc_crtc_atomic_enable()
864 lcrtc->hw_ops->enable(lcrtc); in lsdc_crtc_atomic_enable()
870 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_atomic_disable() local
872 if (lcrtc->has_vblank) in lsdc_crtc_atomic_disable()
875 lcrtc->hw_ops->disable(lcrtc); in lsdc_crtc_atomic_disable()
906 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in lsdc_crtc_get_scanout_position() local
907 const struct lsdc_crtc_hw_ops *ops = lcrtc->hw_ops; in lsdc_crtc_get_scanout_position()
923 ops->get_scan_pos(lcrtc, &x, &y); in lsdc_crtc_get_scanout_position()
956 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in ls7a1000_crtc_init() local
959 ret = lsdc_pixpll_init(&lcrtc->pixpll, ddev, index); in ls7a1000_crtc_init()
965 lcrtc->ldev = to_lsdc(ddev); in ls7a1000_crtc_init()
966 lcrtc->has_vblank = has_vblank; in ls7a1000_crtc_init()
967 lcrtc->hw_ops = &ls7a1000_crtc_hw_ops[index]; in ls7a1000_crtc_init()
995 struct lsdc_crtc *lcrtc = to_lsdc_crtc(crtc); in ls7a2000_crtc_init() local
998 ret = lsdc_pixpll_init(&lcrtc->pixpll, ddev, index); in ls7a2000_crtc_init()
1004 lcrtc->ldev = to_lsdc(ddev); in ls7a2000_crtc_init()
1005 lcrtc->has_vblank = has_vblank; in ls7a2000_crtc_init()
1006 lcrtc->hw_ops = &ls7a2000_crtc_hw_ops[index]; in ls7a2000_crtc_init()