static void nvhost_scale3d_debug_init(struct devfreq *df) { struct podgov_info_rec *podgov = df->data; struct nvhost_device *dev = to_nvhost_device(df->dev.parent); struct dentry *f; if (!podgov) return; podgov->debugdir = debugfs_create_dir("scaling", dev->debugfs); if (!podgov->debugdir) { pr_err("podgov: can\'t create debugfs directory\n"); return; } #define CREATE_PODGOV_FILE(fname) \ do {\ f = debugfs_create_u32(#fname, S_IRUGO | S_IWUSR, \ podgov->debugdir, &podgov->p_##fname); \ if (NULL == f) { \ pr_err("podgov: can\'t create file " #fname "\n"); \ return; \ } \ } while (0) CREATE_PODGOV_FILE(estimation_window); CREATE_PODGOV_FILE(idle_min); CREATE_PODGOV_FILE(idle_max); CREATE_PODGOV_FILE(adjust); CREATE_PODGOV_FILE(use_throughput_hint); CREATE_PODGOV_FILE(hint_hi_limit); CREATE_PODGOV_FILE(hint_lo_limit); CREATE_PODGOV_FILE(scaleup_limit); CREATE_PODGOV_FILE(scaledown_limit); CREATE_PODGOV_FILE(smooth); #undef CREATE_PODGOV_FILE }
static void nvhost_scale3d_debug_init(struct devfreq *df) { struct podgov_info_rec *podgov = df->data; struct platform_device *dev = to_platform_device(df->dev.parent); struct nvhost_device_data *pdata = platform_get_drvdata(dev); struct dentry *f; if (!podgov) return; podgov->debugdir = debugfs_create_dir("scaling", pdata->debugfs); if (!podgov->debugdir) { pr_err("podgov: can\'t create debugfs directory\n"); return; } #define CREATE_PODGOV_FILE(fname) \ do {\ f = debugfs_create_u32(#fname, S_IRUGO | S_IWUSR, \ podgov->debugdir, &podgov->p_##fname); \ if (NULL == f) { \ pr_err("podgov: can\'t create file " #fname "\n"); \ return; \ } \ } while (0) CREATE_PODGOV_FILE(block_window); CREATE_PODGOV_FILE(load_max); CREATE_PODGOV_FILE(load_target); CREATE_PODGOV_FILE(bias); CREATE_PODGOV_FILE(damp); CREATE_PODGOV_FILE(use_throughput_hint); CREATE_PODGOV_FILE(hint_hi_limit); CREATE_PODGOV_FILE(hint_lo_limit); CREATE_PODGOV_FILE(scaleup_limit); CREATE_PODGOV_FILE(scaledown_limit); CREATE_PODGOV_FILE(smooth); CREATE_PODGOV_FILE(slowdown_delay); #undef CREATE_PODGOV_FILE }