Lines Matching full:gpu
80 dev_dbg(submit->gpu->dev, "skipping bad job\n"); in etnaviv_sched_run_job()
88 struct etnaviv_gpu *gpu = submit->gpu; in etnaviv_sched_timedout_job() local
93 drm_sched_stop(&gpu->sched, sched_job); in etnaviv_sched_timedout_job()
96 * If the GPU managed to complete this jobs fence, the timout is in etnaviv_sched_timedout_job()
103 * If the GPU is still making forward progress on the front-end (which in etnaviv_sched_timedout_job()
107 dma_addr = gpu_read(gpu, VIVS_FE_DMA_ADDRESS); in etnaviv_sched_timedout_job()
108 change = dma_addr - gpu->hangcheck_dma_addr; in etnaviv_sched_timedout_job()
110 gpu->hangcheck_dma_addr = dma_addr; in etnaviv_sched_timedout_job()
117 /* get the GPU back into the init state */ in etnaviv_sched_timedout_job()
119 etnaviv_gpu_recover_hang(gpu); in etnaviv_sched_timedout_job()
121 drm_sched_resubmit_jobs(&gpu->sched); in etnaviv_sched_timedout_job()
124 /* restart scheduler after GPU is usable again */ in etnaviv_sched_timedout_job()
125 drm_sched_start(&gpu->sched, true); in etnaviv_sched_timedout_job()
154 mutex_lock(&submit->gpu->fence_lock); in etnaviv_sched_push_job()
162 submit->out_fence_id = idr_alloc_cyclic(&submit->gpu->fence_idr, in etnaviv_sched_push_job()
177 mutex_unlock(&submit->gpu->fence_lock); in etnaviv_sched_push_job()
182 int etnaviv_sched_init(struct etnaviv_gpu *gpu) in etnaviv_sched_init() argument
186 ret = drm_sched_init(&gpu->sched, &etnaviv_sched_ops, in etnaviv_sched_init()
188 msecs_to_jiffies(500), dev_name(gpu->dev)); in etnaviv_sched_init()
195 void etnaviv_sched_fini(struct etnaviv_gpu *gpu) in etnaviv_sched_fini() argument
197 drm_sched_fini(&gpu->sched); in etnaviv_sched_fini()