summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c
diff options
context:
space:
mode:
authorSachit Kadle <skadle@nvidia.com>2016-09-19 17:18:11 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-09-20 13:43:35 -0400
commit246dcb824bc299b836be92fb74416c07a57e085b (patch)
treef1ce23cdea84e873fbf965ce903e31c7effa4739 /drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c
parent3180ed70489113365203abc049223ad5956cb22e (diff)
gpu: nvgpu: improve sync create/destroy logic
This change improves the aggressive sync creation & destruction logic to avoid lock contention in the submit path. It does the following: 1) Removes the global sync destruction (channel) threshold, and adds a per-platform parameter. 2) Avoids lock contention in the clean-up/submit path when aggressive sync destruction is disabled. 3) Creates sync object at gpfifo allocation time (as long as we are not in aggressive sync destroy mode), to enable faster first submits Bug 1795076 Change-Id: Ifdb680100b08d00f37338063355bb2123ceb1b9f Signed-off-by: Sachit Kadle <skadle@nvidia.com> Reviewed-on: http://git-master/r/1202425 (cherry picked from commit ac0978711943a59c6f28c98c76b10759e0bff610) Reviewed-on: http://git-master/r/1202427 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/platform_vgpu_tegra.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c
index b260b3ac..dc898226 100644
--- a/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c
+++ b/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c
@@ -49,6 +49,7 @@ static int gk20a_tegra_probe(struct device *dev)
49 49
50struct gk20a_platform vgpu_tegra_platform = { 50struct gk20a_platform vgpu_tegra_platform = {
51 .has_syncpoints = true, 51 .has_syncpoints = true,
52 .aggressive_sync_destroy_thresh = 64,
52 53
53 /* power management configuration */ 54 /* power management configuration */
54 .can_railgate = false, 55 .can_railgate = false,