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_a623(const struct adreno_gpu *gpu) in adreno_is_a623() argument
447 return gpu->info->chip_ids[0] == 0x06020300; in adreno_is_a623()
450 static inline int adreno_is_a630(const struct adreno_gpu *gpu) in adreno_is_a630() argument
452 return adreno_is_revn(gpu, 630); in adreno_is_a630()
455 static inline int adreno_is_a640(const struct adreno_gpu *gpu) in adreno_is_a640() argument
457 return adreno_is_revn(gpu, 640); in adreno_is_a640()
460 static inline int adreno_is_a650(const struct adreno_gpu *gpu) in adreno_is_a650() argument
462 return adreno_is_revn(gpu, 650); in adreno_is_a650()
465 static inline int adreno_is_7c3(const struct adreno_gpu *gpu) in adreno_is_7c3() argument
467 return gpu->info->chip_ids[0] == 0x06030500; in adreno_is_7c3()
470 static inline int adreno_is_a660(const struct adreno_gpu *gpu) in adreno_is_a660() argument
472 return adreno_is_revn(gpu, 660); in adreno_is_a660()
475 static inline int adreno_is_a680(const struct adreno_gpu *gpu) in adreno_is_a680() argument
477 return adreno_is_revn(gpu, 680); in adreno_is_a680()
480 static inline int adreno_is_a663(const struct adreno_gpu *gpu) in adreno_is_a663() argument
482 return gpu->info->chip_ids[0] == 0x06060300; in adreno_is_a663()
485 static inline int adreno_is_a690(const struct adreno_gpu *gpu) in adreno_is_a690() argument
487 return gpu->info->chip_ids[0] == 0x06090000; in adreno_is_a690()
490 static inline int adreno_is_a702(const struct adreno_gpu *gpu) in adreno_is_a702() argument
492 return gpu->info->chip_ids[0] == 0x07000200; in adreno_is_a702()
495 static inline int adreno_is_a610_family(const struct adreno_gpu *gpu) in adreno_is_a610_family() argument
497 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a610_family()
501 return adreno_is_a610(gpu) || adreno_is_a702(gpu); in adreno_is_a610_family()
505 static inline int adreno_is_a615_family(const struct adreno_gpu *gpu) in adreno_is_a615_family() argument
507 return adreno_is_a618(gpu) || in adreno_is_a615_family()
508 adreno_is_a619(gpu); in adreno_is_a615_family()
511 static inline int adreno_is_a630_family(const struct adreno_gpu *gpu) in adreno_is_a630_family() argument
513 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a630_family()
515 return gpu->info->family == ADRENO_6XX_GEN1; in adreno_is_a630_family()
518 static inline int adreno_is_a660_family(const struct adreno_gpu *gpu) in adreno_is_a660_family() argument
520 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a660_family()
522 return gpu->info->family == ADRENO_6XX_GEN4; in adreno_is_a660_family()
526 static inline int adreno_is_a650_family(const struct adreno_gpu *gpu) in adreno_is_a650_family() argument
528 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a650_family()
530 return gpu->info->family == ADRENO_6XX_GEN3 || in adreno_is_a650_family()
531 gpu->info->family == ADRENO_6XX_GEN4; in adreno_is_a650_family()
534 static inline int adreno_is_a640_family(const struct adreno_gpu *gpu) in adreno_is_a640_family() argument
536 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a640_family()
538 return gpu->info->family == ADRENO_6XX_GEN2; in adreno_is_a640_family()
541 static inline int adreno_is_a730(struct adreno_gpu *gpu) in adreno_is_a730() argument
543 return gpu->info->chip_ids[0] == 0x07030001; in adreno_is_a730()
546 static inline int adreno_is_a740(struct adreno_gpu *gpu) in adreno_is_a740() argument
548 return gpu->info->chip_ids[0] == 0x43050a01; in adreno_is_a740()
551 static inline int adreno_is_a750(struct adreno_gpu *gpu) in adreno_is_a750() argument
553 return gpu->info->chip_ids[0] == 0x43051401; in adreno_is_a750()
556 static inline int adreno_is_x185(struct adreno_gpu *gpu) in adreno_is_x185() argument
558 return gpu->info->chip_ids[0] == 0x43050c01; in adreno_is_x185()
561 static inline int adreno_is_a740_family(struct adreno_gpu *gpu) in adreno_is_a740_family() argument
563 if (WARN_ON_ONCE(!gpu->info)) in adreno_is_a740_family()
565 return gpu->info->family == ADRENO_7XX_GEN2 || in adreno_is_a740_family()
566 gpu->info->family == ADRENO_7XX_GEN3; in adreno_is_a740_family()
569 static inline int adreno_is_a750_family(struct adreno_gpu *gpu) in adreno_is_a750_family() argument
571 return gpu->info->family == ADRENO_7XX_GEN3; in adreno_is_a750_family()
574 static inline int adreno_is_a7xx(struct adreno_gpu *gpu) in adreno_is_a7xx() argument
577 return gpu->info->family == ADRENO_7XX_GEN1 || in adreno_is_a7xx()
578 adreno_is_a740_family(gpu); in adreno_is_a7xx()
581 u64 adreno_private_address_space_size(struct msm_gpu *gpu);
582 int adreno_get_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
584 int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
588 struct drm_gem_object *adreno_fw_create_bo(struct msm_gpu *gpu,
590 int adreno_hw_init(struct msm_gpu *gpu);
591 void adreno_recover(struct msm_gpu *gpu);
592 void adreno_flush(struct msm_gpu *gpu, struct msm_ringbuffer *ring, u32 reg);
593 bool adreno_idle(struct msm_gpu *gpu, struct msm_ringbuffer *ring);
595 void adreno_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
598 void adreno_dump_info(struct msm_gpu *gpu);
599 void adreno_dump(struct msm_gpu *gpu);
601 struct msm_ringbuffer *adreno_active_ring(struct msm_gpu *gpu);
608 struct adreno_gpu *gpu, const struct adreno_gpu_funcs *funcs,
610 void adreno_gpu_cleanup(struct adreno_gpu *gpu);
615 int adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state);
625 adreno_create_address_space(struct msm_gpu *gpu,
629 adreno_iommu_create_address_space(struct msm_gpu *gpu,
633 int adreno_fault_handler(struct msm_gpu *gpu, unsigned long iova, int flags,
640 * For a5xx and a6xx targets load the zap shader that is used to pull the GPU
643 int adreno_zap_shader_load(struct msm_gpu *gpu, u32 pasid);
738 #define gpu_poll_timeout(gpu, addr, val, cond, interval, timeout) \ argument
739 readl_poll_timeout((gpu)->mmio + ((addr) << 2), val, cond, \