Lines Matching +full:gpu +full:- +full:id
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
54 void a5xx_debugfs_init(struct msm_gpu *gpu, struct drm_minor *minor);
61 * PREEMPT_NONE - no preemption in progress. Next state START.
62 * PREEMPT_START - The trigger is evaulating if preemption is possible. Next
64 * PREEMPT_ABORT - An intermediate state before moving back to NONE. Next
70 * PREEMPT_PENDING: Preemption complete interrupt fired - the callback is
98 * @info: Type of the record - written 0 by the CPU, updated by the CP
106 * @counter: GPU address of the storage area for the performance counters
137 int a5xx_power_init(struct msm_gpu *gpu);
138 void a5xx_gpmu_ucode_init(struct msm_gpu *gpu);
140 static inline int spin_usecs(struct msm_gpu *gpu, uint32_t usecs, in spin_usecs() argument
143 while (usecs--) { in spin_usecs()
145 if ((gpu_read(gpu, reg) & mask) == value) in spin_usecs()
150 return -ETIMEDOUT; in spin_usecs()
153 #define shadowptr(a5xx_gpu, ring) ((a5xx_gpu)->shadow_iova + \
154 ((ring)->id * sizeof(uint32_t)))
156 bool a5xx_idle(struct msm_gpu *gpu, struct msm_ringbuffer *ring);
157 void a5xx_set_hwcg(struct msm_gpu *gpu, bool state);
159 void a5xx_preempt_init(struct msm_gpu *gpu);
160 void a5xx_preempt_hw_init(struct msm_gpu *gpu);
161 void a5xx_preempt_trigger(struct msm_gpu *gpu);
162 void a5xx_preempt_irq(struct msm_gpu *gpu);
163 void a5xx_preempt_fini(struct msm_gpu *gpu);
165 void a5xx_flush(struct msm_gpu *gpu, struct msm_ringbuffer *ring, bool sync);
170 int preempt_state = atomic_read(&a5xx_gpu->preempt_state); in a5xx_in_preempt()