diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2015-02-26 06:17:06 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:08:54 -0400 |
commit | 45e261ac190f26ea6b1286c7153b5ef9481f454f (patch) | |
tree | 5e9f807f8a02f7c531648bed84efd4207b08cb6a /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 99c707842f9eb036100b0eb96cd84fc3ab97508e (diff) |
gpu: nvgpu: add flag for CAR reset in do_idle()
Add "force_reset" flag to __gk20a_do_idle()
For real world use cases like VPR resizing, we cannot wait
for railgate_delay (which is 500 mS). Hence use CAR reset
for this use case. (this is done via gk20a_do_idle() API
with force_reset = true)
Some of the test cases make use of sysfs "force_idle" and
they expect GPU to be into really railgated state and
not in CAR reset.
Hence when called from sysfs, set force_reset = false.
When global flag "force_reset_in_do_idle" is set, it will
override local flags and force CAR reset case.
This is desired in cases where railgating is not enabled
Also, set force_reset_in_do_idle = false for GM20B since
railgating has been enabled for GM20B
Bug 1592997
Change-Id: I6c5af2977c7211ef82551a86a7c1eb51b8ccee60
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/711615
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index ba7c7e97..acee2e48 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -776,7 +776,7 @@ void gk20a_idle(struct platform_device *pdev); | |||
776 | void gk20a_disable(struct gk20a *g, u32 units); | 776 | void gk20a_disable(struct gk20a *g, u32 units); |
777 | void gk20a_enable(struct gk20a *g, u32 units); | 777 | void gk20a_enable(struct gk20a *g, u32 units); |
778 | void gk20a_reset(struct gk20a *g, u32 units); | 778 | void gk20a_reset(struct gk20a *g, u32 units); |
779 | int __gk20a_do_idle(struct platform_device *pdev); | 779 | int __gk20a_do_idle(struct platform_device *pdev, bool force_reset); |
780 | int __gk20a_do_unidle(struct platform_device *pdev); | 780 | int __gk20a_do_unidle(struct platform_device *pdev); |
781 | 781 | ||
782 | const struct firmware * | 782 | const struct firmware * |