bool gpu_check_trace_code(int code) { int level; switch (code) { case KBASE_TRACE_CODE(DUMMY): return false; case KBASE_TRACE_CODE(LSI_CLOCK_VALUE): case KBASE_TRACE_CODE(LSI_CLOCK_ON): case KBASE_TRACE_CODE(LSI_CLOCK_OFF): case KBASE_TRACE_CODE(LSI_GPU_MAX_LOCK): case KBASE_TRACE_CODE(LSI_GPU_MIN_LOCK): level = TRACE_CLK; break; case KBASE_TRACE_CODE(LSI_VOL_VALUE): level = TRACE_VOL; break; case KBASE_TRACE_CODE(LSI_GPU_ON): case KBASE_TRACE_CODE(LSI_GPU_OFF): case KBASE_TRACE_CODE(LSI_SUSPEND): case KBASE_TRACE_CODE(LSI_RESUME): case KBASE_TRACE_CODE(LSI_TMU_VALUE): level = TRACE_NOTIFIER; break; case KBASE_TRACE_CODE(LSI_REGISTER_DUMP): level = TRACE_DUMP; break; default: level = TRACE_DEFAULT; break; } return gpu_check_trace_level(level); }
static ssize_t show_trace_level(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; int level; for (level = TRACE_NONE + 1; level < TRACE_END - 1; level++) if (gpu_check_trace_level(level)) ret += snprintf(buf+ret, PAGE_SIZE-ret, "<%d> ", level); ret += snprintf(buf+ret, PAGE_SIZE-ret, "\nList: %d ~ %d\n(None: %d, All: %d)", TRACE_NONE + 1, TRACE_ALL - 1, TRACE_NONE, TRACE_ALL); if (ret < PAGE_SIZE - 1) { ret += snprintf(buf+ret, PAGE_SIZE-ret, "\n"); } else { buf[PAGE_SIZE-2] = '\n'; buf[PAGE_SIZE-1] = '\0'; ret = PAGE_SIZE-1; } return ret; }