mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 09:57:08 +03:00
A corner case has existed since ancient times for syncpoint-backed prefences to not cause a gpu wait if the fence is found to be completed in the submit path. This adds some unnecessary complexity, so don't check for completion in software. Let the gpu "wait" for these known-to-be-trivial waits too. Necessary priv cmdbuf space has been allocated anyway. Originally nvhost had 16-bit fences which would wrap around relatively quickly, so waiting for an old fence could have looked like waiting for a fence that will expire long in the future. With 32-bit thresholds, this hasn't been the case for several Tegra generations anymore, and nvhost doesn't ignore waits like this either. The wait priv cmdbuf in submit path can still be missing even with a prefence supplied because the Android sync framework supports sync fds that contain zero fences inside; this can happen at least when merging fences that have all been expired. In such conditions the wait cmdbuf wouldn't even get allocated. [this is squashed with commit 8b3b0cb12d118 (gpu: nvgpu: allow no wait cmd with valid input fence) from https://git-master.nvidia.com/r/c/linux-nvgpu/+/2325677] Jira NVGPU-4548 Change-Id: Ie81fd8735c2614d0fedb7242dc9869d0961610eb Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2321762 (cherry picked from commit 8f3dac44934eb727b1bf4fb853f019cf4c15a5cd) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2324254 Reviewed-by: automaticguardword <automaticguardword@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: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
18 KiB
18 KiB