diff options
author | Kerwin Wan <kerwinw@nvidia.com> | 2014-04-01 06:57:10 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:08:57 -0400 |
commit | efad6452f624108631da414a32f6906b8b8c0eb3 (patch) | |
tree | b71dbc3a07810743ecde01558bef49e8e9e9a0f6 /drivers/gpu | |
parent | f3f9677c57333c0980b2e05926cb81267e814d3d (diff) |
gpu: nvgpu: handle error when gpu failed to unpowergate
After flash, kernel needs to reboot after first boot.
During reboot, devices is going to be shutdown including i2c.
But sometimes gpu driver trys to open gpu sysfs nodes and
unpowergate gpu at the same time. But i2c is already shutdown.
tegra_unpowergate_partition returns error in this case but
gk20a_tegra_unrailgate did not report the error so the error
is not handled. Return proper value in gk20a_tegra_unrailgate
to avoid this.
Bug 1488409
Change-Id: I3470ad44a0047ae9b06f5907162ccf51795a5e04
Signed-off-by: Kerwin Wan <kerwinw@nvidia.com>
Reviewed-on: http://git-master/r/390688
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Prashant Malani <pmalani@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c index 35658f31..17126dc8 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | |||
@@ -354,8 +354,9 @@ static int gk20a_tegra_railgate(struct platform_device *pdev) | |||
354 | 354 | ||
355 | static int gk20a_tegra_unrailgate(struct platform_device *pdev) | 355 | static int gk20a_tegra_unrailgate(struct platform_device *pdev) |
356 | { | 356 | { |
357 | tegra_unpowergate_partition(TEGRA_POWERGATE_GPU); | 357 | int ret; |
358 | return 0; | 358 | ret = tegra_unpowergate_partition(TEGRA_POWERGATE_GPU); |
359 | return ret; | ||
359 | } | 360 | } |
360 | 361 | ||
361 | struct { | 362 | struct { |