Lines Matching full:gpu

16 MODULE_PARM_DESC(snapshot_debugbus, "Include debugbus sections in GPU devcoredump (if not fused off…
45 /* identify gpu: */ in adreno_info()
66 struct msm_gpu *gpu = NULL; in adreno_load_gpu() local
71 gpu = dev_to_gpu(&pdev->dev); in adreno_load_gpu()
73 if (!gpu) { in adreno_load_gpu()
74 dev_err_once(dev->dev, "no GPU device was found\n"); in adreno_load_gpu()
78 adreno_gpu = to_adreno_gpu(gpu); in adreno_load_gpu()
90 if (gpu->funcs->ucode_load) { in adreno_load_gpu()
91 ret = gpu->funcs->ucode_load(gpu); in adreno_load_gpu()
98 * booting the gpu, go ahead and enable runpm: in adreno_load_gpu()
105 DRM_DEV_ERROR(dev->dev, "Couldn't power up the GPU: %d\n", ret); in adreno_load_gpu()
109 mutex_lock(&gpu->lock); in adreno_load_gpu()
110 ret = msm_gpu_hw_init(gpu); in adreno_load_gpu()
111 mutex_unlock(&gpu->lock); in adreno_load_gpu()
113 DRM_DEV_ERROR(dev->dev, "gpu hw init failed: %d\n", ret); in adreno_load_gpu()
120 if (gpu->funcs->debugfs_init) { in adreno_load_gpu()
121 gpu->funcs->debugfs_init(gpu, dev->primary); in adreno_load_gpu()
122 gpu->funcs->debugfs_init(gpu, dev->render); in adreno_load_gpu()
126 return gpu; in adreno_load_gpu()
187 struct msm_gpu *gpu; in adreno_bind() local
199 dev_warn(drm->dev, "Unknown GPU revision: %"ADRENO_CHIPID_FMT"\n", in adreno_bind()
206 DBG("Found GPU: %"ADRENO_CHIPID_FMT, ADRENO_CHIPID_ARGS(config.chip_id)); in adreno_bind()
212 gpu = info->init(drm); in adreno_bind()
213 if (IS_ERR(gpu)) { in adreno_bind()
214 dev_warn(drm->dev, "failed to load adreno gpu\n"); in adreno_bind()
215 return PTR_ERR(gpu); in adreno_bind()
230 struct msm_gpu *gpu = dev_to_gpu(dev); in adreno_unbind() local
234 gpu->funcs->destroy(gpu); in adreno_unbind()
290 /* for compatibility with imx5 gpu: */
299 struct msm_gpu *gpu = dev_to_gpu(dev); in adreno_runtime_resume() local
301 return gpu->funcs->pm_resume(gpu); in adreno_runtime_resume()
306 struct msm_gpu *gpu = dev_to_gpu(dev); in adreno_runtime_suspend() local
313 WARN_ON_ONCE(gpu->active_submits); in adreno_runtime_suspend()
315 return gpu->funcs->pm_suspend(gpu); in adreno_runtime_suspend()
318 static void suspend_scheduler(struct msm_gpu *gpu) in suspend_scheduler() argument
331 * already on the hw queue without racing with the GPU. in suspend_scheduler()
333 for (i = 0; i < gpu->nr_rings; i++) { in suspend_scheduler()
334 struct drm_gpu_scheduler *sched = &gpu->rb[i]->sched; in suspend_scheduler()
340 static void resume_scheduler(struct msm_gpu *gpu) in resume_scheduler() argument
344 for (i = 0; i < gpu->nr_rings; i++) { in resume_scheduler()
345 struct drm_gpu_scheduler *sched = &gpu->rb[i]->sched; in resume_scheduler()
353 struct msm_gpu *gpu = dev_to_gpu(dev); in adreno_system_suspend() local
356 if (!gpu) in adreno_system_suspend()
359 suspend_scheduler(gpu); in adreno_system_suspend()
361 remaining = wait_event_timeout(gpu->retire_event, in adreno_system_suspend()
362 gpu->active_submits == 0, in adreno_system_suspend()
365 dev_err(dev, "Timeout waiting for GPU to suspend\n"); in adreno_system_suspend()
373 resume_scheduler(gpu); in adreno_system_suspend()
380 struct msm_gpu *gpu = dev_to_gpu(dev); in adreno_system_resume() local
382 if (!gpu) in adreno_system_resume()
385 resume_scheduler(gpu); in adreno_system_resume()