Lines Matching defs:adreno_gpu

19 #include "adreno_gpu.h"
178 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
191 return zap_shader_load_mdt(gpu, adreno_gpu->info->zapfw, pasid);
238 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
243 if (adreno_gpu->info->address_space_size)
244 return adreno_gpu->info->address_space_size;
312 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
320 *value = adreno_gpu->info->revn;
323 *value = adreno_gpu->info->gmem;
326 if (adreno_is_a650_family(adreno_gpu) ||
327 adreno_is_a740_family(adreno_gpu))
333 *value = adreno_gpu->chip_id;
334 if (!adreno_gpu->info->revn)
335 *value |= ((uint64_t) adreno_gpu->speedbin) << 32;
338 *value = adreno_gpu->base.fast_rate;
341 if (adreno_gpu->funcs->get_timestamp) {
345 ret = adreno_gpu->funcs->get_timestamp(gpu, value);
377 *value = adreno_gpu->ubwc_config.highest_bank_bit;
437 adreno_request_fw(struct adreno_gpu *adreno_gpu, const char *fwname)
439 struct drm_device *drm = adreno_gpu->base.dev;
452 if ((adreno_gpu->fwloc == FW_LOCATION_UNKNOWN) ||
453 (adreno_gpu->fwloc == FW_LOCATION_NEW)) {
459 adreno_gpu->fwloc = FW_LOCATION_NEW;
461 } else if (adreno_gpu->fwloc != FW_LOCATION_UNKNOWN) {
472 if ((adreno_gpu->fwloc == FW_LOCATION_UNKNOWN) ||
473 (adreno_gpu->fwloc == FW_LOCATION_LEGACY)) {
479 adreno_gpu->fwloc = FW_LOCATION_LEGACY;
481 } else if (adreno_gpu->fwloc != FW_LOCATION_UNKNOWN) {
493 if ((adreno_gpu->fwloc == FW_LOCATION_UNKNOWN) ||
494 (adreno_gpu->fwloc == FW_LOCATION_HELPER)) {
500 adreno_gpu->fwloc = FW_LOCATION_HELPER;
502 } else if (adreno_gpu->fwloc != FW_LOCATION_UNKNOWN) {
517 int adreno_load_fw(struct adreno_gpu *adreno_gpu)
521 for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++) {
524 if (!adreno_gpu->info->fw[i])
528 if (adreno_has_gmu_wrapper(adreno_gpu) && i == ADRENO_FW_GMU)
532 if (adreno_gpu->fw[i])
535 fw = adreno_request_fw(adreno_gpu, adreno_gpu->info->fw[i]);
539 adreno_gpu->fw[i] = fw;
592 static uint32_t get_rptr(struct adreno_gpu *adreno_gpu,
595 struct msm_gpu *gpu = &adreno_gpu->base;
645 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
649 if (!spin_until(get_rptr(adreno_gpu, ring) == wptr))
654 gpu->name, ring->id, get_rptr(adreno_gpu, ring), wptr);
661 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
676 state->ring[i].rptr = get_rptr(adreno_gpu, gpu->rb[i]);
697 if (!adreno_gpu->registers)
701 for (i = 0; adreno_gpu->registers[i] != ~0; i += 2)
702 count += adreno_gpu->registers[i + 1] -
703 adreno_gpu->registers[i] + 1;
709 for (i = 0; adreno_gpu->registers[i] != ~0; i += 2) {
710 u32 start = adreno_gpu->registers[i];
711 u32 end = adreno_gpu->registers[i + 1];
841 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
848 adreno_gpu->info->revn,
849 ADRENO_CHIPID_ARGS(adreno_gpu->chip_id));
917 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
921 adreno_gpu->info->revn,
922 ADRENO_CHIPID_ARGS(adreno_gpu->chip_id));
931 printk("rptr: %d\n", get_rptr(adreno_gpu, ring));
939 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
942 if (!adreno_gpu->registers)
947 for (i = 0; adreno_gpu->registers[i] != ~0; i += 2) {
948 uint32_t start = adreno_gpu->registers[i];
949 uint32_t end = adreno_gpu->registers[i+1];
961 struct adreno_gpu *adreno_gpu = to_adreno_gpu(ring->gpu);
965 uint32_t rptr = get_rptr(adreno_gpu, ring);
980 struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
991 if (adreno_is_a2xx(adreno_gpu)) {
994 } else if (adreno_is_a320(adreno_gpu)) {
1019 int adreno_gpu_ocmem_init(struct device *dev, struct adreno_gpu *adreno_gpu,
1039 ocmem_hdl = ocmem_allocate(ocmem, OCMEM_GRAPHICS, adreno_gpu->info->gmem);
1047 if (WARN_ON(ocmem_hdl->len != adreno_gpu->info->gmem))
1066 struct adreno_gpu *adreno_gpu,
1072 struct msm_gpu *gpu = &adreno_gpu->base;
1077 adreno_gpu->funcs = funcs;
1078 adreno_gpu->info = config->info;
1079 adreno_gpu->chip_id = config->chip_id;
1084 if (adreno_has_gmu_wrapper(adreno_gpu) ||
1085 adreno_gpu->info->family < ADRENO_6XX_GEN1) {
1103 adreno_gpu->speedbin = (uint16_t) (0xffff & speedbin);
1119 adreno_gpu->info->inactive_period);
1122 return msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base,
1126 void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu)
1128 struct msm_gpu *gpu = &adreno_gpu->base;
1132 for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++)
1133 release_firmware(adreno_gpu->fw[i]);
1138 msm_gpu_cleanup(&adreno_gpu->base);