Lines Matching full:vc4
7 * DOC: VC4 HVS module.
72 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_dump_state()
98 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_underrun() local
101 drm_printf(&p, "%d\n", atomic_read(&vc4->underrun)); in vc4_hvs_debugfs_underrun()
110 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_dlist() local
111 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_debugfs_dlist()
131 dlist_word = readl((u32 __iomem *)vc4->hvs->dlist + j); in vc4_hvs_debugfs_dlist()
218 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_lut_load()
227 if (hvs->vc4->is_vc5) in vc4_hvs_lut_load()
267 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_get_fifo_frame_count()
295 struct vc4_dev *vc4 = hvs->vc4; in vc4_hvs_get_fifo_from_output() local
299 if (!vc4->is_vc5) in vc4_hvs_get_fifo_from_output()
355 struct vc4_dev *vc4 = hvs->vc4; in vc4_hvs_init_channel() local
356 struct drm_device *drm = &vc4->base; in vc4_hvs_init_channel()
380 if (!vc4->is_vc5) { in vc4_hvs_init_channel()
402 ((!vc4->is_vc5) ? SCALER_DISPBKGND_GAMMA : 0) | in vc4_hvs_init_channel()
417 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_stop_channel()
449 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_atomic_check() local
467 spin_lock_irqsave(&vc4->hvs->mm_lock, flags); in vc4_hvs_atomic_check()
468 ret = drm_mm_insert_node(&vc4->hvs->dlist_mm, &vc4_state->mm, in vc4_hvs_atomic_check()
470 spin_unlock_irqrestore(&vc4->hvs->mm_lock, flags); in vc4_hvs_atomic_check()
480 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_install_dlist() local
481 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_install_dlist()
537 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_atomic_enable() local
544 vc4_hvs_init_channel(vc4->hvs, crtc, mode, oneshot); in vc4_hvs_atomic_enable()
551 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_atomic_disable() local
556 vc4_hvs_stop_channel(vc4->hvs, chan); in vc4_hvs_atomic_disable()
565 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_atomic_flush() local
566 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_atomic_flush()
574 u32 __iomem *dlist_start = vc4->hvs->dlist + vc4_state->mm.start; in vc4_hvs_atomic_flush()
675 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_mask_underrun()
683 dispctrl &= ~(hvs->vc4->is_vc5 ? SCALER5_DISPCTRL_DSPEISLUR(channel) : in vc4_hvs_mask_underrun()
693 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_unmask_underrun()
701 dispctrl |= (hvs->vc4->is_vc5 ? SCALER5_DISPCTRL_DSPEISLUR(channel) : in vc4_hvs_unmask_underrun()
713 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_report_underrun() local
715 atomic_inc(&vc4->underrun); in vc4_hvs_report_underrun()
722 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_irq_handler() local
723 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_irq_handler()
745 dspeislur = vc4->is_vc5 ? SCALER5_DISPCTRL_DSPEISLUR(channel) : in vc4_hvs_irq_handler()
768 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_hvs_debugfs_init() local
769 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_debugfs_init()
771 if (!vc4->hvs) in vc4_hvs_debugfs_init()
774 if (!vc4->is_vc5) in vc4_hvs_debugfs_init()
777 &vc4->load_tracker_enabled); in vc4_hvs_debugfs_init()
788 struct vc4_hvs *__vc4_hvs_alloc(struct vc4_dev *vc4, struct platform_device *pdev) in __vc4_hvs_alloc() argument
790 struct drm_device *drm = &vc4->base; in __vc4_hvs_alloc()
797 hvs->vc4 = vc4; in __vc4_hvs_alloc()
817 if (!vc4->is_vc5) in __vc4_hvs_alloc()
824 vc4->hvs = hvs; in __vc4_hvs_alloc()
833 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_hvs_bind() local
839 hvs = __vc4_hvs_alloc(vc4, NULL); in vc4_hvs_bind()
851 if (vc4->is_vc5) { in vc4_hvs_bind()
889 if (!vc4->is_vc5) in vc4_hvs_bind()
930 if (!vc4->is_vc5) in vc4_hvs_bind()
960 * VC4 panics when < 2 lines in FIFO. in vc4_hvs_bind()
971 * VC4 panics when < 2 lines in FIFO. in vc4_hvs_bind()
985 if (!vc4->is_vc5) { in vc4_hvs_bind()
1038 vc4_hvs_irq_handler, 0, "vc4 hvs", drm); in vc4_hvs_bind()
1049 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_hvs_unbind() local
1050 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_unbind()
1053 if (drm_mm_node_allocated(&vc4->hvs->mitchell_netravali_filter)) in vc4_hvs_unbind()
1054 drm_mm_remove_node(&vc4->hvs->mitchell_netravali_filter); in vc4_hvs_unbind()
1056 drm_mm_for_each_node_safe(node, next, &vc4->hvs->dlist_mm) in vc4_hvs_unbind()
1059 drm_mm_takedown(&vc4->hvs->dlist_mm); in vc4_hvs_unbind()
1061 drm_mm_for_each_node_safe(node, next, &vc4->hvs->lbm_mm) in vc4_hvs_unbind()
1063 drm_mm_takedown(&vc4->hvs->lbm_mm); in vc4_hvs_unbind()
1067 vc4->hvs = NULL; in vc4_hvs_unbind()