Lines Matching refs:adreno_gpu

30 	struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);  in adreno_get_param()  local
34 *value = adreno_gpu->info->revn; in adreno_get_param()
37 *value = adreno_gpu->gmem; in adreno_get_param()
43 *value = adreno_gpu->rev.patchid | in adreno_get_param()
44 (adreno_gpu->rev.minor << 8) | in adreno_get_param()
45 (adreno_gpu->rev.major << 16) | in adreno_get_param()
46 (adreno_gpu->rev.core << 24); in adreno_get_param()
49 *value = adreno_gpu->base.fast_rate; in adreno_get_param()
52 if (adreno_gpu->funcs->get_timestamp) { in adreno_get_param()
56 ret = adreno_gpu->funcs->get_timestamp(gpu, value); in adreno_get_param()
72 adreno_request_fw(struct adreno_gpu *adreno_gpu, const char *fwname) in adreno_request_fw() argument
74 struct drm_device *drm = adreno_gpu->base.dev; in adreno_request_fw()
87 if ((adreno_gpu->fwloc == FW_LOCATION_UNKNOWN) || in adreno_request_fw()
88 (adreno_gpu->fwloc == FW_LOCATION_NEW)) { in adreno_request_fw()
94 adreno_gpu->fwloc = FW_LOCATION_NEW; in adreno_request_fw()
96 } else if (adreno_gpu->fwloc != FW_LOCATION_UNKNOWN) { in adreno_request_fw()
107 if ((adreno_gpu->fwloc == FW_LOCATION_UNKNOWN) || in adreno_request_fw()
108 (adreno_gpu->fwloc == FW_LOCATION_LEGACY)) { in adreno_request_fw()
114 adreno_gpu->fwloc = FW_LOCATION_LEGACY; in adreno_request_fw()
116 } else if (adreno_gpu->fwloc != FW_LOCATION_UNKNOWN) { in adreno_request_fw()
128 if ((adreno_gpu->fwloc == FW_LOCATION_UNKNOWN) || in adreno_request_fw()
129 (adreno_gpu->fwloc == FW_LOCATION_HELPER)) { in adreno_request_fw()
135 adreno_gpu->fwloc = FW_LOCATION_HELPER; in adreno_request_fw()
137 } else if (adreno_gpu->fwloc != FW_LOCATION_UNKNOWN) { in adreno_request_fw()
152 int adreno_load_fw(struct adreno_gpu *adreno_gpu) in adreno_load_fw() argument
156 for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++) { in adreno_load_fw()
159 if (!adreno_gpu->info->fw[i]) in adreno_load_fw()
163 if (adreno_gpu->fw[i]) in adreno_load_fw()
166 fw = adreno_request_fw(adreno_gpu, adreno_gpu->info->fw[i]); in adreno_load_fw()
170 adreno_gpu->fw[i] = fw; in adreno_load_fw()
197 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_hw_init() local
202 ret = adreno_load_fw(adreno_gpu); in adreno_hw_init()
234 adreno_gpu_write(adreno_gpu, REG_ADRENO_CP_RB_CNTL, in adreno_hw_init()
236 (adreno_is_a430(adreno_gpu) ? AXXX_CP_RB_CNTL_NO_UPDATE : 0)); in adreno_hw_init()
239 adreno_gpu_write64(adreno_gpu, REG_ADRENO_CP_RB_BASE, in adreno_hw_init()
242 if (!adreno_is_a430(adreno_gpu)) { in adreno_hw_init()
243 adreno_gpu_write64(adreno_gpu, REG_ADRENO_CP_RB_RPTR_ADDR, in adreno_hw_init()
252 static uint32_t get_rptr(struct adreno_gpu *adreno_gpu, in get_rptr() argument
255 if (adreno_is_a430(adreno_gpu)) in get_rptr()
257 adreno_gpu, REG_ADRENO_CP_RB_RPTR); in get_rptr()
288 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_submit() local
303 OUT_PKT3(ring, adreno_is_a430(adreno_gpu) ? in adreno_submit()
315 if (adreno_is_a3xx(adreno_gpu) || adreno_is_a4xx(adreno_gpu)) { in adreno_submit()
334 if (adreno_is_a3xx(adreno_gpu)) { in adreno_submit()
347 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_flush() local
363 adreno_gpu_write(adreno_gpu, REG_ADRENO_CP_RB_WPTR, wptr); in adreno_flush()
368 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_idle() local
372 if (!spin_until(get_rptr(adreno_gpu, ring) == wptr)) in adreno_idle()
377 gpu->name, ring->id, get_rptr(adreno_gpu, ring), wptr); in adreno_idle()
384 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_gpu_state_get() local
397 state->ring[i].rptr = get_rptr(adreno_gpu, gpu->rb[i]); in adreno_gpu_state_get()
418 for (i = 0; adreno_gpu->registers[i] != ~0; i += 2) in adreno_gpu_state_get()
419 count += adreno_gpu->registers[i + 1] - in adreno_gpu_state_get()
420 adreno_gpu->registers[i] + 1; in adreno_gpu_state_get()
426 for (i = 0; adreno_gpu->registers[i] != ~0; i += 2) { in adreno_gpu_state_get()
427 u32 start = adreno_gpu->registers[i]; in adreno_gpu_state_get()
428 u32 end = adreno_gpu->registers[i + 1]; in adreno_gpu_state_get()
513 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_show() local
520 adreno_gpu->info->revn, adreno_gpu->rev.core, in adreno_show()
521 adreno_gpu->rev.major, adreno_gpu->rev.minor, in adreno_show()
522 adreno_gpu->rev.patchid); in adreno_show()
572 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_dump_info() local
576 adreno_gpu->info->revn, adreno_gpu->rev.core, in adreno_dump_info()
577 adreno_gpu->rev.major, adreno_gpu->rev.minor, in adreno_dump_info()
578 adreno_gpu->rev.patchid); in adreno_dump_info()
587 printk("rptr: %d\n", get_rptr(adreno_gpu, ring)); in adreno_dump_info()
595 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); in adreno_dump() local
600 for (i = 0; adreno_gpu->registers[i] != ~0; i += 2) { in adreno_dump()
601 uint32_t start = adreno_gpu->registers[i]; in adreno_dump()
602 uint32_t end = adreno_gpu->registers[i+1]; in adreno_dump()
614 struct adreno_gpu *adreno_gpu = to_adreno_gpu(ring->gpu); in ring_freewords() local
618 uint32_t rptr = get_rptr(adreno_gpu, ring); in ring_freewords()
701 struct adreno_gpu *adreno_gpu, in adreno_gpu_init() argument
706 struct msm_gpu *gpu = &adreno_gpu->base; in adreno_gpu_init()
708 adreno_gpu->funcs = funcs; in adreno_gpu_init()
709 adreno_gpu->info = adreno_info(config->rev); in adreno_gpu_init()
710 adreno_gpu->gmem = adreno_gpu->info->gmem; in adreno_gpu_init()
711 adreno_gpu->revn = adreno_gpu->info->revn; in adreno_gpu_init()
712 adreno_gpu->rev = config->rev; in adreno_gpu_init()
725 adreno_gpu->info->inactive_period); in adreno_gpu_init()
729 return msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base, in adreno_gpu_init()
730 adreno_gpu->info->name, &adreno_gpu_config); in adreno_gpu_init()
733 void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu) in adreno_gpu_cleanup() argument
737 for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++) in adreno_gpu_cleanup()
738 release_firmware(adreno_gpu->fw[i]); in adreno_gpu_cleanup()
740 msm_gpu_cleanup(&adreno_gpu->base); in adreno_gpu_cleanup()