mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-23 01:31:30 +03:00
a010f20be9ac8cd1fcbb4a2259f9b5dd1dbb4dcc
On SIPL stack, VI engine status memory which is allocated by SIPL span across multiple memory pages. IOVA calculations in KMD as per pinned pages did not taken to account the multiple pages and calculated IOVA based on first page base address. This lead to VI falcon access the passed incorrect iova address which caused Kernel OOPS at random places. To fix this, calculate the IOVA based on adjusting offset with respect to right page by traversing the scatterlist. For older kernel versions(4.9) being used in some android packages, the existing IOVA mappping is kept as it is, as it doesn't support scatterlist. Bug 3770879 Change-Id: I27d6850aaecbb1e095e836adee041f3f4747e2b7 Signed-off-by: Ajith Kumar <ajithk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2800018 (cherry picked from commit d27f901f5e21380441f3d1afd19f1fdbd160b06f) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2799843 (cherry picked from commit 2856d6a5aa5a56f0a1c543ad6c2ba8373282c2c5) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2864345 Reviewed-by: Vincent Chung <vincentc@nvidia.com> Reviewed-by: Bhushan Rayrikar <brayrikar@nvidia.com> Reviewed-by: Igor Mitsyanko <imitsyanko@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Shiva Dubey <sdubey@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com> Tested-by: Frank Chen <frankc@nvidia.com>
Description
No description provided