Loading drivers/gpu/msm/adreno.c +4 −0 Original line number Diff line number Diff line Loading @@ -1163,6 +1163,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 @@ -209,6 +209,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 @@ -271,9 +272,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_FEATURE(adreno_dev, ADRENO_PREEMPTION)) adreno_dev->num_ringbuffers = gpudev->num_prio_levels; Loading Loading @@ -309,9 +317,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 @@ -1101,8 +1101,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 @@ -3939,11 +3937,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 @@ -3989,8 +3982,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 @@ -4017,8 +4008,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 @@ -1163,6 +1163,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 @@ -209,6 +209,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 @@ -271,9 +272,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_FEATURE(adreno_dev, ADRENO_PREEMPTION)) adreno_dev->num_ringbuffers = gpudev->num_prio_levels; Loading Loading @@ -309,9 +317,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 @@ -1101,8 +1101,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 @@ -3939,11 +3937,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 @@ -3989,8 +3982,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 @@ -4017,8 +4008,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