mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
- When DISALLOW cmd is sent from driver to PMU the actual completion of the disallow will be acknowledged by PMU via a PG EVENT: ASYNC_CMD_RESP. - Disallow needs a delayed ACK from PMU in order to disable the ELPG. - If ELPG is already engaged, the DISALLOW cmd will trigger ELPG exit and then transition to PMU_PG_STATE_DISALLOW. - After this whole process is completed, PMU will send DISALLOW_ACK through ASYNC_CMD_RESP msg. - After disallow command is sent from the driver, NvGPU driver waits/polls for disallow command ack. This is sent immediately by msg framework of PMU. - Then, the driver will poll/wait for ASYNC_CMD_RESP event which is the delayed DISALLOW ACK. - The driver captures the ASYNC_CMD_RESP sent from PMU. - set disallow_state to ELPG_OFF. - If the driver does not wait/poll for this delayed disallow ack from PMU, it can result in erros as PMU is still processing DISALLOW cmd but the driver progressed further. Bug 3580271 Change-Id: I332180c05b6a398107f065d54e9718b7038fb1b2 Signed-off-by: Divya <dsinghatwari@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2689500 Reviewed-by: Sagar Kamble <skamble@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> GVS: Gerrit_Virtual_Submit