Bryan Huntsman | 3f2bc4d | 2011-08-16 17:27:22 -0700 | [diff] [blame] | 1 | This document lists details for the device specific sysfs attributes |
| 2 | created by the KGSL GPU driver. |
| 3 | |
| 4 | - /sys/devices/platform/kgsl/vmalloc |
| 5 | The total amount of vmalloc()ed memory currently allocated by the driver |
| 6 | (in bytes) |
| 7 | |
| 8 | - /sys/devices/platform/kgsl/vmalloc_max |
| 9 | The maximum amount of vmalloc()ed memory allocated at any one |
| 10 | time by the driver since the system was booted (in bytes) |
| 11 | |
| 12 | - /sys/devices/platform/kgsl/coherent |
| 13 | The total amount of coherent DMA memory currently allocated by the driver |
| 14 | (in bytes) |
| 15 | |
| 16 | - /sys/devices/platform/kgsl/coherent_max |
| 17 | The maximum amount of coherent DMA memory allocated at any one |
| 18 | time by the driver since the system was booted (in bytes) |
| 19 | |
| 20 | |
| 21 | - /sys/devices/platform/kgsl/histogram |
| 22 | A histogram of the sizes of vmalloc allocations by the driver |
| 23 | since the system was booted. The allocations are grouped by the order |
| 24 | of the allocation size in pages. For example, order 0 are 1 page |
| 25 | allocations, order 1 are 2 page allocations, order 2 are 4 page allocations, |
| 26 | and so forth, up to order 16 (32768) pages. |
| 27 | |
| 28 | - /sys/devices/platform/kgsl/proc |
| 29 | This directory contains individual entries for each active rendering |
| 30 | process. Rendering instances are created for each unique process that |
| 31 | opens the GPU devices, and are named for the id of the creating process. |
| 32 | In the driver, memory allocations are owned by the process that allocates |
| 33 | them, and outstanding memory is garbage collected when the process closes |
| 34 | the device. |
| 35 | |
| 36 | - /sys/devices/platform/kgsl/proc/NN/vmalloc |
| 37 | The total amount of vmalloc memory currently allocated by the process |
| 38 | (in bytes) |
| 39 | |
| 40 | - /sys/devices/platform/kgsl/proc/NN/vmalloc_max |
| 41 | The maximum amount of vmalloc memory allocated at any one |
| 42 | time by the process since it was created (in bytes) |
| 43 | |
| 44 | - /sys/devices/platform/kgsl/proc/NN/exmem |
| 45 | The total amount of external memory devices currently mapped by the process |
| 46 | (in bytes). This includes PMEM, ASHMEM and external memory pointers from |
| 47 | userspace. |
| 48 | |
| 49 | - /sys/devices/platform/kgsl/proc/NN/exmem_max |
| 50 | The maximum amount of external memory devices allocated at any one |
| 51 | time by the process since it was created (in bytes). This includes PMEM, |
| 52 | ASHMEM and external memory pointers from userspace. |
| 53 | |
| 54 | - /sys/devices/platform/kgsl/proc/NN/flushes |
| 55 | The total number of cache flushes performed by this process since it |
| 56 | was created. |
| 57 | |
| 58 | - /sys/devices/platform/kgsl/pagetables |
| 59 | This directory contains individual entries for each active pagetable. |
| 60 | There will always be a global pagetable with ID 0. If per-process |
| 61 | pagetables are not enabled, pagetable ID 0 will also be the default |
| 62 | pagetable for all processes. If per-process pagetables are enabled, |
| 63 | there will be an entry for each pagetable, named after the ID of the |
| 64 | process that created it. |
| 65 | |
| 66 | - /sys/devices/platform/kgsl/pagetables/NN/entries |
| 67 | The number of concurrent entries mapped in the GPU MMU. |
| 68 | |
| 69 | - /sys/devices/platform/kgsl/pagetables/NN/mapped |
| 70 | The number of bytes currently mapped in the GPU MMU. |
| 71 | |
| 72 | - /sys/devices/platform/kgsl/pagetables/NN/va_range |
| 73 | The virtual address size of the MMU pagetable (in bytes). |
| 74 | |
| 75 | - /sys/devices/platform/kgsl/pagetables/NN/max_mapped |
| 76 | The maximum number of bytes concurrently mapped in the GPU MMU since |
| 77 | the pagetable was created. |
| 78 | |
| 79 | - /sys/devices/platform/kgsl/pagetables/NN/max_entries |
| 80 | The maximum number of entries concurrently mapped in the GPU MMU since |
| 81 | the pagetable was created. |
| 82 | |
| 83 | - /sys/devices/platform/kgsl/msm_kgsl/ |
| 84 | Each individual GPU device (2D or 3D) will have its own device node in |
| 85 | this directory. All platforms will have kgsl-3d0 (3D device), some |
| 86 | devices may have 1 2D device (kgsl-2d0) and others might add a second 2D |
| 87 | device (kgsl-2d1). |
| 88 | |
| 89 | - /sys/devices/platform/kgsl/msm_kgsl/kgsl-XXX/pwrnap |
| 90 | Controls the system ability to nap (lightly sleep between frames). 1 |
| 91 | indicates napping is enabled, 0 indicates it is disabled. Write a 1 or |
| 92 | a 0 to the file to control napping. |
| 93 | |
| 94 | - /sys/devices/platform/kgsl/msm_kgsl/kgsl-XXX/gpuclk |
| 95 | Shows the last active requested speed of the GPU clock in HZ, does not |
| 96 | actually measure the current clock rate. Write a clock speed to the file |
| 97 | corresponding to a supported platform power level to change to that power |
| 98 | level. The bandwidth vote will also be adjusted. |