mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 10:11:26 +03:00
This patch addresses two fixes: [1] Removes updating user buffers with IOVA. - In address translation of address list of a tasks, handle and offset were replaced with actual IOVA into user buffer and same buffer was shared with engine. This approach is error prone. - To fix this issue, kernel keeps IOVA list and shares with engine. - In task submit, mem_handle list from user and updated in kernel copy of task. - and while pinning user buffers, engine shared list updated with actual dma address retrieved from submit pin call. [2] Remove dynamic allocation required in address translation - Required memory of 'kernel copy address list' and 'engine shared address list' both allocated from queue memory pool. - and assigned and released along with task data. DLA-286 Change-Id: I4d5a322adaff25e6e587d3305847540757850c77 Signed-off-by: Shridhar Rasal <srasal@nvidia.com> Reviewed-on: http://git-master/r/1293124 Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com> GVS: Gerrit_Virtual_Submit