/linux/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_gpu.c | 405 gpu->identity.model, gpu->identity.revision); in etnaviv_hw_identify() 487 gpu->base_rate_core >> gpu->freq_scale); in etnaviv_gpu_update_clock() 489 gpu->base_rate_shader >> gpu->freq_scale); in etnaviv_gpu_update_clock() 504 gpu->fe_waitcycles = clamp(gpu->base_rate_core >> (15 - gpu->freq_scale), in etnaviv_gpu_update_clock() 1157 f->gpu = gpu; in etnaviv_gpu_fence_alloc() 1376 struct etnaviv_gpu *gpu = submit->gpu; in etnaviv_gpu_submit() local 1449 event_free(gpu, gpu->sync_point_event); in sync_point_worker() 1457 struct etnaviv_gpu *gpu = submit->gpu; in etnaviv_gpu_recover_hang() local 1581 queue_work(gpu->wq, &gpu->sync_point_work); in irq_handler() 1792 priv->gpu[priv->num_gpus++] = gpu; in etnaviv_gpu_bind() [all …]
|
H A D | etnaviv_buffer.c | 95 lockdep_assert_held(&gpu->lock); in etnaviv_cmd_select_pipe() 103 if (gpu->exec_state == ETNA_PIPE_2D) in etnaviv_cmd_select_pipe() 167 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_init() 184 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_config_mmuv2() 219 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_config_pta() 241 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_end() 243 if (gpu->exec_state == ETNA_PIPE_2D) in etnaviv_buffer_end() 307 lockdep_assert_held(&gpu->lock); in etnaviv_sync_point_queue() 355 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_queue() 438 gpu->flush_seq = new_flush_seq; in etnaviv_buffer_queue() [all …]
|
H A D | etnaviv_sched.c | 37 struct etnaviv_gpu *gpu = submit->gpu; in etnaviv_sched_timedout_job() local 56 (gpu->completed_fence != gpu->hangcheck_fence || in etnaviv_sched_timedout_job() 58 gpu->hangcheck_dma_addr = dma_addr; in etnaviv_sched_timedout_job() 59 gpu->hangcheck_fence = gpu->completed_fence; in etnaviv_sched_timedout_job() 73 drm_sched_resubmit_jobs(&gpu->sched); in etnaviv_sched_timedout_job() 75 drm_sched_start(&gpu->sched); in etnaviv_sched_timedout_job() 100 struct etnaviv_gpu *gpu = submit->gpu; in etnaviv_sched_push_job() local 108 mutex_lock(&gpu->sched_lock); in etnaviv_sched_push_job() 127 mutex_unlock(&gpu->sched_lock); in etnaviv_sched_push_job() 140 dev_name(gpu->dev), gpu->dev); in etnaviv_sched_init() [all …]
|
H A D | etnaviv_gpu.h | 169 writel(data, gpu->mmio + reg); in gpu_write() 179 readl(gpu->mmio + reg); in gpu_read() 181 return readl(gpu->mmio + reg); in gpu_read() 187 if (gpu->identity.model == chipModel_GC300 && in gpu_fix_power_address() 188 gpu->identity.revision < 0x2000) in gpu_fix_power_address() 196 writel(data, gpu->mmio + gpu_fix_power_address(gpu, reg)); in gpu_write_power() 201 return readl(gpu->mmio + gpu_fix_power_address(gpu, reg)); in gpu_read_power() 206 int etnaviv_gpu_init(struct etnaviv_gpu *gpu); 214 void etnaviv_gpu_retire(struct etnaviv_gpu *gpu); 221 int etnaviv_gpu_pm_get_sync(struct etnaviv_gpu *gpu); [all …]
|
H A D | etnaviv_perfmon.c | 18 u32 (*sample)(struct etnaviv_gpu *gpu, 66 pipe_select(gpu, clock, i); in pipe_perf_reg_read() 71 pipe_select(gpu, clock, 0); in pipe_perf_reg_read() 85 pipe_select(gpu, clock, i); in pipe_reg_read() 86 value += gpu_read(gpu, signal->data); in pipe_reg_read() 90 pipe_select(gpu, clock, 0); in pipe_reg_read() 106 return gpu_read(gpu, reg); in hi_total_cycle_read() 120 return gpu_read(gpu, reg); in hi_total_idle_cycle_read() 508 dom = pm_domain(gpu, domain->iter); in etnaviv_pm_query_dom() 533 dom = pm_domain(gpu, signal->domain); in etnaviv_pm_query_sig() [all …]
|
H A D | etnaviv_drv.c | 85 struct etnaviv_gpu *gpu = priv->gpu[i]; in etnaviv_open() local 88 if (gpu) { in etnaviv_open() 112 struct etnaviv_gpu *gpu = priv->gpu[i]; in etnaviv_postclose() local 114 if (gpu) in etnaviv_postclose() 234 gpu = priv->gpu[i]; in show_each_gpu() 276 gpu = priv->gpu[args->pipe]; in etnaviv_ioctl_get_param() 277 if (!gpu) in etnaviv_ioctl_get_param() 372 gpu = priv->gpu[args->pipe]; in etnaviv_ioctl_wait_fence() 423 gpu = priv->gpu[args->pipe]; in etnaviv_ioctl_gem_wait() 451 gpu = priv->gpu[args->pipe]; in etnaviv_ioctl_pm_query_dom() [all …]
|
/linux/drivers/gpu/drm/msm/ |
H A D | msm_gpu.c | 60 if (gpu->core_clk && gpu->fast_rate) in enable_clk() 169 ret = gpu->funcs->hw_init(gpu); in msm_gpu_hw_init() 207 gpu->funcs->show(gpu, state, &p); in msm_gpu_devcoredump_read() 272 state = gpu->funcs->gpu_state_get(gpu); in msm_gpu_crashstate_capture() 428 gpu->funcs->recover(gpu); in recover_worker() 440 gpu->funcs->submit(gpu, submit); in recover_worker() 506 if (!gpu->funcs->progress(gpu, ring)) in made_progress() 785 gpu->funcs->submit(gpu, submit); in msm_gpu_submit() 799 return gpu->funcs->irq(gpu); in irq_handler() 939 gpu->aspace = gpu->funcs->create_address_space(gpu, pdev); in msm_gpu_init() [all …]
|
H A D | msm_gpu_devfreq.c | 48 gpu->funcs->gpu_set_freq(gpu, opp, df->suspended); in msm_devfreq_target() 72 return gpu->funcs->gpu_get_freq(gpu); in get_freq() 99 busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); in msm_devfreq_get_dev_status() 190 gpu->cooling = NULL; in msm_devfreq_init() 215 if (!has_devfreq(gpu)) in msm_devfreq_cleanup() 227 if (!has_devfreq(gpu)) in msm_devfreq_resume() 231 df->busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); in msm_devfreq_resume() 243 if (!has_devfreq(gpu)) in msm_devfreq_suspend() 269 if (!has_devfreq(gpu)) in msm_devfreq_boost() 272 freq = get_freq(gpu); in msm_devfreq_boost() [all …]
|
H A D | msm_gpu.h | 84 (struct msm_gpu *gpu); 478 if (rn >= gpu->nr_rings) in msm_gpu_convert_priority() 687 mutex_lock(&gpu->lock); in msm_gpu_crashstate_get() 689 if (gpu->crashstate) { in msm_gpu_crashstate_get() 691 state = gpu->crashstate; in msm_gpu_crashstate_get() 694 mutex_unlock(&gpu->lock); in msm_gpu_crashstate_get() 701 mutex_lock(&gpu->lock); in msm_gpu_crashstate_put() 703 if (gpu->crashstate) { in msm_gpu_crashstate_put() 704 if (gpu->funcs->gpu_state_put(gpu->crashstate)) in msm_gpu_crashstate_put() 705 gpu->crashstate = NULL; in msm_gpu_crashstate_put() [all …]
|
/linux/drivers/gpu/drm/msm/adreno/ |
H A D | a4xx_gpu.c | 180 return a4xx_idle(gpu); in a4xx_me_init() 325 gpu_write(gpu, REG_A4XX_CP_RB_BASE, lower_32_bits(gpu->rb[0]->iova)); in a4xx_hw_init() 363 a4xx_dump(gpu); in a4xx_recover() 368 adreno_recover(gpu); in a4xx_recover() 376 DBG("%s", gpu->name); in a4xx_destroy() 388 if (!adreno_idle(gpu, gpu->rb[0])) in a4xx_idle() 418 msm_gpu_retire(gpu); in a4xx_irq() 569 adreno_dump(gpu); in a4xx_dump() 658 struct msm_gpu *gpu; in a4xx_gpu_init() local 696 if (!gpu->aspace) { in a4xx_gpu_init() [all …]
|
H A D | a3xx_gpu.c | 109 return a3xx_idle(gpu); in a3xx_me_init() 119 DBG("%s", gpu->name); in a3xx_hw_init() 289 gpu_write(gpu, REG_AXXX_CP_RB_BASE, lower_32_bits(gpu->rb[0]->iova)); in a3xx_hw_init() 379 a3xx_dump(gpu); in a3xx_recover() 384 adreno_recover(gpu); in a3xx_recover() 404 if (!adreno_idle(gpu, gpu->rb[0])) in a3xx_idle() 430 msm_gpu_retire(gpu); in a3xx_irq() 478 adreno_dump(gpu); in a3xx_dump() 545 struct msm_gpu *gpu; in a3xx_gpu_init() local 584 if (!gpu->aspace) { in a3xx_gpu_init() [all …]
|
H A D | adreno_gpu.h | 277 return gpu->chip_id & 0xff; in adreno_patchid() 282 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_revn() 289 return gpu->gmu_is_wrapper; in adreno_has_gmu_wrapper() 294 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a2xx() 301 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a20x() 345 return adreno_is_a330(gpu) && (adreno_patchid(gpu) > 0); in adreno_is_a330v2() 420 return adreno_is_a619(gpu) && adreno_has_gmu_wrapper(gpu); in adreno_is_a619_holi() 470 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a610_family() 474 return adreno_is_a610(gpu) || adreno_is_a702(gpu); in adreno_is_a610_family() 480 return adreno_is_a618(gpu) || in adreno_is_a615_family() [all …]
|
H A D | a5xx_gpu.c | 932 gpu_write64(gpu, REG_A5XX_CP_RB_BASE, gpu->rb[0]->iova); in a5xx_hw_init() 972 a5xx_flush(gpu, gpu->rb[0], true); in a5xx_hw_init() 973 if (!a5xx_idle(gpu, gpu->rb[0])) in a5xx_hw_init() 990 a5xx_flush(gpu, gpu->rb[0], true); in a5xx_hw_init() 991 if (!a5xx_idle(gpu, gpu->rb[0])) in a5xx_hw_init() 1025 a5xx_dump(gpu); in a5xx_recover() 1234 struct msm_ringbuffer *ring = gpu->funcs->active_ring(gpu); in a5xx_fault_detect_irq() 1258 kthread_queue_work(gpu->worker, &gpu->recover_work); in a5xx_fault_detect_irq() 1381 gpu->name, in a5xx_pm_resume() 1392 gpu->name); in a5xx_pm_resume() [all …]
|
H A D | a5xx_power.c | 164 gpu_write(gpu, AGC_MSG_PAYLOAD(2), _get_mvolts(gpu, gpu->fast_rate)); in a530_lm_setup() 165 gpu_write(gpu, AGC_MSG_PAYLOAD(3), gpu->fast_rate / 1000000); in a530_lm_setup() 199 gpu_write(gpu, AGC_MSG_PAYLOAD(2), _get_mvolts(gpu, gpu->fast_rate)); in a540_lm_setup() 200 gpu_write(gpu, AGC_MSG_PAYLOAD(3), gpu->fast_rate / 1000000); in a540_lm_setup() 247 gpu->name); in a5xx_gpmu_init() 264 gpu->name); in a5xx_gpmu_init() 271 gpu->name, val); in a5xx_gpmu_init() 306 a530_lm_setup(gpu); in a5xx_power_init() 308 a540_lm_setup(gpu); in a5xx_power_init() 311 a5xx_pc_init(gpu); in a5xx_power_init() [all …]
|
H A D | a6xx_gpu.c | 1121 gpu_write64(gpu, REG_A6XX_CP_RB_BASE, gpu->rb[0]->iova); in hw_init() 1169 a6xx_flush(gpu, gpu->rb[0]); in hw_init() 1170 if (!a6xx_idle(gpu, gpu->rb[0])) in hw_init() 1238 a6xx_dump(gpu); in a6xx_recover() 1480 struct msm_ringbuffer *ring = gpu->funcs->active_ring(gpu); in a6xx_fault_detect_irq() 1512 kthread_queue_work(gpu->worker, &gpu->recover_work); in a6xx_fault_detect_irq() 1532 kthread_queue_work(gpu->worker, &gpu->recover_work); in a7xx_sw_fuse_violation_irq() 1868 ret = clk_bulk_prepare_enable(gpu->nr_clocks, gpu->grp_clks); in a6xx_pm_resume() 1937 clk_bulk_disable_unprepare(gpu->nr_clocks, gpu->grp_clks); in a6xx_pm_suspend() 2337 msm_mmu_set_fault_handler(gpu->aspace->mmu, gpu, in a6xx_gpu_init() [all …]
|
H A D | a2xx_gpu.c | 105 return a2xx_idle(gpu); in a2xx_me_init() 118 DBG("%s", gpu->name); in a2xx_hw_init() 219 gpu_write(gpu, REG_AXXX_CP_RB_BASE, lower_32_bits(gpu->rb[0]->iova)); in a2xx_hw_init() 279 a2xx_dump(gpu); in a2xx_recover() 284 adreno_recover(gpu); in a2xx_recover() 302 if (!adreno_idle(gpu, gpu->rb[0])) in a2xx_idle() 351 msm_gpu_retire(gpu); in a2xx_irq() 452 adreno_dump(gpu); in a2xx_dump() 520 struct msm_gpu *gpu; in a2xx_gpu_init() local 554 if (!gpu->aspace) { in a2xx_gpu_init() [all …]
|
H A D | a5xx_preempt.c | 68 empty = (get_wptr(ring) == gpu->funcs->get_rptr(gpu, ring)); in get_next_ring() 90 kthread_queue_work(gpu->worker, &gpu->recover_work); in a5xx_preempt_timer() 101 if (gpu->nr_rings == 1) in a5xx_preempt_trigger() 119 ring = get_next_ring(gpu); in a5xx_preempt_trigger() 197 gpu->name); in a5xx_preempt_irq() 198 kthread_queue_work(gpu->worker, &gpu->recover_work); in a5xx_preempt_irq() 213 a5xx_preempt_trigger(gpu); in a5xx_preempt_irq() 226 if (gpu->nr_rings == 1) in a5xx_preempt_hw_init() 310 if (gpu->nr_rings <= 1) in a5xx_preempt_init() 319 a5xx_preempt_fini(gpu); in a5xx_preempt_init() [all …]
|
H A D | adreno_device.c | 69 if (!gpu) { in adreno_load_gpu() 87 ret = gpu->funcs->ucode_load(gpu); in adreno_load_gpu() 117 gpu->funcs->debugfs_init(gpu, dev->primary); in adreno_load_gpu() 118 gpu->funcs->debugfs_init(gpu, dev->render); in adreno_load_gpu() 122 return gpu; in adreno_load_gpu() 209 if (IS_ERR(gpu)) { in adreno_bind() 230 gpu->funcs->destroy(gpu); in adreno_unbind() 297 return gpu->funcs->pm_resume(gpu); in adreno_runtime_resume() 311 return gpu->funcs->pm_suspend(gpu); in adreno_runtime_suspend() 352 if (!gpu) in adreno_system_suspend() [all …]
|
H A D | a5xx_debugfs.c | 23 gpu_read(gpu, REG_A5XX_CP_PFP_STAT_DATA)); in pfp_print() 36 gpu_read(gpu, REG_A5XX_CP_ME_STAT_DATA)); in me_print() 49 gpu_read(gpu, REG_A5XX_CP_MEQ_DBG_DATA)); in meq_print() 79 show(priv->gpu, &p); in show() 97 struct msm_gpu *gpu = priv->gpu; in reset_set() local 110 mutex_lock(&gpu->lock); in reset_set() 130 gpu->needs_hw_init = true; in reset_set() 132 pm_runtime_get_sync(&gpu->pdev->dev); in reset_set() 133 gpu->funcs->recover(gpu); in reset_set() 135 pm_runtime_put_sync(&gpu->pdev->dev); in reset_set() [all …]
|
H A D | adreno_gpu.c | 265 gpu->aspace->mmu->funcs->resume_translation(gpu->aspace->mmu); in adreno_fault_handler() 303 kthread_queue_work(gpu->worker, &gpu->fault_work); in adreno_fault_handler() 575 VERB("%s", gpu->name); in adreno_hw_init() 606 return gpu->funcs->get_rptr(gpu, ring); in get_rptr() 611 return gpu->rb[0]; in adreno_active_ring() 622 gpu->funcs->pm_suspend(gpu); in adreno_recover() 623 gpu->funcs->pm_resume(gpu); in adreno_recover() 986 struct msm_gpu *gpu) in adreno_get_pwrlevels() argument 993 gpu->fast_rate = 0; in adreno_get_pwrlevels() 1090 gpu->pdev = pdev; in adreno_gpu_init() [all …]
|
H A D | a6xx_gpu_state.c | 135 SZ_1M, MSM_BO_WC, gpu->aspace, in a6xx_crashdumper_init() 227 gpu_write(gpu, ctrl0, reg); in vbif_debugbus_read() 230 gpu_write(gpu, ctrl1, i); in vbif_debugbus_read() 276 ptr += vbif_debugbus_read(gpu, in a6xx_get_vbif_debugbus_block() 282 ptr += vbif_debugbus_read(gpu, in a6xx_get_vbif_debugbus_block() 291 ptr += vbif_debugbus_read(gpu, in a6xx_get_vbif_debugbus_block() 352 a6xx_get_debugbus_block(gpu, in a6xx_get_debugbus_blocks() 375 a6xx_get_debugbus_block(gpu, in a6xx_get_debugbus_blocks() 416 a6xx_get_debugbus_block(gpu, in a7xx_get_debugbus_blocks() 422 a6xx_get_debugbus_block(gpu, in a7xx_get_debugbus_blocks() [all …]
|
/linux/Documentation/gpu/ |
H A D | drm-kms-helpers.rst | 160 .. kernel-doc:: drivers/gpu/drm/drm_bridge.c 166 .. kernel-doc:: drivers/gpu/drm/drm_bridge.c 172 .. kernel-doc:: drivers/gpu/drm/drm_bridge.c 178 .. kernel-doc:: drivers/gpu/drm/drm_bridge.c 221 .. kernel-doc:: drivers/gpu/drm/drm_panel.c 227 .. kernel-doc:: drivers/gpu/drm/drm_panel.c 369 .. kernel-doc:: drivers/gpu/drm/drm_edid.c 375 .. kernel-doc:: drivers/gpu/drm/drm_eld.c 413 .. kernel-doc:: drivers/gpu/drm/drm_rect.c 440 .. kernel-doc:: drivers/gpu/drm/drm_of.c [all …]
|
/linux/drivers/gpu/drm/panthor/ |
H A D | panthor_gpu.c | 159 spin_lock(&ptdev->gpu->reqs_lock); in panthor_gpu_irq_handler() 161 ptdev->gpu->pending_reqs &= ~status; in panthor_gpu_irq_handler() 162 wake_up_all(&ptdev->gpu->reqs_acked); in panthor_gpu_irq_handler() 164 spin_unlock(&ptdev->gpu->reqs_lock); in panthor_gpu_irq_handler() 181 ptdev->gpu->pending_reqs = 0; in panthor_gpu_unplug() 182 wake_up_all(&ptdev->gpu->reqs_acked); in panthor_gpu_unplug() 194 struct panthor_gpu *gpu; in panthor_gpu_init() local 198 gpu = drmm_kzalloc(&ptdev->base, sizeof(*gpu), GFP_KERNEL); in panthor_gpu_init() 199 if (!gpu) in panthor_gpu_init() 202 spin_lock_init(&gpu->reqs_lock); in panthor_gpu_init() [all …]
|
/linux/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_topology.c | 119 if (top_dev->gpu && top_dev->gpu->adev->pdev == pdev) { in kfd_device_by_pci_dev() 1104 if (!gpu) in kfd_generate_gpu_id() 1171 dev->gpu = gpu; in kfd_assign_gpu() 1175 mem->gpu = dev->gpu; in kfd_assign_gpu() 1177 cache->gpu = dev->gpu; in kfd_assign_gpu() 1179 iolink->gpu = dev->gpu; in kfd_assign_gpu() 1181 p2plink->gpu = dev->gpu; in kfd_assign_gpu() 1285 struct kfd_node *gpu = outbound_link->gpu; in kfd_set_recommended_sdma_engines() local 1594 if (!dev->gpu || !dev->gpu->adev || in kfd_dev_create_p2p_links() 2027 if (gpu->xcp && !gpu->xcp->ddev) { in kfd_topology_add_device() [all …]
|
/linux/Documentation/devicetree/bindings/gpu/ |
H A D | img,powervr-sgx.yaml | 19 - ti,omap3430-gpu # Rev 121 20 - ti,omap3630-gpu # Rev 125 24 - ingenic,jz4780-gpu # Rev 130 25 - ti,omap4430-gpu # Rev 120 32 - ti,am5728-gpu # MP2 Rev 116 66 const: ti,am6548-gpu 78 - allwinner,sun6i-a31-gpu 79 - ingenic,jz4780-gpu 105 const: ingenic,jz4780-gpu 121 gpu@7000000 { [all …]
|