Lines Matching full:gpu
36 * so it helps to be able to group the GPU devices by generation and if
71 int (*get_timestamp)(struct msm_gpu *gpu, uint64_t *value);
146 * of gpu firmware to linux-firmware, the fw files were
179 * GPU specific offsets will be exported by GPU specific
213 static inline uint8_t adreno_patchid(const struct adreno_gpu *gpu) in adreno_patchid() argument
219 WARN_ON_ONCE(gpu->info->family >= ADRENO_6XX_GEN1); in adreno_patchid()
220 return gpu->chip_id & 0xff; in adreno_patchid()
223 static inline bool adreno_is_revn(const struct adreno_gpu *gpu, uint32_t revn) in adreno_is_revn() argument
225 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_revn()
227 return gpu->info->revn == revn; in adreno_is_revn()
230 static inline bool adreno_has_gmu_wrapper(const struct adreno_gpu *gpu) in adreno_has_gmu_wrapper() argument
232 return gpu->gmu_is_wrapper; in adreno_has_gmu_wrapper()
235 static inline bool adreno_is_a2xx(const struct adreno_gpu *gpu) in adreno_is_a2xx() argument
237 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a2xx()
239 return gpu->info->family <= ADRENO_2XX_GEN2; in adreno_is_a2xx()
242 static inline bool adreno_is_a20x(const struct adreno_gpu *gpu) in adreno_is_a20x() argument
244 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a20x()
246 return gpu->info->family == ADRENO_2XX_GEN1; in adreno_is_a20x()
249 static inline bool adreno_is_a225(const struct adreno_gpu *gpu) in adreno_is_a225() argument
251 return adreno_is_revn(gpu, 225); in adreno_is_a225()
254 static inline bool adreno_is_a305(const struct adreno_gpu *gpu) in adreno_is_a305() argument
256 return adreno_is_revn(gpu, 305); in adreno_is_a305()
259 static inline bool adreno_is_a306(const struct adreno_gpu *gpu) in adreno_is_a306() argument
262 return adreno_is_revn(gpu, 307); in adreno_is_a306()
265 static inline bool adreno_is_a320(const struct adreno_gpu *gpu) in adreno_is_a320() argument
267 return adreno_is_revn(gpu, 320); in adreno_is_a320()
270 static inline bool adreno_is_a330(const struct adreno_gpu *gpu) in adreno_is_a330() argument
272 return adreno_is_revn(gpu, 330); in adreno_is_a330()
275 static inline bool adreno_is_a330v2(const struct adreno_gpu *gpu) in adreno_is_a330v2() argument
277 return adreno_is_a330(gpu) && (adreno_patchid(gpu) > 0); in adreno_is_a330v2()
280 static inline int adreno_is_a405(const struct adreno_gpu *gpu) in adreno_is_a405() argument
282 return adreno_is_revn(gpu, 405); in adreno_is_a405()
285 static inline int adreno_is_a420(const struct adreno_gpu *gpu) in adreno_is_a420() argument
287 return adreno_is_revn(gpu, 420); in adreno_is_a420()
290 static inline int adreno_is_a430(const struct adreno_gpu *gpu) in adreno_is_a430() argument
292 return adreno_is_revn(gpu, 430); in adreno_is_a430()
295 static inline int adreno_is_a506(const struct adreno_gpu *gpu) in adreno_is_a506() argument
297 return adreno_is_revn(gpu, 506); in adreno_is_a506()
300 static inline int adreno_is_a508(const struct adreno_gpu *gpu) in adreno_is_a508() argument
302 return adreno_is_revn(gpu, 508); in adreno_is_a508()
305 static inline int adreno_is_a509(const struct adreno_gpu *gpu) in adreno_is_a509() argument
307 return adreno_is_revn(gpu, 509); in adreno_is_a509()
310 static inline int adreno_is_a510(const struct adreno_gpu *gpu) in adreno_is_a510() argument
312 return adreno_is_revn(gpu, 510); in adreno_is_a510()
315 static inline int adreno_is_a512(const struct adreno_gpu *gpu) in adreno_is_a512() argument
317 return adreno_is_revn(gpu, 512); in adreno_is_a512()
320 static inline int adreno_is_a530(const struct adreno_gpu *gpu) in adreno_is_a530() argument
322 return adreno_is_revn(gpu, 530); in adreno_is_a530()
325 static inline int adreno_is_a540(const struct adreno_gpu *gpu) in adreno_is_a540() argument
327 return adreno_is_revn(gpu, 540); in adreno_is_a540()
330 static inline int adreno_is_a610(const struct adreno_gpu *gpu) in adreno_is_a610() argument
332 return adreno_is_revn(gpu, 610); in adreno_is_a610()
335 static inline int adreno_is_a618(const struct adreno_gpu *gpu) in adreno_is_a618() argument
337 return adreno_is_revn(gpu, 618); in adreno_is_a618()
340 static inline int adreno_is_a619(const struct adreno_gpu *gpu) in adreno_is_a619() argument
342 return adreno_is_revn(gpu, 619); in adreno_is_a619()
345 static inline int adreno_is_a619_holi(const struct adreno_gpu *gpu) in adreno_is_a619_holi() argument
347 return adreno_is_a619(gpu) && adreno_has_gmu_wrapper(gpu); in adreno_is_a619_holi()
350 static inline int adreno_is_a630(const struct adreno_gpu *gpu) in adreno_is_a630() argument
352 return adreno_is_revn(gpu, 630); in adreno_is_a630()
355 static inline int adreno_is_a640(const struct adreno_gpu *gpu) in adreno_is_a640() argument
357 return adreno_is_revn(gpu, 640); in adreno_is_a640()
360 static inline int adreno_is_a650(const struct adreno_gpu *gpu) in adreno_is_a650() argument
362 return adreno_is_revn(gpu, 650); in adreno_is_a650()
365 static inline int adreno_is_7c3(const struct adreno_gpu *gpu) in adreno_is_7c3() argument
367 return gpu->info->chip_ids[0] == 0x06030500; in adreno_is_7c3()
370 static inline int adreno_is_a660(const struct adreno_gpu *gpu) in adreno_is_a660() argument
372 return adreno_is_revn(gpu, 660); in adreno_is_a660()
375 static inline int adreno_is_a680(const struct adreno_gpu *gpu) in adreno_is_a680() argument
377 return adreno_is_revn(gpu, 680); in adreno_is_a680()
380 static inline int adreno_is_a690(const struct adreno_gpu *gpu) in adreno_is_a690() argument
382 return gpu->info->chip_ids[0] == 0x06090000; in adreno_is_a690()
386 static inline int adreno_is_a630_family(const struct adreno_gpu *gpu) in adreno_is_a630_family() argument
388 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a630_family()
390 return gpu->info->family == ADRENO_6XX_GEN1; in adreno_is_a630_family()
393 static inline int adreno_is_a660_family(const struct adreno_gpu *gpu) in adreno_is_a660_family() argument
395 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a660_family()
397 return gpu->info->family == ADRENO_6XX_GEN4; in adreno_is_a660_family()
401 static inline int adreno_is_a650_family(const struct adreno_gpu *gpu) in adreno_is_a650_family() argument
403 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a650_family()
405 return gpu->info->family == ADRENO_6XX_GEN3 || in adreno_is_a650_family()
406 gpu->info->family == ADRENO_6XX_GEN4; in adreno_is_a650_family()
409 static inline int adreno_is_a640_family(const struct adreno_gpu *gpu) in adreno_is_a640_family() argument
411 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a640_family()
413 return gpu->info->family == ADRENO_6XX_GEN2; in adreno_is_a640_family()
416 static inline int adreno_is_a730(struct adreno_gpu *gpu) in adreno_is_a730() argument
418 return gpu->info->chip_ids[0] == 0x07030001; in adreno_is_a730()
421 static inline int adreno_is_a740(struct adreno_gpu *gpu) in adreno_is_a740() argument
423 return gpu->info->chip_ids[0] == 0x43050a01; in adreno_is_a740()
427 static inline int adreno_is_a740_family(struct adreno_gpu *gpu) in adreno_is_a740_family() argument
429 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a740_family()
431 return gpu->info->family == ADRENO_7XX_GEN2; in adreno_is_a740_family()
434 static inline int adreno_is_a7xx(struct adreno_gpu *gpu) in adreno_is_a7xx() argument
437 return gpu->info->family == ADRENO_7XX_GEN1 || in adreno_is_a7xx()
438 adreno_is_a740_family(gpu); in adreno_is_a7xx()
441 u64 adreno_private_address_space_size(struct msm_gpu *gpu);
442 int adreno_get_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
444 int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
448 struct drm_gem_object *adreno_fw_create_bo(struct msm_gpu *gpu,
450 int adreno_hw_init(struct msm_gpu *gpu);
451 void adreno_recover(struct msm_gpu *gpu);
452 void adreno_flush(struct msm_gpu *gpu, struct msm_ringbuffer *ring, u32 reg);
453 bool adreno_idle(struct msm_gpu *gpu, struct msm_ringbuffer *ring);
455 void adreno_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
458 void adreno_dump_info(struct msm_gpu *gpu);
459 void adreno_dump(struct msm_gpu *gpu);
461 struct msm_ringbuffer *adreno_active_ring(struct msm_gpu *gpu);
468 struct adreno_gpu *gpu, const struct adreno_gpu_funcs *funcs,
470 void adreno_gpu_cleanup(struct adreno_gpu *gpu);
475 int adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state);
485 adreno_create_address_space(struct msm_gpu *gpu,
489 adreno_iommu_create_address_space(struct msm_gpu *gpu,
493 int adreno_fault_handler(struct msm_gpu *gpu, unsigned long iova, int flags,
500 * For a5xx and a6xx targets load the zap shader that is used to pull the GPU
503 int adreno_zap_shader_load(struct msm_gpu *gpu, u32 pasid);
595 #define gpu_poll_timeout(gpu, addr, val, cond, interval, timeout) \ argument
596 readl_poll_timeout((gpu)->mmio + ((addr) << 2), val, cond, \