Lines Matching full:gpu
36 * so it helps to be able to group the GPU devices by generation and if
73 int (*get_timestamp)(struct msm_gpu *gpu, uint64_t *value);
186 * of gpu firmware to linux-firmware, the fw files were
249 * GPU specific offsets will be exported by GPU specific
287 static inline uint8_t adreno_patchid(const struct adreno_gpu *gpu) in adreno_patchid() argument
293 WARN_ON_ONCE(gpu->info->family >= ADRENO_6XX_GEN1); in adreno_patchid()
294 return gpu->chip_id & 0xff; in adreno_patchid()
297 static inline bool adreno_is_revn(const struct adreno_gpu *gpu, uint32_t revn) in adreno_is_revn() argument
299 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_revn()
301 return gpu->info->revn == revn; in adreno_is_revn()
304 static inline bool adreno_has_gmu_wrapper(const struct adreno_gpu *gpu) in adreno_has_gmu_wrapper() argument
306 return gpu->gmu_is_wrapper; in adreno_has_gmu_wrapper()
309 static inline bool adreno_is_a2xx(const struct adreno_gpu *gpu) in adreno_is_a2xx() argument
311 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a2xx()
313 return gpu->info->family <= ADRENO_2XX_GEN2; in adreno_is_a2xx()
316 static inline bool adreno_is_a20x(const struct adreno_gpu *gpu) in adreno_is_a20x() argument
318 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a20x()
320 return gpu->info->family == ADRENO_2XX_GEN1; in adreno_is_a20x()
323 static inline bool adreno_is_a225(const struct adreno_gpu *gpu) in adreno_is_a225() argument
325 return adreno_is_revn(gpu, 225); in adreno_is_a225()
328 static inline bool adreno_is_a305(const struct adreno_gpu *gpu) in adreno_is_a305() argument
330 return adreno_is_revn(gpu, 305); in adreno_is_a305()
333 static inline bool adreno_is_a305b(const struct adreno_gpu *gpu) in adreno_is_a305b() argument
335 return gpu->info->chip_ids[0] == 0x03000512; in adreno_is_a305b()
338 static inline bool adreno_is_a306(const struct adreno_gpu *gpu) in adreno_is_a306() argument
341 return adreno_is_revn(gpu, 307); in adreno_is_a306()
344 static inline bool adreno_is_a306a(const struct adreno_gpu *gpu) in adreno_is_a306a() argument
347 return adreno_is_revn(gpu, 308); in adreno_is_a306a()
350 static inline bool adreno_is_a320(const struct adreno_gpu *gpu) in adreno_is_a320() argument
352 return adreno_is_revn(gpu, 320); in adreno_is_a320()
355 static inline bool adreno_is_a330(const struct adreno_gpu *gpu) in adreno_is_a330() argument
357 return adreno_is_revn(gpu, 330); in adreno_is_a330()
360 static inline bool adreno_is_a330v2(const struct adreno_gpu *gpu) in adreno_is_a330v2() argument
362 return adreno_is_a330(gpu) && (adreno_patchid(gpu) > 0); in adreno_is_a330v2()
365 static inline int adreno_is_a405(const struct adreno_gpu *gpu) in adreno_is_a405() argument
367 return adreno_is_revn(gpu, 405); in adreno_is_a405()
370 static inline int adreno_is_a420(const struct adreno_gpu *gpu) in adreno_is_a420() argument
372 return adreno_is_revn(gpu, 420); in adreno_is_a420()
375 static inline int adreno_is_a430(const struct adreno_gpu *gpu) in adreno_is_a430() argument
377 return adreno_is_revn(gpu, 430); in adreno_is_a430()
380 static inline int adreno_is_a505(const struct adreno_gpu *gpu) in adreno_is_a505() argument
382 return adreno_is_revn(gpu, 505); in adreno_is_a505()
385 static inline int adreno_is_a506(const struct adreno_gpu *gpu) in adreno_is_a506() argument
387 return adreno_is_revn(gpu, 506); in adreno_is_a506()
390 static inline int adreno_is_a508(const struct adreno_gpu *gpu) in adreno_is_a508() argument
392 return adreno_is_revn(gpu, 508); in adreno_is_a508()
395 static inline int adreno_is_a509(const struct adreno_gpu *gpu) in adreno_is_a509() argument
397 return adreno_is_revn(gpu, 509); in adreno_is_a509()
400 static inline int adreno_is_a510(const struct adreno_gpu *gpu) in adreno_is_a510() argument
402 return adreno_is_revn(gpu, 510); in adreno_is_a510()
405 static inline int adreno_is_a512(const struct adreno_gpu *gpu) in adreno_is_a512() argument
407 return adreno_is_revn(gpu, 512); in adreno_is_a512()
410 static inline int adreno_is_a530(const struct adreno_gpu *gpu) in adreno_is_a530() argument
412 return adreno_is_revn(gpu, 530); in adreno_is_a530()
415 static inline int adreno_is_a540(const struct adreno_gpu *gpu) in adreno_is_a540() argument
417 return adreno_is_revn(gpu, 540); in adreno_is_a540()
420 static inline int adreno_is_a610(const struct adreno_gpu *gpu) in adreno_is_a610() argument
422 return adreno_is_revn(gpu, 610); in adreno_is_a610()
425 static inline int adreno_is_a618(const struct adreno_gpu *gpu) in adreno_is_a618() argument
427 return adreno_is_revn(gpu, 618); in adreno_is_a618()
430 static inline int adreno_is_a619(const struct adreno_gpu *gpu) in adreno_is_a619() argument
432 return adreno_is_revn(gpu, 619); in adreno_is_a619()
435 static inline int adreno_is_a619_holi(const struct adreno_gpu *gpu) in adreno_is_a619_holi() argument
437 return adreno_is_a619(gpu) && adreno_has_gmu_wrapper(gpu); in adreno_is_a619_holi()
440 static inline int adreno_is_a621(const struct adreno_gpu *gpu) in adreno_is_a621() argument
442 return gpu->info->chip_ids[0] == 0x06020100; in adreno_is_a621()
445 static inline int adreno_is_a630(const struct adreno_gpu *gpu) in adreno_is_a630() argument
447 return adreno_is_revn(gpu, 630); in adreno_is_a630()
450 static inline int adreno_is_a640(const struct adreno_gpu *gpu) in adreno_is_a640() argument
452 return adreno_is_revn(gpu, 640); in adreno_is_a640()
455 static inline int adreno_is_a650(const struct adreno_gpu *gpu) in adreno_is_a650() argument
457 return adreno_is_revn(gpu, 650); in adreno_is_a650()
460 static inline int adreno_is_7c3(const struct adreno_gpu *gpu) in adreno_is_7c3() argument
462 return gpu->info->chip_ids[0] == 0x06030500; in adreno_is_7c3()
465 static inline int adreno_is_a660(const struct adreno_gpu *gpu) in adreno_is_a660() argument
467 return adreno_is_revn(gpu, 660); in adreno_is_a660()
470 static inline int adreno_is_a680(const struct adreno_gpu *gpu) in adreno_is_a680() argument
472 return adreno_is_revn(gpu, 680); in adreno_is_a680()
475 static inline int adreno_is_a663(const struct adreno_gpu *gpu) in adreno_is_a663() argument
477 return gpu->info->chip_ids[0] == 0x06060300; in adreno_is_a663()
480 static inline int adreno_is_a690(const struct adreno_gpu *gpu) in adreno_is_a690() argument
482 return gpu->info->chip_ids[0] == 0x06090000; in adreno_is_a690()
485 static inline int adreno_is_a702(const struct adreno_gpu *gpu) in adreno_is_a702() argument
487 return gpu->info->chip_ids[0] == 0x07000200; in adreno_is_a702()
490 static inline int adreno_is_a610_family(const struct adreno_gpu *gpu) in adreno_is_a610_family() argument
492 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a610_family()
496 return adreno_is_a610(gpu) || adreno_is_a702(gpu); in adreno_is_a610_family()
500 static inline int adreno_is_a615_family(const struct adreno_gpu *gpu) in adreno_is_a615_family() argument
502 return adreno_is_a618(gpu) || in adreno_is_a615_family()
503 adreno_is_a619(gpu); in adreno_is_a615_family()
506 static inline int adreno_is_a630_family(const struct adreno_gpu *gpu) in adreno_is_a630_family() argument
508 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a630_family()
510 return gpu->info->family == ADRENO_6XX_GEN1; in adreno_is_a630_family()
513 static inline int adreno_is_a660_family(const struct adreno_gpu *gpu) in adreno_is_a660_family() argument
515 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a660_family()
517 return gpu->info->family == ADRENO_6XX_GEN4; in adreno_is_a660_family()
521 static inline int adreno_is_a650_family(const struct adreno_gpu *gpu) in adreno_is_a650_family() argument
523 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a650_family()
525 return gpu->info->family == ADRENO_6XX_GEN3 || in adreno_is_a650_family()
526 gpu->info->family == ADRENO_6XX_GEN4; in adreno_is_a650_family()
529 static inline int adreno_is_a640_family(const struct adreno_gpu *gpu) in adreno_is_a640_family() argument
531 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a640_family()
533 return gpu->info->family == ADRENO_6XX_GEN2; in adreno_is_a640_family()
536 static inline int adreno_is_a730(struct adreno_gpu *gpu) in adreno_is_a730() argument
538 return gpu->info->chip_ids[0] == 0x07030001; in adreno_is_a730()
541 static inline int adreno_is_a740(struct adreno_gpu *gpu) in adreno_is_a740() argument
543 return gpu->info->chip_ids[0] == 0x43050a01; in adreno_is_a740()
546 static inline int adreno_is_a750(struct adreno_gpu *gpu) in adreno_is_a750() argument
548 return gpu->info->chip_ids[0] == 0x43051401; in adreno_is_a750()
551 static inline int adreno_is_x185(struct adreno_gpu *gpu) in adreno_is_x185() argument
553 return gpu->info->chip_ids[0] == 0x43050c01; in adreno_is_x185()
556 static inline int adreno_is_a740_family(struct adreno_gpu *gpu) in adreno_is_a740_family() argument
558 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a740_family()
560 return gpu->info->family == ADRENO_7XX_GEN2 || in adreno_is_a740_family()
561 gpu->info->family == ADRENO_7XX_GEN3; in adreno_is_a740_family()
564 static inline int adreno_is_a750_family(struct adreno_gpu *gpu) in adreno_is_a750_family() argument
566 return gpu->info->family == ADRENO_7XX_GEN3; in adreno_is_a750_family()
569 static inline int adreno_is_a7xx(struct adreno_gpu *gpu) in adreno_is_a7xx() argument
572 return gpu->info->family == ADRENO_7XX_GEN1 || in adreno_is_a7xx()
573 adreno_is_a740_family(gpu); in adreno_is_a7xx()
576 u64 adreno_private_address_space_size(struct msm_gpu *gpu);
577 int adreno_get_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
579 int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
583 struct drm_gem_object *adreno_fw_create_bo(struct msm_gpu *gpu,
585 int adreno_hw_init(struct msm_gpu *gpu);
586 void adreno_recover(struct msm_gpu *gpu);
587 void adreno_flush(struct msm_gpu *gpu, struct msm_ringbuffer *ring, u32 reg);
588 bool adreno_idle(struct msm_gpu *gpu, struct msm_ringbuffer *ring);
590 void adreno_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
593 void adreno_dump_info(struct msm_gpu *gpu);
594 void adreno_dump(struct msm_gpu *gpu);
596 struct msm_ringbuffer *adreno_active_ring(struct msm_gpu *gpu);
603 struct adreno_gpu *gpu, const struct adreno_gpu_funcs *funcs,
605 void adreno_gpu_cleanup(struct adreno_gpu *gpu);
610 int adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state);
620 adreno_create_address_space(struct msm_gpu *gpu,
624 adreno_iommu_create_address_space(struct msm_gpu *gpu,
628 int adreno_fault_handler(struct msm_gpu *gpu, unsigned long iova, int flags,
635 * For a5xx and a6xx targets load the zap shader that is used to pull the GPU
638 int adreno_zap_shader_load(struct msm_gpu *gpu, u32 pasid);
733 #define gpu_poll_timeout(gpu, addr, val, cond, interval, timeout) \ argument
734 readl_poll_timeout((gpu)->mmio + ((addr) << 2), val, cond, \