Loading drivers/gpu/msm/adreno.c +4 −0 Original line number Diff line number Diff line Loading @@ -1274,6 +1274,10 @@ static int adreno_init(struct kgsl_device *device) struct adreno_gpudev *gpudev = ADRENO_GPU_DEVICE(adreno_dev); int ret; if (!adreno_is_a3xx(adreno_dev)) kgsl_sharedmem_set(device, &device->scratch, 0, 0, device->scratch.size); ret = kgsl_pwrctrl_change_state(device, KGSL_STATE_INIT); if (ret) return ret; Loading drivers/gpu/msm/adreno_ringbuffer.c +16 −4 Original line number Diff line number Diff line Loading @@ -225,6 +225,7 @@ int adreno_ringbuffer_start(struct adreno_device *adreno_dev, FOR_EACH_RINGBUFFER(adreno_dev, rb, i) { kgsl_sharedmem_set(device, &(rb->buffer_desc), 0, 0xAA, KGSL_RB_SIZE); if (!adreno_is_a3xx(adreno_dev)) kgsl_sharedmem_writel(device, &device->scratch, SCRATCH_RPTR_OFFSET(rb->id), 0); rb->wptr = 0; Loading Loading @@ -287,9 +288,16 @@ static int _adreno_ringbuffer_probe(struct adreno_device *adreno_dev, int adreno_ringbuffer_probe(struct adreno_device *adreno_dev, bool nopreempt) { int status = 0; struct kgsl_device *device = KGSL_DEVICE(adreno_dev); struct adreno_gpudev *gpudev = ADRENO_GPU_DEVICE(adreno_dev); int i; int i, status; if (!adreno_is_a3xx(adreno_dev)) { status = kgsl_allocate_global(device, &device->scratch, PAGE_SIZE, 0, 0, "scratch"); if (status != 0) return status; } if (nopreempt == false) adreno_dev->num_ringbuffers = gpudev->num_prio_levels; Loading Loading @@ -325,9 +333,13 @@ static void _adreno_ringbuffer_close(struct adreno_device *adreno_dev, void adreno_ringbuffer_close(struct adreno_device *adreno_dev) { struct kgsl_device *device = KGSL_DEVICE(adreno_dev); struct adreno_ringbuffer *rb; int i; if (!adreno_is_a3xx(adreno_dev)) kgsl_free_global(device, &device->scratch); FOR_EACH_RINGBUFFER(adreno_dev, rb, i) _adreno_ringbuffer_close(adreno_dev, rb); } Loading drivers/gpu/msm/kgsl.c +0 −11 Original line number Diff line number Diff line Loading @@ -1131,8 +1131,6 @@ static int kgsl_open_device(struct kgsl_device *device) atomic_inc(&device->active_cnt); kgsl_sharedmem_set(device, &device->memstore, 0, 0, device->memstore.size); kgsl_sharedmem_set(device, &device->scratch, 0, 0, device->scratch.size); result = device->ftbl->init(device); if (result) Loading Loading @@ -4689,11 +4687,6 @@ int kgsl_device_platform_probe(struct kgsl_device *device) if (status != 0) goto error_close_mmu; status = kgsl_allocate_global(device, &device->scratch, PAGE_SIZE, 0, 0, "scratch"); if (status != 0) goto error_free_memstore; /* * The default request type PM_QOS_REQ_ALL_CORES is * applicable to all CPU cores that are online and Loading Loading @@ -4739,8 +4732,6 @@ int kgsl_device_platform_probe(struct kgsl_device *device) return 0; error_free_memstore: kgsl_free_global(device, &device->memstore); error_close_mmu: kgsl_mmu_close(device); error_pwrctrl_close: Loading Loading @@ -4768,8 +4759,6 @@ void kgsl_device_platform_remove(struct kgsl_device *device) idr_destroy(&device->context_idr); kgsl_free_global(device, &device->scratch); kgsl_free_global(device, &device->memstore); kgsl_mmu_close(device); Loading Loading
drivers/gpu/msm/adreno.c +4 −0 Original line number Diff line number Diff line Loading @@ -1274,6 +1274,10 @@ static int adreno_init(struct kgsl_device *device) struct adreno_gpudev *gpudev = ADRENO_GPU_DEVICE(adreno_dev); int ret; if (!adreno_is_a3xx(adreno_dev)) kgsl_sharedmem_set(device, &device->scratch, 0, 0, device->scratch.size); ret = kgsl_pwrctrl_change_state(device, KGSL_STATE_INIT); if (ret) return ret; Loading
drivers/gpu/msm/adreno_ringbuffer.c +16 −4 Original line number Diff line number Diff line Loading @@ -225,6 +225,7 @@ int adreno_ringbuffer_start(struct adreno_device *adreno_dev, FOR_EACH_RINGBUFFER(adreno_dev, rb, i) { kgsl_sharedmem_set(device, &(rb->buffer_desc), 0, 0xAA, KGSL_RB_SIZE); if (!adreno_is_a3xx(adreno_dev)) kgsl_sharedmem_writel(device, &device->scratch, SCRATCH_RPTR_OFFSET(rb->id), 0); rb->wptr = 0; Loading Loading @@ -287,9 +288,16 @@ static int _adreno_ringbuffer_probe(struct adreno_device *adreno_dev, int adreno_ringbuffer_probe(struct adreno_device *adreno_dev, bool nopreempt) { int status = 0; struct kgsl_device *device = KGSL_DEVICE(adreno_dev); struct adreno_gpudev *gpudev = ADRENO_GPU_DEVICE(adreno_dev); int i; int i, status; if (!adreno_is_a3xx(adreno_dev)) { status = kgsl_allocate_global(device, &device->scratch, PAGE_SIZE, 0, 0, "scratch"); if (status != 0) return status; } if (nopreempt == false) adreno_dev->num_ringbuffers = gpudev->num_prio_levels; Loading Loading @@ -325,9 +333,13 @@ static void _adreno_ringbuffer_close(struct adreno_device *adreno_dev, void adreno_ringbuffer_close(struct adreno_device *adreno_dev) { struct kgsl_device *device = KGSL_DEVICE(adreno_dev); struct adreno_ringbuffer *rb; int i; if (!adreno_is_a3xx(adreno_dev)) kgsl_free_global(device, &device->scratch); FOR_EACH_RINGBUFFER(adreno_dev, rb, i) _adreno_ringbuffer_close(adreno_dev, rb); } Loading
drivers/gpu/msm/kgsl.c +0 −11 Original line number Diff line number Diff line Loading @@ -1131,8 +1131,6 @@ static int kgsl_open_device(struct kgsl_device *device) atomic_inc(&device->active_cnt); kgsl_sharedmem_set(device, &device->memstore, 0, 0, device->memstore.size); kgsl_sharedmem_set(device, &device->scratch, 0, 0, device->scratch.size); result = device->ftbl->init(device); if (result) Loading Loading @@ -4689,11 +4687,6 @@ int kgsl_device_platform_probe(struct kgsl_device *device) if (status != 0) goto error_close_mmu; status = kgsl_allocate_global(device, &device->scratch, PAGE_SIZE, 0, 0, "scratch"); if (status != 0) goto error_free_memstore; /* * The default request type PM_QOS_REQ_ALL_CORES is * applicable to all CPU cores that are online and Loading Loading @@ -4739,8 +4732,6 @@ int kgsl_device_platform_probe(struct kgsl_device *device) return 0; error_free_memstore: kgsl_free_global(device, &device->memstore); error_close_mmu: kgsl_mmu_close(device); error_pwrctrl_close: Loading Loading @@ -4768,8 +4759,6 @@ void kgsl_device_platform_remove(struct kgsl_device *device) idr_destroy(&device->context_idr); kgsl_free_global(device, &device->scratch); kgsl_free_global(device, &device->memstore); kgsl_mmu_close(device); Loading