Loading drivers/gpu/msm/adreno.c +1 −0 Original line number Diff line number Diff line Loading @@ -1585,6 +1585,7 @@ int adreno_device_probe(struct platform_device *pdev, if (of_find_matching_node(dev->of_node, adreno_gmu_match)) component_unbind_all(dev, NULL); idr_destroy(&device->context_idr); kgsl_bus_close(device); return status; Loading drivers/gpu/msm/kgsl.c +9 −9 Original line number Diff line number Diff line Loading @@ -4293,6 +4293,9 @@ static void _unregister_device(struct kgsl_device *device) { int minor; if (device->gpu_sysfs_kobj.state_initialized) kobject_del(&device->gpu_sysfs_kobj); mutex_lock(&kgsl_driver.devlock); for (minor = 0; minor < ARRAY_SIZE(kgsl_driver.devp); minor++) { if (device == kgsl_driver.devp[minor]) { Loading Loading @@ -4484,12 +4487,6 @@ int kgsl_device_platform_probe(struct kgsl_device *device) device->pwrctrl.interrupt_num = status; disable_irq(device->pwrctrl.interrupt_num); rwlock_init(&device->context_lock); spin_lock_init(&device->submit_lock); idr_init(&device->timelines); spin_lock_init(&device->timelines_lock); device->events_wq = alloc_workqueue("kgsl-events", WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS | WQ_HIGHPRI, 0); Loading @@ -4504,6 +4501,12 @@ int kgsl_device_platform_probe(struct kgsl_device *device) if (status != 0) goto error_pwrctrl_close; rwlock_init(&device->context_lock); spin_lock_init(&device->submit_lock); idr_init(&device->timelines); spin_lock_init(&device->timelines_lock); kgsl_device_debugfs_init(device); dma_set_coherent_mask(&pdev->dev, KGSL_DMA_BIT_MASK); Loading Loading @@ -4537,9 +4540,6 @@ void kgsl_device_platform_remove(struct kgsl_device *device) kgsl_device_snapshot_close(device); if (device->gpu_sysfs_kobj.state_initialized) kobject_del(&device->gpu_sysfs_kobj); idr_destroy(&device->context_idr); idr_destroy(&device->timelines); Loading drivers/gpu/msm/kgsl_bus.c +2 −0 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #include <linux/interconnect.h> Loading Loading @@ -224,6 +225,7 @@ void kgsl_bus_close(struct kgsl_device *device) kfree(device->pwrctrl.ddr_table); device->pwrctrl.ddr_table = NULL; icc_put(device->pwrctrl.icc_path); device->pwrctrl.icc_path = NULL; if (device->pwrctrl.ddr_qos_devfreq) put_device(&device->pwrctrl.ddr_qos_devfreq->dev); } Loading
drivers/gpu/msm/adreno.c +1 −0 Original line number Diff line number Diff line Loading @@ -1585,6 +1585,7 @@ int adreno_device_probe(struct platform_device *pdev, if (of_find_matching_node(dev->of_node, adreno_gmu_match)) component_unbind_all(dev, NULL); idr_destroy(&device->context_idr); kgsl_bus_close(device); return status; Loading
drivers/gpu/msm/kgsl.c +9 −9 Original line number Diff line number Diff line Loading @@ -4293,6 +4293,9 @@ static void _unregister_device(struct kgsl_device *device) { int minor; if (device->gpu_sysfs_kobj.state_initialized) kobject_del(&device->gpu_sysfs_kobj); mutex_lock(&kgsl_driver.devlock); for (minor = 0; minor < ARRAY_SIZE(kgsl_driver.devp); minor++) { if (device == kgsl_driver.devp[minor]) { Loading Loading @@ -4484,12 +4487,6 @@ int kgsl_device_platform_probe(struct kgsl_device *device) device->pwrctrl.interrupt_num = status; disable_irq(device->pwrctrl.interrupt_num); rwlock_init(&device->context_lock); spin_lock_init(&device->submit_lock); idr_init(&device->timelines); spin_lock_init(&device->timelines_lock); device->events_wq = alloc_workqueue("kgsl-events", WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS | WQ_HIGHPRI, 0); Loading @@ -4504,6 +4501,12 @@ int kgsl_device_platform_probe(struct kgsl_device *device) if (status != 0) goto error_pwrctrl_close; rwlock_init(&device->context_lock); spin_lock_init(&device->submit_lock); idr_init(&device->timelines); spin_lock_init(&device->timelines_lock); kgsl_device_debugfs_init(device); dma_set_coherent_mask(&pdev->dev, KGSL_DMA_BIT_MASK); Loading Loading @@ -4537,9 +4540,6 @@ void kgsl_device_platform_remove(struct kgsl_device *device) kgsl_device_snapshot_close(device); if (device->gpu_sysfs_kobj.state_initialized) kobject_del(&device->gpu_sysfs_kobj); idr_destroy(&device->context_idr); idr_destroy(&device->timelines); Loading
drivers/gpu/msm/kgsl_bus.c +2 −0 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #include <linux/interconnect.h> Loading Loading @@ -224,6 +225,7 @@ void kgsl_bus_close(struct kgsl_device *device) kfree(device->pwrctrl.ddr_table); device->pwrctrl.ddr_table = NULL; icc_put(device->pwrctrl.icc_path); device->pwrctrl.icc_path = NULL; if (device->pwrctrl.ddr_qos_devfreq) put_device(&device->pwrctrl.ddr_qos_devfreq->dev); }