Home
last modified time | relevance | path

Searched refs:a5xx_gpu (Results 1 – 6 of 6) sorted by relevance

/Linux-v5.4/drivers/gpu/drm/msm/adreno/
Da5xx_preempt.c12 static inline bool try_preempt_state(struct a5xx_gpu *a5xx_gpu, in try_preempt_state() argument
15 enum preempt_state cur = atomic_cmpxchg(&a5xx_gpu->preempt_state, in try_preempt_state()
25 static inline void set_preempt_state(struct a5xx_gpu *gpu, in set_preempt_state()
78 struct a5xx_gpu *a5xx_gpu = from_timer(a5xx_gpu, t, preempt_timer); in a5xx_preempt_timer() local
79 struct msm_gpu *gpu = &a5xx_gpu->base.base; in a5xx_preempt_timer()
83 if (!try_preempt_state(a5xx_gpu, PREEMPT_TRIGGERED, PREEMPT_FAULTED)) in a5xx_preempt_timer()
94 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a5xx_preempt_trigger() local
105 if (!try_preempt_state(a5xx_gpu, PREEMPT_NONE, PREEMPT_START)) in a5xx_preempt_trigger()
115 if (!ring || (a5xx_gpu->cur_ring == ring)) { in a5xx_preempt_trigger()
128 set_preempt_state(a5xx_gpu, PREEMPT_ABORT); in a5xx_preempt_trigger()
[all …]
Da5xx_gpu.c24 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a5xx_flush() local
42 if (a5xx_gpu->cur_ring == ring && !a5xx_in_preempt(a5xx_gpu)) in a5xx_flush()
110 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a5xx_submit() local
130 OUT_RING(ring, lower_32_bits(a5xx_gpu->preempt_iova[submit->ring->id])); in a5xx_submit()
131 OUT_RING(ring, upper_32_bits(a5xx_gpu->preempt_iova[submit->ring->id])); in a5xx_submit()
371 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a5xx_preempt_start() local
383 OUT_RING(ring, lower_32_bits(a5xx_gpu->preempt_iova[ring->id])); in a5xx_preempt_start()
384 OUT_RING(ring, upper_32_bits(a5xx_gpu->preempt_iova[ring->id])); in a5xx_preempt_start()
414 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a5xx_ucode_init() local
417 if (!a5xx_gpu->pm4_bo) { in a5xx_ucode_init()
[all …]
Da5xx_power.c125 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a530_lm_setup() local
141 gpu_write(gpu, REG_A5XX_GPMU_BASE_LEAKAGE, a5xx_gpu->lm_leakage); in a530_lm_setup()
223 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a5xx_gpmu_init() local
226 if (!a5xx_gpu->gpmu_dwords) in a5xx_gpmu_init()
235 OUT_RING(ring, lower_32_bits(a5xx_gpu->gpmu_iova)); in a5xx_gpmu_init()
236 OUT_RING(ring, upper_32_bits(a5xx_gpu->gpmu_iova)); in a5xx_gpmu_init()
237 OUT_RING(ring, a5xx_gpu->gpmu_dwords); in a5xx_gpmu_init()
323 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in a5xx_gpmu_ucode_init() local
329 if (a5xx_gpu->gpmu_bo) in a5xx_gpmu_ucode_init()
360 &a5xx_gpu->gpmu_bo, &a5xx_gpu->gpmu_iova); in a5xx_gpmu_ucode_init()
[all …]
Da5xx_debugfs.c106 struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); in reset_set() local
125 if (a5xx_gpu->pm4_bo) { in reset_set()
126 msm_gem_unpin_iova(a5xx_gpu->pm4_bo, gpu->aspace); in reset_set()
127 drm_gem_object_put(a5xx_gpu->pm4_bo); in reset_set()
128 a5xx_gpu->pm4_bo = NULL; in reset_set()
131 if (a5xx_gpu->pfp_bo) { in reset_set()
132 msm_gem_unpin_iova(a5xx_gpu->pfp_bo, gpu->aspace); in reset_set()
133 drm_gem_object_put(a5xx_gpu->pfp_bo); in reset_set()
134 a5xx_gpu->pfp_bo = NULL; in reset_set()
Da5xx_gpu.h15 struct a5xx_gpu { struct
41 #define to_a5xx_gpu(x) container_of(x, struct a5xx_gpu, base) argument
153 static inline bool a5xx_in_preempt(struct a5xx_gpu *a5xx_gpu) in a5xx_in_preempt() argument
155 int preempt_state = atomic_read(&a5xx_gpu->preempt_state); in a5xx_in_preempt()
/Linux-v5.4/drivers/gpu/drm/msm/
DMakefile12 adreno/a5xx_gpu.o \