diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 16 |
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); |