summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/debug.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/debug.c84
1 files changed, 42 insertions, 42 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/debug.c b/drivers/gpu/nvgpu/common/linux/debug.c
index a846493e..36f142d7 100644
--- a/drivers/gpu/nvgpu/common/linux/debug.c
+++ b/drivers/gpu/nvgpu/common/linux/debug.c
@@ -223,14 +223,14 @@ static const struct file_operations railgate_residency_fops = {
223 223
224static int gk20a_railgating_debugfs_init(struct gk20a *g) 224static int gk20a_railgating_debugfs_init(struct gk20a *g)
225{ 225{
226 struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); 226 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
227 struct dentry *d; 227 struct dentry *d;
228 228
229 if (!g->can_railgate) 229 if (!g->can_railgate)
230 return 0; 230 return 0;
231 231
232 d = debugfs_create_file( 232 d = debugfs_create_file(
233 "railgate_residency", S_IRUGO|S_IWUSR, platform->debugfs, g, 233 "railgate_residency", S_IRUGO|S_IWUSR, l->debugfs, g,
234 &railgate_residency_fops); 234 &railgate_residency_fops);
235 if (!d) 235 if (!d)
236 return -ENOMEM; 236 return -ENOMEM;
@@ -240,101 +240,101 @@ static int gk20a_railgating_debugfs_init(struct gk20a *g)
240 240
241void gk20a_debug_init(struct gk20a *g, const char *debugfs_symlink) 241void gk20a_debug_init(struct gk20a *g, const char *debugfs_symlink)
242{ 242{
243 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
243 struct device *dev = dev_from_gk20a(g); 244 struct device *dev = dev_from_gk20a(g);
244 struct gk20a_platform *platform = dev_get_drvdata(dev);
245 245
246 platform->debugfs = debugfs_create_dir(dev_name(dev), NULL); 246 l->debugfs = debugfs_create_dir(dev_name(dev), NULL);
247 if (!platform->debugfs) 247 if (!l->debugfs)
248 return; 248 return;
249 249
250 if (debugfs_symlink) 250 if (debugfs_symlink)
251 platform->debugfs_alias = 251 l->debugfs_alias =
252 debugfs_create_symlink(debugfs_symlink, 252 debugfs_create_symlink(debugfs_symlink,
253 NULL, dev_name(dev)); 253 NULL, dev_name(dev));
254 254
255 debugfs_create_file("status", S_IRUGO, platform->debugfs, 255 debugfs_create_file("status", S_IRUGO, l->debugfs,
256 dev, &gk20a_debug_fops); 256 dev, &gk20a_debug_fops);
257 debugfs_create_file("gr_status", S_IRUGO, platform->debugfs, 257 debugfs_create_file("gr_status", S_IRUGO, l->debugfs,
258 dev, &gk20a_gr_debug_fops); 258 dev, &gk20a_gr_debug_fops);
259 debugfs_create_u32("trace_cmdbuf", S_IRUGO|S_IWUSR, 259 debugfs_create_u32("trace_cmdbuf", S_IRUGO|S_IWUSR,
260 platform->debugfs, &gk20a_debug_trace_cmdbuf); 260 l->debugfs, &gk20a_debug_trace_cmdbuf);
261 261
262 debugfs_create_u32("ch_wdt_timeout_ms", S_IRUGO|S_IWUSR, 262 debugfs_create_u32("ch_wdt_timeout_ms", S_IRUGO|S_IWUSR,
263 platform->debugfs, &g->ch_wdt_timeout_ms); 263 l->debugfs, &g->ch_wdt_timeout_ms);
264 264
265 debugfs_create_u32("disable_syncpoints", S_IRUGO|S_IWUSR, 265 debugfs_create_u32("disable_syncpoints", S_IRUGO|S_IWUSR,
266 platform->debugfs, &g->disable_syncpoints); 266 l->debugfs, &g->disable_syncpoints);
267 267
268 /* Legacy debugging API. */ 268 /* Legacy debugging API. */
269 debugfs_create_u32("dbg_mask", S_IRUGO|S_IWUSR, 269 debugfs_create_u32("dbg_mask", S_IRUGO|S_IWUSR,
270 platform->debugfs, &nvgpu_dbg_mask); 270 l->debugfs, &nvgpu_dbg_mask);
271 271
272 /* New debug logging API. */ 272 /* New debug logging API. */
273 debugfs_create_u32("log_mask", S_IRUGO|S_IWUSR, 273 debugfs_create_u32("log_mask", S_IRUGO|S_IWUSR,
274 platform->debugfs, &g->log_mask); 274 l->debugfs, &g->log_mask);
275 debugfs_create_u32("log_trace", S_IRUGO|S_IWUSR, 275 debugfs_create_u32("log_trace", S_IRUGO|S_IWUSR,
276 platform->debugfs, &g->log_trace); 276 l->debugfs, &g->log_trace);
277 277
278 g->debugfs_ltc_enabled = 278 l->debugfs_ltc_enabled =
279 debugfs_create_bool("ltc_enabled", S_IRUGO|S_IWUSR, 279 debugfs_create_bool("ltc_enabled", S_IRUGO|S_IWUSR,
280 platform->debugfs, 280 l->debugfs,
281 &g->mm.ltc_enabled_target); 281 &g->mm.ltc_enabled_target);
282 282
283 g->debugfs_gr_idle_timeout_default = 283 l->debugfs_gr_idle_timeout_default =
284 debugfs_create_u32("gr_idle_timeout_default_us", 284 debugfs_create_u32("gr_idle_timeout_default_us",
285 S_IRUGO|S_IWUSR, platform->debugfs, 285 S_IRUGO|S_IWUSR, l->debugfs,
286 &g->gr_idle_timeout_default); 286 &g->gr_idle_timeout_default);
287 g->debugfs_timeouts_enabled = 287 l->debugfs_timeouts_enabled =
288 debugfs_create_bool("timeouts_enabled", 288 debugfs_create_bool("timeouts_enabled",
289 S_IRUGO|S_IWUSR, 289 S_IRUGO|S_IWUSR,
290 platform->debugfs, 290 l->debugfs,
291 &g->timeouts_enabled); 291 &g->timeouts_enabled);
292 292
293 g->debugfs_bypass_smmu = 293 l->debugfs_bypass_smmu =
294 debugfs_create_bool("bypass_smmu", 294 debugfs_create_bool("bypass_smmu",
295 S_IRUGO|S_IWUSR, 295 S_IRUGO|S_IWUSR,
296 platform->debugfs, 296 l->debugfs,
297 &g->mm.bypass_smmu); 297 &g->mm.bypass_smmu);
298 g->debugfs_disable_bigpage = 298 l->debugfs_disable_bigpage =
299 debugfs_create_bool("disable_bigpage", 299 debugfs_create_bool("disable_bigpage",
300 S_IRUGO|S_IWUSR, 300 S_IRUGO|S_IWUSR,
301 platform->debugfs, 301 l->debugfs,
302 &g->mm.disable_bigpage); 302 &g->mm.disable_bigpage);
303 303
304 g->debugfs_timeslice_low_priority_us = 304 l->debugfs_timeslice_low_priority_us =
305 debugfs_create_u32("timeslice_low_priority_us", 305 debugfs_create_u32("timeslice_low_priority_us",
306 S_IRUGO|S_IWUSR, 306 S_IRUGO|S_IWUSR,
307 platform->debugfs, 307 l->debugfs,
308 &g->timeslice_low_priority_us); 308 &g->timeslice_low_priority_us);
309 g->debugfs_timeslice_medium_priority_us = 309 l->debugfs_timeslice_medium_priority_us =
310 debugfs_create_u32("timeslice_medium_priority_us", 310 debugfs_create_u32("timeslice_medium_priority_us",
311 S_IRUGO|S_IWUSR, 311 S_IRUGO|S_IWUSR,
312 platform->debugfs, 312 l->debugfs,
313 &g->timeslice_medium_priority_us); 313 &g->timeslice_medium_priority_us);
314 g->debugfs_timeslice_high_priority_us = 314 l->debugfs_timeslice_high_priority_us =
315 debugfs_create_u32("timeslice_high_priority_us", 315 debugfs_create_u32("timeslice_high_priority_us",
316 S_IRUGO|S_IWUSR, 316 S_IRUGO|S_IWUSR,
317 platform->debugfs, 317 l->debugfs,
318 &g->timeslice_high_priority_us); 318 &g->timeslice_high_priority_us);
319 g->debugfs_runlist_interleave = 319 l->debugfs_runlist_interleave =
320 debugfs_create_bool("runlist_interleave", 320 debugfs_create_bool("runlist_interleave",
321 S_IRUGO|S_IWUSR, 321 S_IRUGO|S_IWUSR,
322 platform->debugfs, 322 l->debugfs,
323 &g->runlist_interleave); 323 &g->runlist_interleave);
324#ifdef CONFIG_ARCH_TEGRA_18x_SOC 324#ifdef CONFIG_ARCH_TEGRA_18x_SOC
325 g->gr.t18x.ctx_vars.debugfs_force_preemption_gfxp = 325 l->debugfs_force_preemption_gfxp =
326 debugfs_create_bool("force_preemption_gfxp", S_IRUGO|S_IWUSR, 326 debugfs_create_bool("force_preemption_gfxp", S_IRUGO|S_IWUSR,
327 platform->debugfs, 327 l->debugfs,
328 &g->gr.t18x.ctx_vars.force_preemption_gfxp); 328 &g->gr.t18x.ctx_vars.force_preemption_gfxp);
329 329
330 g->gr.t18x.ctx_vars.debugfs_force_preemption_cilp = 330 l->debugfs_force_preemption_cilp =
331 debugfs_create_bool("force_preemption_cilp", S_IRUGO|S_IWUSR, 331 debugfs_create_bool("force_preemption_cilp", S_IRUGO|S_IWUSR,
332 platform->debugfs, 332 l->debugfs,
333 &g->gr.t18x.ctx_vars.force_preemption_cilp); 333 &g->gr.t18x.ctx_vars.force_preemption_cilp);
334 334
335 g->gr.t18x.ctx_vars.debugfs_dump_ctxsw_stats = 335 l->debugfs_dump_ctxsw_stats =
336 debugfs_create_bool("dump_ctxsw_stats_on_channel_close", 336 debugfs_create_bool("dump_ctxsw_stats_on_channel_close",
337 S_IRUGO|S_IWUSR, platform->debugfs, 337 S_IRUGO|S_IWUSR, l->debugfs,
338 &g->gr.t18x. 338 &g->gr.t18x.
339 ctx_vars.dump_ctxsw_stats_on_channel_close); 339 ctx_vars.dump_ctxsw_stats_on_channel_close);
340#endif 340#endif
@@ -355,13 +355,13 @@ void gk20a_debug_init(struct gk20a *g, const char *debugfs_symlink)
355 355
356void gk20a_debug_deinit(struct gk20a *g) 356void gk20a_debug_deinit(struct gk20a *g)
357{ 357{
358 struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); 358 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
359 359
360 if (!platform->debugfs) 360 if (!l->debugfs)
361 return; 361 return;
362 362
363 gk20a_fifo_debugfs_deinit(g); 363 gk20a_fifo_debugfs_deinit(g);
364 364
365 debugfs_remove_recursive(platform->debugfs); 365 debugfs_remove_recursive(l->debugfs);
366 debugfs_remove_recursive(platform->debugfs_alias); 366 debugfs_remove_recursive(l->debugfs_alias);
367} 367}