diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/debug.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/debug.c | 84 |
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 | ||
224 | static int gk20a_railgating_debugfs_init(struct gk20a *g) | 224 | static 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 | ||
241 | void gk20a_debug_init(struct gk20a *g, const char *debugfs_symlink) | 241 | void 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 | ||
356 | void gk20a_debug_deinit(struct gk20a *g) | 356 | void 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 | } |