From a7217c0401a85dce42daa3c1315913276149a570 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= Date: Thu, 29 Apr 2021 16:47:32 +0300 Subject: [PATCH] MGS-6197 [#imx-2532] GPU crash when changing gpu_govern mode MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixed the "vgHardware" case. Signed-off-by: Nicușor Cîțu --- .../hal/os/linux/kernel/gc_hal_kernel_device.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c index 3e9176792350..166238d79bfa 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c @@ -2964,6 +2964,9 @@ gckGALDEVICE_Suspend( gctUINT i; gceSTATUS status; gckHARDWARE hardware; +#if gcdENABLE_VG + gckVGHARDWARE vgHardware; +#endif gceCHIPPOWERSTATE currentState = gcvPOWER_INVALID; gcmkHEADER_ARG("Device=%p", Device); @@ -2991,7 +2994,7 @@ gckGALDEVICE_Suspend( #if gcdENABLE_VG if (i == gcvCORE_VG) { - hardware = Device->kernels[i]->vg->hardware; + vgHardware = Device->kernels[i]->vg->hardware; } else #endif @@ -3003,7 +3006,7 @@ gckGALDEVICE_Suspend( #if gcdENABLE_VG if (i == gcvCORE_VG) { - gcmkONERROR(gckVGHARDWARE_QueryPowerManagementState(hardware, + gcmkONERROR(gckVGHARDWARE_QueryPowerManagementState(vgHardware, ¤tState)); } else @@ -3018,7 +3021,7 @@ gckGALDEVICE_Suspend( #if gcdENABLE_VG if (i == gcvCORE_VG) { - gcmkONERROR(gckVGHARDWARE_SetPowerState(hardware, State)); + gcmkONERROR(gckVGHARDWARE_SetPowerState(vgHardware, State)); } else #endif @@ -3088,6 +3091,9 @@ gckGALDEVICE_Resume( gctUINT i; gceSTATUS status; gckHARDWARE hardware; +#if gcdENABLE_VG + gckVGHARDWARE vgHardware; +#endif gceCHIPPOWERSTATE state; gcmkHEADER_ARG("Device=%p", Device); @@ -3107,7 +3113,7 @@ gckGALDEVICE_Resume( #if gcdENABLE_VG if (i == gcvCORE_VG) { - hardware = Device->kernels[i]->vg->hardware; + vgHardware = Device->kernels[i]->vg->hardware; } else #endif @@ -3118,7 +3124,7 @@ gckGALDEVICE_Resume( #if gcdENABLE_VG if (i == gcvCORE_VG) { - gcmkONERROR(gckVGHARDWARE_SetPowerState(hardware, gcvPOWER_ON)); + gcmkONERROR(gckVGHARDWARE_SetPowerState(vgHardware, gcvPOWER_ON)); } else #endif @@ -3150,7 +3156,7 @@ gckGALDEVICE_Resume( #if gcdENABLE_VG if (i == gcvCORE_VG) { - gcmkONERROR(gckVGHARDWARE_SetPowerState(hardware, state)); + gcmkONERROR(gckVGHARDWARE_SetPowerState(vgHardware, state)); } else #endif -- 2.17.1