mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 01:50:07 +03:00
Issue observed: - In GA10B, it was observed that after recovery happens ELPG does not engage. - It was because, after CE reset, when nvgpu_submit_twod test was run to engage ELPG, IDLE_FLIPPED_PWR_OFF signal was asserted. - This means that when ELPG was engaged (engine is in PWR_OFF), some idle signal flips (becomes non-idle) and this causes IDLE_SNAP. After IDLE_SNAP is hit, ELPG will not engage further. - After debugging from WAVES, it was observed that: LCE0/LCE1 are not done with the reset sequence. - The state of these LCE is RESET0. A pri request (pri read to NV_CE_PCE_MAP register in CE) is seen that kicks it out of RESET0. After this state, it goes through few states to update some internal states (states RESET1/RESET2/PCE_MAP etc) and then eventually settles down to IDLE state. Solution: - Read ce_pce_map_r register in recovery sequence (after ce reset). - It is observed that when this read is added recovery is complete and post that when nvgpu_submit_two test is executed, ELPG is engaging. - This means that a pri read is needed after CE reset so that it settles to idle state properly and post that ELPG can engage properly. Bug 200734258 Change-Id: I5bb84921ca62a740fde81ffe6c29ccde4ebb341b Signed-off-by: Divya Singhatwaria <dsinghatwari@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2554493 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com> Reviewed-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-by: Seema Khowala <seemaj@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
24 KiB
24 KiB