diff options
author | Kirill Artamonov <kartamonov@nvidia.com> | 2015-09-16 03:51:05 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-10-06 16:31:10 -0400 |
commit | 3ad8438c906c815748886ea923320fae91ea2538 (patch) | |
tree | 079cd5e8d6d4ee4c05678a180023bb17c1ee93ec /drivers/gpu/nvgpu/gk20a/gk20a.c | |
parent | d60a45b9fdd935c5e0c29c2cc3c056e0ce8c9873 (diff) |
gpu: nvgpu: set correct timeslice value
Scale timeslice register value based on platform
specific ptimer scale koefficient.
Expose timeslice values through debugfs to simplify performance
tuning.
bug 1605552
bug 1603226
Change-Id: I49f86f22d58d26a366ee1b5f5a9ab9d7f896ad25
Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com>
Reviewed-on: http://git-master/r/800007
(cherry picked from commit 00c85ef24cf28ffaa81eb53fff7edef1c699220a)
Reviewed-on: http://git-master/r/808251
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 6f650a3b..0cc29026 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -1460,6 +1460,10 @@ static int gk20a_probe(struct platform_device *dev) | |||
1460 | gk20a->timeouts_enabled = true; | 1460 | gk20a->timeouts_enabled = true; |
1461 | gk20a->ch_wdt_enabled = true; | 1461 | gk20a->ch_wdt_enabled = true; |
1462 | 1462 | ||
1463 | gk20a->timeslice_low_priority_us = 1300; | ||
1464 | gk20a->timeslice_medium_priority_us = 2600; | ||
1465 | gk20a->timeslice_high_priority_us = 5200; | ||
1466 | |||
1463 | /* Set up initial power settings. For non-slicon platforms, disable * | 1467 | /* Set up initial power settings. For non-slicon platforms, disable * |
1464 | * power features and for silicon platforms, read from platform data */ | 1468 | * power features and for silicon platforms, read from platform data */ |
1465 | gk20a->slcg_enabled = | 1469 | gk20a->slcg_enabled = |
@@ -1512,6 +1516,25 @@ static int gk20a_probe(struct platform_device *dev) | |||
1512 | S_IRUGO|S_IWUSR, | 1516 | S_IRUGO|S_IWUSR, |
1513 | platform->debugfs, | 1517 | platform->debugfs, |
1514 | &gk20a->mm.disable_bigpage); | 1518 | &gk20a->mm.disable_bigpage); |
1519 | |||
1520 | gk20a->debugfs_timeslice_low_priority_us = | ||
1521 | debugfs_create_u32("timeslice_low_priority_us", | ||
1522 | S_IRUGO|S_IWUSR, | ||
1523 | platform->debugfs, | ||
1524 | &gk20a->timeslice_low_priority_us); | ||
1525 | |||
1526 | gk20a->debugfs_timeslice_medium_priority_us = | ||
1527 | debugfs_create_u32("timeslice_medium_priority_us", | ||
1528 | S_IRUGO|S_IWUSR, | ||
1529 | platform->debugfs, | ||
1530 | &gk20a->timeslice_medium_priority_us); | ||
1531 | |||
1532 | gk20a->debugfs_timeslice_high_priority_us = | ||
1533 | debugfs_create_u32("timeslice_high_priority_us", | ||
1534 | S_IRUGO|S_IWUSR, | ||
1535 | platform->debugfs, | ||
1536 | &gk20a->timeslice_high_priority_us); | ||
1537 | |||
1515 | gr_gk20a_debugfs_init(gk20a); | 1538 | gr_gk20a_debugfs_init(gk20a); |
1516 | gk20a_pmu_debugfs_init(dev); | 1539 | gk20a_pmu_debugfs_init(dev); |
1517 | gk20a_cde_debugfs_init(dev); | 1540 | gk20a_cde_debugfs_init(dev); |