summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 9bbc9bd8..c5124c51 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -670,6 +670,9 @@ static int gk20a_init_support(struct platform_device *dev)
670 mutex_init(&g->client_lock); 670 mutex_init(&g->client_lock);
671 mutex_init(&g->ch_wdt_lock); 671 mutex_init(&g->ch_wdt_lock);
672 672
673 mutex_init(&g->interleave_lock);
674 g->num_interleaved_channels = 0;
675
673 g->remove_support = gk20a_remove_support; 676 g->remove_support = gk20a_remove_support;
674 return 0; 677 return 0;
675 678
@@ -1437,9 +1440,14 @@ static int gk20a_probe(struct platform_device *dev)
1437 if (tegra_platform_is_silicon()) 1440 if (tegra_platform_is_silicon())
1438 gk20a->timeouts_enabled = true; 1441 gk20a->timeouts_enabled = true;
1439 1442
1443 gk20a->interleave_high_priority = true;
1444
1440 gk20a->timeslice_low_priority_us = 1300; 1445 gk20a->timeslice_low_priority_us = 1300;
1441 gk20a->timeslice_medium_priority_us = 2600; 1446 gk20a->timeslice_medium_priority_us = 2600;
1442 gk20a->timeslice_high_priority_us = 5200; 1447 if (gk20a->interleave_high_priority)
1448 gk20a->timeslice_high_priority_us = 3000;
1449 else
1450 gk20a->timeslice_high_priority_us = 5200;
1443 1451
1444 /* Set up initial power settings. For non-slicon platforms, disable * 1452 /* Set up initial power settings. For non-slicon platforms, disable *
1445 * power features and for silicon platforms, read from platform data */ 1453 * power features and for silicon platforms, read from platform data */
@@ -1512,6 +1520,12 @@ static int gk20a_probe(struct platform_device *dev)
1512 platform->debugfs, 1520 platform->debugfs,
1513 &gk20a->timeslice_high_priority_us); 1521 &gk20a->timeslice_high_priority_us);
1514 1522
1523 gk20a->debugfs_interleave_high_priority =
1524 debugfs_create_bool("interleave_high_priority",
1525 S_IRUGO|S_IWUSR,
1526 platform->debugfs,
1527 &gk20a->interleave_high_priority);
1528
1515 gr_gk20a_debugfs_init(gk20a); 1529 gr_gk20a_debugfs_init(gk20a);
1516 gk20a_pmu_debugfs_init(dev); 1530 gk20a_pmu_debugfs_init(dev);
1517 gk20a_cde_debugfs_init(dev); 1531 gk20a_cde_debugfs_init(dev);