diff options
author | Vedashree Vidwans <vvidwans@nvidia.com> | 2019-08-07 17:07:57 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2019-08-30 04:24:52 -0400 |
commit | 84f48df530a6ce0423920ebd8fd4e1dde52dd09f (patch) | |
tree | 71c596e18d0e8e35f1cdb6d6fe3f641a216c7203 /drivers/gpu/nvgpu/os/linux | |
parent | 6500ce7581b7fa2360657a8e58d327e0cf311f25 (diff) |
gpu: nvgpu: use vpr resize API
This patch adds nvgpu API in linux and qnx to query vpr resize.
The new API nvgpu_is_vpr_resize_enabled() is used in
nvgpu_submit_channel_gpfifo().
Previously, if non-deterministic channel has timeout disabled and
GPU cannot railgate on some platform, then channel doesn't power ref
count and results in video freeze. This requires non-determinstic
channel job tracking to be enabled if vpr resize is supported or if GPU
can railgate.
Bug 200532122
Change-Id: Icfbff6253762b195b2f5955749343974b1a7a269
Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2167082
Reviewed-on: https://git-master.nvidia.com/r/2180581
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/vpr.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/vpr.c b/drivers/gpu/nvgpu/os/linux/vpr.c new file mode 100644 index 00000000..3a981250 --- /dev/null +++ b/drivers/gpu/nvgpu/os/linux/vpr.c | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it | ||
5 | * under the terms and conditions of the GNU General Public License, | ||
6 | * version 2, as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
11 | * more details. | ||
12 | */ | ||
13 | |||
14 | #include <nvgpu/vpr.h> | ||
15 | |||
16 | #include <linux/init.h> | ||
17 | #include <linux/platform/tegra/common.h> | ||
18 | |||
19 | bool nvgpu_is_vpr_resize_enabled(void) | ||
20 | { | ||
21 | return tegra_is_vpr_resize_supported(); | ||
22 | } | ||