/Linux-v4.19/drivers/gpu/drm/vc4/ |
D | vc4_irq.c | 60 struct vc4_dev *vc4 = in vc4_overflow_mem_work() local 62 struct vc4_bo *bo = vc4->bin_bo; in vc4_overflow_mem_work() 67 bin_bo_slot = vc4_v3d_get_bin_slot(vc4); in vc4_overflow_mem_work() 73 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_overflow_mem_work() 75 if (vc4->bin_alloc_overflow) { in vc4_overflow_mem_work() 82 exec = vc4_first_bin_job(vc4); in vc4_overflow_mem_work() 84 exec = vc4_last_render_job(vc4); in vc4_overflow_mem_work() 86 exec->bin_slots |= vc4->bin_alloc_overflow; in vc4_overflow_mem_work() 91 vc4->bin_alloc_used &= ~vc4->bin_alloc_overflow; in vc4_overflow_mem_work() 94 vc4->bin_alloc_overflow = BIT(bin_bo_slot); in vc4_overflow_mem_work() [all …]
|
D | vc4_bo.c | 43 static void vc4_bo_stats_dump(struct vc4_dev *vc4) in vc4_bo_stats_dump() argument 47 for (i = 0; i < vc4->num_labels; i++) { in vc4_bo_stats_dump() 48 if (!vc4->bo_labels[i].num_allocated) in vc4_bo_stats_dump() 52 vc4->bo_labels[i].name, in vc4_bo_stats_dump() 53 vc4->bo_labels[i].size_allocated / 1024, in vc4_bo_stats_dump() 54 vc4->bo_labels[i].num_allocated); in vc4_bo_stats_dump() 57 mutex_lock(&vc4->purgeable.lock); in vc4_bo_stats_dump() 58 if (vc4->purgeable.num) in vc4_bo_stats_dump() 60 vc4->purgeable.size / 1024, vc4->purgeable.num); in vc4_bo_stats_dump() 62 if (vc4->purgeable.purged_num) in vc4_bo_stats_dump() [all …]
|
D | vc4_gem.c | 40 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_queue_hangcheck() local 42 mod_timer(&vc4->hangcheck.timer, in vc4_queue_hangcheck() 72 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_hang_state_ioctl() local 77 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 78 kernel_state = vc4->hang_state; in vc4_get_hang_state_ioctl() 80 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 90 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 94 vc4->hang_state = NULL; in vc4_get_hang_state_ioctl() 95 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 144 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_save_hang_state() local [all …]
|
D | vc4_v3d.c | 115 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_regs() local 131 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_ident() local 151 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_init_hw() local 160 int vc4_v3d_get_bin_slot(struct vc4_dev *vc4) in vc4_v3d_get_bin_slot() argument 162 struct drm_device *dev = vc4->dev; in vc4_v3d_get_bin_slot() 169 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_v3d_get_bin_slot() 170 slot = ffs(~vc4->bin_alloc_used); in vc4_v3d_get_bin_slot() 174 vc4->bin_alloc_used |= BIT(slot); in vc4_v3d_get_bin_slot() 175 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_v3d_get_bin_slot() 182 exec = vc4_last_render_job(vc4); in vc4_v3d_get_bin_slot() [all …]
|
D | vc4_kms.c | 43 struct vc4_dev *vc4 = dev->dev_private; in vc4_get_ctm_state() local 47 ret = drm_modeset_lock(&vc4->ctm_state_lock, state->acquire_ctx); in vc4_get_ctm_state() 105 vc4_ctm_commit(struct vc4_dev *vc4, struct drm_atomic_state *state) in vc4_ctm_commit() argument 107 struct vc4_ctm_state *ctm_state = to_vc4_ctm_state(vc4->ctm_manager.state); in vc4_ctm_commit() 142 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_atomic_complete_commit() local 150 vc4_ctm_commit(vc4, state); in vc4_atomic_complete_commit() 168 up(&vc4->async_modeset); in vc4_atomic_complete_commit() 196 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_atomic_commit() local 200 ret = down_interruptible(&vc4->async_modeset); in vc4_atomic_commit() 206 up(&vc4->async_modeset); in vc4_atomic_commit() [all …]
|
D | vc4_drv.c | 67 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_param_ioctl() local 76 ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 80 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 81 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 84 ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 88 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 89 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 92 ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 96 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() 97 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev); in vc4_get_param_ioctl() [all …]
|
D | vc4_hvs.c | 69 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_dump_state() local 82 readl((u32 __iomem *)vc4->hvs->dlist + i + 0), in vc4_hvs_dump_state() 83 readl((u32 __iomem *)vc4->hvs->dlist + i + 1), in vc4_hvs_dump_state() 84 readl((u32 __iomem *)vc4->hvs->dlist + i + 2), in vc4_hvs_dump_state() 85 readl((u32 __iomem *)vc4->hvs->dlist + i + 3)); in vc4_hvs_dump_state() 94 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_regs() local 173 struct vc4_dev *vc4 = drm->dev_private; in vc4_hvs_bind() local 217 vc4->hvs = hvs; in vc4_hvs_bind() 238 struct vc4_dev *vc4 = drm->dev_private; in vc4_hvs_unbind() local 240 if (vc4->hvs->mitchell_netravali_filter.allocated) in vc4_hvs_unbind() [all …]
|
D | vc4_hdmi.c | 102 #define HDMI_READ(offset) readl(vc4->hdmi->hdmicore_regs + offset) 103 #define HDMI_WRITE(offset, val) writel(val, vc4->hdmi->hdmicore_regs + offset) 104 #define HD_READ(offset) readl(vc4->hdmi->hd_regs + offset) 105 #define HD_WRITE(offset, val) writel(val, vc4->hdmi->hd_regs + offset) 200 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hdmi_debugfs_regs() local 221 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hdmi_dump_regs() local 240 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hdmi_connector_detect() local 242 if (vc4->hdmi->hpd_gpio) { in vc4_hdmi_connector_detect() 243 if (gpio_get_value_cansleep(vc4->hdmi->hpd_gpio) ^ in vc4_hdmi_connector_detect() 244 vc4->hdmi->hpd_active_low) in vc4_hdmi_connector_detect() [all …]
|
D | vc4_drv.h | 288 struct vc4_dev *vc4; member 435 #define V3D_READ(offset) readl(vc4->v3d->regs + offset) 436 #define V3D_WRITE(offset, val) writel(val, vc4->v3d->regs + offset) 437 #define HVS_READ(offset) readl(vc4->hvs->regs + offset) 438 #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) 564 vc4_first_bin_job(struct vc4_dev *vc4) in vc4_first_bin_job() argument 566 return list_first_entry_or_null(&vc4->bin_job_list, in vc4_first_bin_job() 571 vc4_first_render_job(struct vc4_dev *vc4) in vc4_first_render_job() argument 573 return list_first_entry_or_null(&vc4->render_job_list, in vc4_first_render_job() 578 vc4_last_render_job(struct vc4_dev *vc4) in vc4_last_render_job() argument [all …]
|
D | vc4_perfmon.c | 30 void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon) in vc4_perfmon_start() argument 35 if (WARN_ON_ONCE(!perfmon || vc4->active_perfmon)) in vc4_perfmon_start() 44 vc4->active_perfmon = perfmon; in vc4_perfmon_start() 47 void vc4_perfmon_stop(struct vc4_dev *vc4, struct vc4_perfmon *perfmon, in vc4_perfmon_stop() argument 52 if (WARN_ON_ONCE(!vc4->active_perfmon || in vc4_perfmon_stop() 53 perfmon != vc4->active_perfmon)) in vc4_perfmon_stop() 62 vc4->active_perfmon = NULL; in vc4_perfmon_stop()
|
D | Makefile | 5 vc4-y := \ 27 vc4-$(CONFIG_DEBUG_FS) += vc4_debugfs.o 29 obj-$(CONFIG_DRM_VC4) += vc4.o
|
D | vc4_crtc.c | 128 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_get_scanoutpos() local 250 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_lut_load() local 421 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_mode_set_nofb() local 478 struct vc4_dev *vc4 = to_vc4_dev(dev); in require_hvs_enabled() local 488 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_atomic_disable() local 549 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_update_dlist() local 581 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_atomic_enable() local 631 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_atomic_check() local 651 spin_lock_irqsave(&vc4->hvs->mm_lock, flags); in vc4_crtc_atomic_check() 652 ret = drm_mm_insert_node(&vc4->hvs->dlist_mm, &vc4_state->mm, in vc4_crtc_atomic_check() [all …]
|
D | vc4_fence.c | 39 struct vc4_dev *vc4 = to_vc4_dev(f->dev); in vc4_fence_signaled() local 41 return vc4->finished_seqno >= f->seqno; in vc4_fence_signaled()
|
D | vc4_dpi.c | 135 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_dpi_debugfs_regs() local 136 struct vc4_dpi *dpi = vc4->dpi; in vc4_dpi_debugfs_regs() 296 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_dpi_bind() local 353 vc4->dpi = dpi; in vc4_dpi_bind() 367 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_dpi_unbind() local 376 vc4->dpi = NULL; in vc4_dpi_unbind()
|
D | vc4_txp.c | 180 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_txp_debugfs_regs() local 181 struct vc4_txp *txp = vc4->txp; in vc4_txp_debugfs_regs() 399 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_txp_bind() local 432 vc4->txp = txp; in vc4_txp_bind() 441 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_txp_unbind() local 446 vc4->txp = NULL; in vc4_txp_unbind()
|
D | vc4_trace.h | 17 #define TRACE_SYSTEM vc4 62 #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/vc4
|
D | vc4_vec.c | 262 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_vec_debugfs_regs() local 263 struct vc4_vec *vec = vc4->vec; in vc4_vec_debugfs_regs() 564 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_vec_bind() local 613 vc4->vec = vec; in vc4_vec_bind() 628 struct vc4_dev *vc4 = to_vc4_dev(drm); in vc4_vec_unbind() local 635 vc4->vec = NULL; in vc4_vec_unbind()
|
D | vc4_plane.c | 176 struct vc4_dev *vc4 = to_vc4_dev(plane->dev); in vc4_plane_destroy_state() local 182 spin_lock_irqsave(&vc4->hvs->mm_lock, irqflags); in vc4_plane_destroy_state() 184 spin_unlock_irqrestore(&vc4->hvs->mm_lock, irqflags); in vc4_plane_destroy_state() 464 struct vc4_dev *vc4 = to_vc4_dev(plane->dev); in vc4_plane_mode_set() local 489 spin_lock_irqsave(&vc4->hvs->mm_lock, irqflags); in vc4_plane_mode_set() 490 ret = drm_mm_insert_node_generic(&vc4->hvs->lbm_mm, in vc4_plane_mode_set() 493 spin_unlock_irqrestore(&vc4->hvs->mm_lock, irqflags); in vc4_plane_mode_set() 697 u32 kernel = VC4_SET_FIELD(vc4->hvs->mitchell_netravali_filter.start, in vc4_plane_mode_set()
|
D | vc4_validate.c | 352 struct vc4_dev *vc4 = to_vc4_dev(dev); in validate_tile_binning_config() local 382 bin_slot = vc4_v3d_get_bin_slot(vc4); in validate_tile_binning_config() 395 bin_addr = vc4->bin_bo->base.paddr + bin_slot * vc4->bin_alloc_size; in validate_tile_binning_config() 417 *(uint32_t *)(validated + 4) = (bin_addr + vc4->bin_alloc_size - in validate_tile_binning_config()
|
/Linux-v4.19/Documentation/gpu/ |
D | vc4.rst | 2 drm/vc4 Broadcom VC4 Graphics Driver 5 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_drv.c 18 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_crtc.c 24 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hvs.c 30 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_plane.c 36 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hdmi.c 42 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_dsi.c 48 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_dpi.c 54 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_vec.c 60 This section covers the GEM implementation in the vc4 driver. [all …]
|
D | drivers.rst | 15 vc4
|
/Linux-v4.19/Documentation/devicetree/bindings/display/ |
D | brcm,bcm-vc4.txt | 8 - compatible: Should be "brcm,bcm2835-vc4" or "brcm,cygnus-vc4" 162 vc4: gpu { 163 compatible = "brcm,bcm2835-vc4";
|
/Linux-v4.19/drivers/net/dsa/b53/ |
D | b53_common.c | 348 u8 mgmt, vc0, vc1, vc4 = 0, vc5; in b53_enable_vlan() local 355 b53_read8(dev, B53_VLAN_PAGE, B53_VLAN_CTRL4_25, &vc4); in b53_enable_vlan() 358 b53_read8(dev, B53_VLAN_PAGE, B53_VLAN_CTRL4_63XX, &vc4); in b53_enable_vlan() 361 b53_read8(dev, B53_VLAN_PAGE, B53_VLAN_CTRL4, &vc4); in b53_enable_vlan() 370 vc4 &= ~VC4_ING_VID_CHECK_MASK; in b53_enable_vlan() 371 vc4 |= VC4_ING_VID_VIO_DROP << VC4_ING_VID_CHECK_S; in b53_enable_vlan() 383 vc4 &= ~VC4_ING_VID_CHECK_MASK; in b53_enable_vlan() 387 vc4 |= VC4_ING_VID_VIO_FWD << VC4_ING_VID_CHECK_S; in b53_enable_vlan() 389 vc4 |= VC4_ING_VID_VIO_TO_IMP << VC4_ING_VID_CHECK_S; in b53_enable_vlan() 409 b53_write8(dev, B53_VLAN_PAGE, B53_VLAN_CTRL4_25, vc4); in b53_enable_vlan() [all …]
|
/Linux-v4.19/Documentation/devicetree/bindings/gpu/ |
D | brcm,bcm-v3d.txt | 4 For V3D 2.x, see brcm,bcm-vc4.txt.
|
/Linux-v4.19/drivers/staging/vc04_services/bcm2835-camera/ |
D | TODO | 5 vc4 driver can import them. This may involve bringing in the VCSM
|