Lines Matching full:vc4
7 * DOC: VC4 HVS module.
69 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_dump_state() local
70 struct drm_printer p = drm_info_printer(&vc4->hvs->pdev->dev); in vc4_hvs_dump_state()
73 drm_print_regset32(&p, &vc4->hvs->regset); in vc4_hvs_dump_state()
79 readl((u32 __iomem *)vc4->hvs->dlist + i + 0), in vc4_hvs_dump_state()
80 readl((u32 __iomem *)vc4->hvs->dlist + i + 1), in vc4_hvs_dump_state()
81 readl((u32 __iomem *)vc4->hvs->dlist + i + 2), in vc4_hvs_dump_state()
82 readl((u32 __iomem *)vc4->hvs->dlist + i + 3)); in vc4_hvs_dump_state()
90 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_underrun() local
93 drm_printf(&p, "%d\n", atomic_read(&vc4->underrun)); in vc4_hvs_debugfs_underrun()
163 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_lut_load() local
202 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_get_fifo_from_output() local
206 if (!vc4->hvs->hvs5) in vc4_hvs_get_fifo_from_output()
253 static int vc4_hvs_init_channel(struct vc4_dev *vc4, struct drm_crtc *crtc, in vc4_hvs_init_channel() argument
273 if (!vc4->hvs->hvs5) in vc4_hvs_init_channel()
294 ((!vc4->hvs->hvs5) ? SCALER_DISPBKGND_GAMMA : 0) | in vc4_hvs_init_channel()
307 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_stop_channel() local
334 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_atomic_check() local
352 spin_lock_irqsave(&vc4->hvs->mm_lock, flags); in vc4_hvs_atomic_check()
353 ret = drm_mm_insert_node(&vc4->hvs->dlist_mm, &vc4_state->mm, in vc4_hvs_atomic_check()
355 spin_unlock_irqrestore(&vc4->hvs->mm_lock, flags); in vc4_hvs_atomic_check()
365 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_update_dlist() local
397 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_atomic_enable() local
403 vc4_hvs_init_channel(vc4, crtc, mode, oneshot); in vc4_hvs_atomic_enable()
420 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_atomic_flush() local
426 u32 __iomem *dlist_start = vc4->hvs->dlist + vc4_state->mm.start; in vc4_hvs_atomic_flush()
500 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_mask_underrun() local
510 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_unmask_underrun() local
522 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_report_underrun() local
524 atomic_inc(&vc4->underrun); in vc4_hvs_report_underrun()
531 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_irq_handler() local
563 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_hvs_bind() local
636 vc4->hvs = hvs; in vc4_hvs_bind()
667 vc4_hvs_irq_handler, 0, "vc4 hvs", drm); in vc4_hvs_bind()
682 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_hvs_unbind() local
683 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_unbind()
685 if (drm_mm_node_allocated(&vc4->hvs->mitchell_netravali_filter)) in vc4_hvs_unbind()
686 drm_mm_remove_node(&vc4->hvs->mitchell_netravali_filter); in vc4_hvs_unbind()
688 drm_mm_takedown(&vc4->hvs->dlist_mm); in vc4_hvs_unbind()
689 drm_mm_takedown(&vc4->hvs->lbm_mm); in vc4_hvs_unbind()
693 vc4->hvs = NULL; in vc4_hvs_unbind()