diff options
author | Ankit Goyal <layog@google.com> | 2021-07-22 17:43:56 +0800 |
---|---|---|
committer | Ankit Goyal <layog@google.com> | 2021-07-23 17:08:44 +0000 |
commit | bb5eae0a1480d69a1117d0c8e22ef74975a0373a (patch) | |
tree | a87469744de9fb04fe8c35a4e44b0c4ce212b9fb /mali_kbase/mali_kbase_core_linux.c | |
parent | d11022e2a8851737b87e32eba8afe495b2a39f72 (diff) | |
download | gpu-bb5eae0a1480d69a1117d0c8e22ef74975a0373a.tar.gz |
Revert "Revert "mali_kbase: platform: Add per-process and global sysfs n...""
This reverts commit 9e6d1d7e88bae9f4be2ffbb20c9ac4655296c5d6.
Bug: 191966412
Signed-off-by: Ankit Goyal <layog@google.com>
Change-Id: I94b91105e1e00af58445c94080df62321aa777ae
Diffstat (limited to 'mali_kbase/mali_kbase_core_linux.c')
-rw-r--r-- | mali_kbase/mali_kbase_core_linux.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/mali_kbase/mali_kbase_core_linux.c b/mali_kbase/mali_kbase_core_linux.c index f6715ed..7c4b448 100644 --- a/mali_kbase/mali_kbase_core_linux.c +++ b/mali_kbase/mali_kbase_core_linux.c @@ -5072,6 +5072,36 @@ static struct attribute *kbase_scheduling_attrs[] = { NULL }; +static ssize_t total_gpu_mem_show( + struct device *dev, + struct device_attribute *attr, + char *const buf) +{ + struct kbase_device *kbdev; + kbdev = to_kbase_device(dev); + if (!kbdev) + return -ENODEV; + + return sysfs_emit(buf, "%lu\n", + (unsigned long) kbdev->total_gpu_pages << PAGE_SHIFT); +} +static DEVICE_ATTR_RO(total_gpu_mem); + +static ssize_t dma_buf_gpu_mem_show( + struct device *dev, + struct device_attribute *attr, + char *const buf) +{ + struct kbase_device *kbdev; + kbdev = to_kbase_device(dev); + if (!kbdev) + return -ENODEV; + + return sysfs_emit(buf, "%lu\n", + (unsigned long) kbdev->dma_buf_pages << PAGE_SHIFT); +} +static DEVICE_ATTR_RO(dma_buf_gpu_mem); + static struct attribute *kbase_attrs[] = { #ifdef CONFIG_MALI_DEBUG &dev_attr_debug_command.attr, @@ -5105,6 +5135,8 @@ static struct attribute *kbase_attrs[] = { #if !MALI_USE_CSF &dev_attr_js_ctx_scheduling_mode.attr, #endif /* !MALI_USE_CSF */ + &dev_attr_total_gpu_mem.attr, + &dev_attr_dma_buf_gpu_mem.attr, NULL }; @@ -5166,6 +5198,9 @@ int kbase_sysfs_init(struct kbase_device *kbdev) &kbase_attr_group); } + kbdev->proc_sysfs_node = kobject_create_and_add("kprcs", + &kbdev->dev->kobj); + return err; } @@ -5174,6 +5209,8 @@ void kbase_sysfs_term(struct kbase_device *kbdev) sysfs_remove_group(&kbdev->dev->kobj, &kbase_mempool_attr_group); sysfs_remove_group(&kbdev->dev->kobj, &kbase_scheduling_attr_group); sysfs_remove_group(&kbdev->dev->kobj, &kbase_attr_group); + kobject_del(kbdev->proc_sysfs_node); + kobject_put(kbdev->proc_sysfs_node); put_device(kbdev->dev); } |