Ashish Mhetre
ae282d2c22
video: tegra: nvmap: Fix error pointer dereference
...
In nvmap_try_duplicate_by_ivmid(), the return pointer from
nvmap_duplicate_handle() is getting dereferenced without checking
whether the pointer is error or valid. This is causing kernel panic.
Fix this by checking if the return pointer is invalid then return error.
Bug 3766497
Change-Id: I010893c9ebda60e313c4f776044a123073399ef2
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2846180
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
afb7cce70c
video: tegra: nvmap: Fix kmemleak issues
...
While unloading the nvmap module, the memory allocated by following
functions should be freed, otherwise it results into kmemleak:
- nvmap_dma_init_coherent_memory
- dev_set_name
Bug 3860404
Change-Id: I7cd187c259ad2ceca0262154c0fb7fe8aedcfac8
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2844474
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-11 05:54:22 +00:00
Hans-Christian Noren Egtvedt
76d402ab77
tegra:nvmap: do not export symbol for init functions
...
We can not EXPORT_SYMBOL() on functions marked __init, since they will
not be available once the kernel has done running through init level.
Hence remove the EXPORT_SYMBOL() calls.
Bug 3806590
Change-Id: Ie9fd26fa7220a287b8467aaf6efe03af4427d052
Signed-off-by: Ken Chang <kenc@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2782502
(cherry picked from commit ad100e16945b064086d44211adae522208ad5664)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2840504
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
a588f61b8e
video: tegra: nvmap: Remove use of bitmap_allocate_region
...
NvMap is using bitmap_allocate_region while doing allocation from IVM
carveout. It expects size to be always power of 2, this is resulting
into memory shortage. Better way to handle this is to use the function
bitmap_find_next_zero_area which expects bitmap size rather than order.
Then use bitmap_set to set the allocated bits from the bitmap.
Similarly, while freeing the buffer, use bitmap_clear instead of
bitmap_release_region.
Bug 3923812
Change-Id: I91005d16f678405f341c4fc620509f56af538e1c
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2839848
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Ashish Mhetre <amhetre@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
e3a44ab6e8
video: tegra: nvmap: Fix kmemleak issue
...
get_task_struct increment the ref count over task struct, and it will be
decremented as part of put_task_struct. task_struct won't be freed
unless it's refcount becomes 0. Hence the missing put_task_struct in
nvmap code was resulting into kmemleak. Fix it by add this missing call.
Also, mutex_unlock was missing in one of the return path, add it.
Bug 3901618
Change-Id: I630eac19e628a549179a8ddaad86ad4d2c9b9a53
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2837383
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Ashish Mhetre <amhetre@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
85f7def3a6
nvmap: Don't free pages while freeing subhandle
...
This patch fixes the following issues:
- When the handle associated with the sub-buffer is freed, the call to
the nvmap_page_pool_fill_lots is made, which would free the pages when
the refcount on the pages is > 1, even though the main handle is not
freed, hence add a check for sub-handle.
- In cpu unmap code, list_for_each_entry is used for iterating over the
vma list and in the same loop list_del is aldo being called, this can
lead to undefined behavior, instead use list_for_each_entry_safe which
is safe against removal of list entry.
- Mutex of sub-handle is not initialized, fix it by initializing it.
- Set error value when handle creation failed.
Bug 3494980
Change-Id: I0659d7f70b44814e87e3081702352e891d9191f7
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2824668
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Puneet Saxena <puneets@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
abb244025f
nvmap: Fix coherency issues while creating subhandle
...
Make sure that all handles, from which sub-buffer handle needs to be
created, have same cache coherency, are of type RW, not created from VA.
Set the cache coherency of the sub-buffer handle same as the cache
coherency of the main handles, so that explicit cache flush is not
needed during vma fault.
Bug 3494980
Change-Id: I878568e4cdc4529fb3d1a6682e38798769dad9c0
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2819129
Reviewed-by: Puneet Saxena <puneets@nvidia.com >
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
ec9ee786c4
nvmap: Add traces for big pages in page pool
...
There are no traces present for allocating big pages from page pool,
this is limiting the debug ability for some of the memory leak bugs.
Hence add traces for such operations.
Change-Id: I6cece3fd796c5c3e37f87647a1635274a654d727
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2820607
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
ad02c6afa5
nvmap: Use same nvmap client for namespaces in a process
...
Some of the libraries may be linked into different namespaces, but they
belong to same process. So each namespace can open the /dev/nvmap node
and call nvmap ioctls, instead of reusing the already opened /dev/nvmap
FD. Because of this, memory handles created by one namespace can't be
used by other namespaces, even though they belong to same process.
Fix this issue by following:
- When /dev/nvmap node is opened, check if there is already any nvmap
client with same pid, if yes use that client; otherwise, create new
nvmap client.
- Track the number of namespaces via count field.
- When /dev/nvmap node is closed, destroy the nvmap client only when
count reaches to 0.
Bug 3689604
Change-Id: I4c91db36b88e78b7526dd63b006e562c8f66c7ae
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2819915
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com >
Reviewed-by: Ivan Raul Guadarrama <iguadarrama@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ashish Mhetre
ac3205e61e
video: tegra: nvmap: Make NvMap load based on DT
...
Add MODULE_DEVICE_TABLE() for NvMap match table so that depmod
automatically loads the driver based upon the NvMap compatible
string.
Bug 3851361
Change-Id: I04fabae9787f5cc0f85239ae40f42cd5a5fec88e
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2809441
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
Reviewed-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
d5be3dd31c
nvmap: Fix type casting issue
...
CERT-C is reporting following issue:
- Casting entry->sci_ipc_id from unsigned long long to unsigned int
without checking its value may result in lost or misinterpreted data.
Fix this by changing the data type of sid to u64.
CID 587909
Bug 3745813
Change-Id: I899db1feff8b6f9b175f4a93cab068a3d7a0c88f
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2816557
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
4c2cec49e9
nvmap: Fix type casting issue
...
CERT-C is reporting following issue:
- Casting nvmap_dev->pool.count + nvmap_dev->pool.to_zero from unsigned
int to int without checking its value may result in lost or
misinterpreted data.
Fix this by changing the data type of total to unsigned long.
CID 456842
Bug 3745813
Change-Id: Idf949ae4cb8691b8ec701a35d478bcb7b517582c
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2816556
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
eeae4f63b9
nvmap: Fix type casting issue
...
CERT-C is reporting following issue:
- Casting dev->nr_carveouts from int to unsigned int without checking
its value may result in lost or misinterpreted data.
Fix this by changing data type of i to int.
CID 490652
Bug 3745813
Change-Id: I35a6837e7356c6b4f3dcd369bed2eac061f44e2e
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2816554
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-11 05:54:22 +00:00
Puneet Saxena
c4a88d6515
tegra: nvmap: dmabuf fd for range from list of handles
...
It returns dmabuf fd from list of nvmap handles
for a range between offset and size.
The range should fall under total size of all of the handles.
Range may lie between sub set of handles.
Bug 3494980
Change-Id: I5c688f832a7a3bb0b6e3713ec6462224bb6fbfc5
Signed-off-by: Puneet Saxena <puneets@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2789431
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-11 05:54:22 +00:00
Jon Hunter
f1e2cd8dea
video: tegra: nvmap: Remove unused code
...
The function __nvmap_kmap() is only supported for Linux kernels prior to
v5.4 and so we can remove the code in the function for kernel greater or
equal to Linux v6.0.
Bug 3767126
Change-Id: Ice2384ce28f268ce453236db36fc82d6781eb716
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2809529
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
9045984efb
nvmap: Remove use of __dma_flush_area
...
__dma_flush_area is defined in downstream, we need maintenance effort
when kernel version is upgraded. Instead, use arch_invalidate_pmem
function provided by the upstream.
Bug 3855165
Change-Id: Ie62935aba7f3c31e6e233816b3bff507197d3f86
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2804844
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
596156cc4b
nvmap: Register nvmap device towards end of probe
...
On TOT, in nvmap probe function, platform_set_drvdata is called after
misc register. So nvmap node is created and clients can open it even
before platform driver data is set. Because of which, the call to
dev_get_drvdata returns NULL and BUG_ON condition is hit. Move misc
register call towards end of the nvmap probe, so that /dev/nvmap is
exposed once all initilization is completed.
As misc register being moved to end of probe, the functions which are
called before misc register and which make use of dev_user field from
nvmap_device for calling dev_err/dev_info function will see the dev
field as NULL. Hence replace such calls with pr_err/pr_info.
Bug 3853486
Change-Id: Ifdd8443812a621aceada7739cf9b02fcf00568b4
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2803672
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
92f34279ba
nvmap: Keep cache flush at allocation time only
...
On TOT, in case of carveouts, nvmap performs cache flush operation
during carveout creation, buffer allocation and buffer release. Due to
cache flush for entire carveout at creation time, nvmap takes ~430 ms
for probe. This is affecting boot KPIs.
Fix this by performing cache flush only at buffer allocation time,
instead of carveout creation and buffer release. This is reducing nvmap
probe time to ~0.69 ms.
Bug 3821631
Change-Id: I54da7dd179f8d30b8b038daf3eceafb355b2e789
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2802353
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
Reviewed-by: Ashish Mhetre <amhetre@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Puneet Saxena
d1c06c1dce
tegra: nvmap: make sciipc_id as 64 bit
...
Make SciIpc_Id as 64 bit.
Bug 3715617
Change-Id: If0f6db9d42b527554b77c4768d0f42d276c6a97c
Signed-off-by: Puneet Saxena <puneets@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2783704
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Puneet Saxena
a3201ec3fe
tegra: nvmap: add _dma_*area prototype
...
__dma_flush_area and __dma_map_area
function's protype is removed from "cacheflush.h"
header file. Since these functions are defined locally
in NvMap, define prototype in nvmap_priv.h, private header.
Bug 3767126
Change-Id: Ibf21712fe9738e4b3d7c286ac6acfea550d9d8d7
Signed-off-by: Puneet Saxena <puneets@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2779048
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-11 05:54:22 +00:00
Puneet Saxena
a28927a2c2
tegra: nvmap: fix build for kernel 6.0
...
Fix build for kernel 6.0 onwards.
"register_shrinker" expects shrinker name,
hence pass the name string.
PAGE_KERNEL's Page Protection value needs to be set.
Bug 3767126
Change-Id: I71a54891999d0554eaccac6f37d0f1d9c2a65ace
Signed-off-by: Puneet Saxena <puneets@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2776872
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Ketan Patil
a2338fa761
video: tegra: nvmap: Fix type casting issue
...
CERT-C is reporting following issue:
- Casting (size + 4095UL & 0xfffffffffffff000UL) >> 12 from unsigned
long to unsigned int without checking its value may result in lost or
misinterpreted data.
Fix this by adding overflow condition.
CID 490676
Bug 3745813
Change-Id: I39b741b6150c12dcdd3de7c70bbcf89f8e692a23
Signed-off-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2778588
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Puneet Saxena
8ceb954814
tegra: nvmap: replace _dma_* and __iomap
...
__dma_flush_area, __dma_map_area and __iomap
functions are no more supported from kernel version
6.0 onwards.
Replace them by equivalent exported function in K-6.0 and
onwards.
Bug 3767126
Change-Id: I2b8d81271ed3696ae3d9306a311fe74622c2b611
Signed-off-by: Puneet Saxena <puneets@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2770928
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
Reviewed-by: Ketan Patil <ketanp@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-11 05:54:22 +00:00
Laxman Dewangan
4cf8c80669
nvmap: Copy drivers and headers from kernel/nvidia
...
Copy the driver and header sources of the nvmap to
kernel/nvidia-oot from kernel/nvidia as part of
removing the dependency of kernel/nvidia for OOT drivers.
The latest (few) git history of the files copied are
b7a355916 video: tegra: nvmap: Fix type casting issue
2128c5433 video: tegra: nvmap: Fix type casting issues
0cd082559 video: tegra: nvmap: Change peer vm id data type
4bd7ece67 tegra: nvmap: mark ivm carveout pages occupied
e86f3630a video: tegra: nvmap: Fix type casting issue
c43a23e58 video: tegra: nvmap: Fix type casting issue
ca1dda22e video: tegra: nvmap: Fix type casting issue
1f567abfe video: tegra: nvmap: Fix wrap up condition
29db4d31c video: tegra: nvmap: Remove unnecessary debugfs
fe72f1413 video: tegra: nvmap: Remove get_drv_data() call
3b0fc79e7 video: tegra: nvmap: Fix coverity defect
3cc0ce41b video: tegra: nvmap: Fix coverity defect
6da39e966 video: tegra: nvmap: Fix WARN_ON condition
a16351ff1 video: tegra: nvmap: Remove dead code
9993f2d2d video: tegra: nvmap: Update print level
6066a2077 video: tegra: nvmap: Remove nvmap_debug_lru_allocations_show
3cdf2b7ba video: tegra: nvmap: Add kernel version check
716ded4fc video: tegra: nvmap: Initialize the return value
9b6c1b4ab video: tegra: nvmap: Correct debugfs code
33e70118b video: tegra: nvmap: Fix Cert-C error handling bug
7b960ed79 video: tegra: nvmap: Fix Cert-C error handling bug
945dc1471 video: tegra: nvmap: Fix Cert-C error handling bug
31e572de2 video: tegra: nvmap: Fix Cert-C error handling bug
1f25cbf68 video: tegra: nvmap: Fix Cert-C error handling bug
fa5428107 video: tegra: nvmap: Remove nvmap_handle_get_from_fd
df73f2208 video: tegra: nvmap: Protect kmap/kunmap code
9842e7c6a video: tegra: nvmap: Remove t19x dma_buf map/unmap
06dff1a8d video: tegra: nvmap: Remove unnecessary export symbols
6f097f86b video: tegra: nvmap: Fix Cert-C error handling bug
f14171608 video: tegra: nvmap: load nvmap for T23x compatible platforms
266812814 video: tegra: nvmap: Get rid of NVMAP_CONFIG_KSTABLE_KERNEL
1b38c0887 nvmap: Don't use NV_BUILD_KERNEL_OPTIONS
0ab8dc032 video: tegra: nvmap: Reintroduce NVMAP_CONFIG_VPR_RESIZE
cc8db9797 driver: platform: tegra: Separate out vpr code
28955d95c video/tegra: nvmap: Enable build as OOT module
876d1fbb8 video: tegra: nvmap: Remove IS_ENABLED check
5ea30867a nvmap: Add support to build as module from OOT kernel
a71ad020e video: tegra: nvmap: Protect tegra_vpr args under config
e70061cc1 video: tegra: nvmap: Do not export cvnas_dev
d2a26ff36 video: tegra: nvmap: Include missing header
692e4f682 video: tegra: nvmap: Update page coloring algo
2b9dbb911 video: tegra: nvmap: Check for return value
de8de12b6 video: tegra: nvmap: Enable legacy init support
65d478158 video: tegra: nvmap: Remove dependency of cvnas
38bdd6f05 video: tegra: nvmap: Make nvmap as loadable module
9668e410b video: tegra: nvmap: Enable handle as ID
11c6cbd23 tegra: nvmap: Fix build for Linux v5.18
fbd95c3ab linux: nvmap: change ivm_handle to u32
eb1e2c302 video: tegra: nvmap: Fix NVSCIIPC support
022689b29 tegra: nvmap: return error if handle as ID enabled but id is fd
19e5106ed video: tegra: nvmap: Don't treat ivm as reserved mem carveouts
Bug 4038415
Change-Id: I7108aec3b8532fe79c9423c2835744b1213719e8
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com >
2023-04-11 05:47:21 +00:00
Laxman Dewangan
013ae1a966
hwmon: Remove generic pwm tachometer
...
Remove HW monitor based generic PWM tachometer
driver as it is not required.
Along with driver, remove DT binding document and
dkms entry.
Bug 4061216
Change-Id: I28e1bf9d5223ad7f56332d90501ea7ddb55cd366
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2883862
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-07 00:12:26 -07:00
Gerrit Code Review
44e857807a
Merge "podgov: Merge podgov driver from kernel/nvidia to kernel/nvidia-oot" into dev-main
2023-04-07 00:11:31 -07:00
Manish Bhardwaj
364ae3ed23
mttcan: wait to flush CAN messages
...
Using this patch we are waiting for CAN messages
to get flushed before going to suspend during
sc7 cycle
JIRA ESLC-7354
Change-Id: Ie368fd9e6b119df71646bf5fddbd89ae2f7c5697
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881872
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com >
Reviewed-by: Sandeep Trasi <strasi@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-06 10:16:08 -07:00
Gerrit Code Review
96d1f511c7
Merge "tsec: Merge the tsec driver from kernel/nvidia to kernel/nvidia-oot" into dev-main
2023-04-06 00:43:21 -07:00
Ankur Pawar
2a2ce69017
media: add imx318 sensor driver
...
Add imx318 camera sensor driver code,
mode tables and makefile changes.
Bug 3583587
Change-Id: I9854909823b67856edc50c2364e519e853134178
Signed-off-by: Ankur Pawar <ankurp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2870729
Reviewed-by: Semi Malinen <smalinen@nvidia.com >
Reviewed-by: Praveen AC <pac@nvidia.com >
Reviewed-by: Shubham Chandra <shubhamc@nvidia.com >
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-06 00:42:04 -07:00
Ankur Pawar
4ae4b2d2b2
camera: oot: use reg number as channel id
...
When parsing sensor DT, use vi input endpoint reg
number as chan id. And allocate as many tegra_mc_vi
objects as vi input endpoints.
Remove port index assignment when creating graph.
This can cause issue when csi port index is more
than MAX_NVCSI_STREAM_IDS(6).
Bug 3583587
Change-Id: Ida0b83797678dd7ecea2732d715dce0f1d3222ad
Signed-off-by: Ankur Pawar <ankurp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2874225
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Semi Malinen <smalinen@nvidia.com >
Reviewed-by: Frank Chen <frankc@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-05 23:02:44 -07:00
Gerrit Code Review
0260612296
Merge "drm: Integrate drm drivers from kernel/nvidia to kernel/nvidia-oot" into dev-main
2023-04-05 06:05:18 -07:00
Jon Hunter
06b833d570
block: virt-storage: tegra: Fix build for Linux v5.14
...
For Linux v5.14, the function device_add_disk() has a void return type
and compilation now fails with ...
nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c:1162:8:
error: invalid use of void expression
1162 | (void)!device_add_disk(vblkdev->device, vblkdev->gd, NULL);
| ^
Fix the build for kernels prior to v5.15 by not attempting to access
the return value. Finally, for kernels v5.15 and newer, do not ignore
the return value and report an error if device_add_disk() fails.
Bug 4052299
Change-Id: I975f30bc67661eacf74634b5edb70e5ad5fc1a8d
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881453
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-05 06:05:05 -07:00
Sushil Kumar Singh
a986d91aa3
nvethernet: Kernel panic when set jumbo frame
...
Issue:
Macsec data is NULL for Xavier platforms as no DT macsec
entry is available. This NULL pointer is accessed when
changing MTU, causing kernel panic.
[ 110.247070] Unable to handle kernel NULL pointer dereference at virtual address 000000000000015c
[ 110.247292] Mem abort info:
[ 110.247355] ESR = 0x96000004
[ 110.247423] EC = 0x25: DABT (current EL), IL = 32 bits
[ 110.247534] SET = 0, FnV = 0
[ 110.247616] EA = 0, S1PTW = 0
[ 110.247682] Data abort info:
[ 110.247743] ISV = 0, ISS = 0x00000004
[ 110.247823] CM = 0, WnR = 0
[ 110.247889] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010a201000
[ 110.248031] [000000000000015c] pgd=0000000000000000, p4d=0000000000000000
[ 110.248176] Internal error: Oops: 96000004 [#1 ] PREEMPT SMP
[ 110.248295] Modules linked in:
[ 110.248379] CPU: 2 PID: 1423 Comm: ifconfig Not tainted 5.10.120-tegra #11
[ 110.248525] Hardware name: Unknown Jetson-AGX/Jetson-AGX, BIOS 0.0-ff9214ce 12/20/2022
[ 110.248690] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[ 110.249074] pc : ether_change_mtu+0x144/0x220
[ 110.249381] lr : ether_change_mtu+0x140/0x220
[ 110.250528] sp : ffff800014b1b470
[ 110.253853] x29: ffff800014b1b470 x28: ffff0318c9632d00
[ 110.259366] x27: ffffb376aafb0978 x26: ffffb376aafb0948
[ 110.264636] x25: ffffb376ab3b3aa0 x24: ffffb376abf7edd8
[ 110.269870] x23: ffff0318c9632d00 x22: ffffb376abeb97d8
[ 110.275569] x21: ffff0318c5dc0940 x20: 0000000000002328
[ 110.280806] x19: ffff0318c5dc0000 x18: 0000000000000010
[ 110.286401] x17: 0000000000000000 x16: ffffb376aa327910
[ 110.291581] x15: ffff0318c9633270 x14: ffffffffffffffff
[ 110.297166] x13: ffff800094b1b167 x12: ffff800014b1b16f
[ 110.302500] x11: 0000000000000020 x10: ffffb376abbb0aa0
[ 110.307770] x9 : ffffb376a9ccba7c x8 : 0000000000000001
[ 110.313439] x7 : 0000000000017fe8 x6 : c0000000ffffefff
[ 110.318605] x5 : ffff031c3fd60958 x4 : 0000000000000000
[ 110.324305] x3 : 0000000000000001 x2 : 0000000000000000
[ 110.329369] x1 : 0000000000000000 x0 : 0000000000000000
[ 110.334706] Call trace:
[ 110.337416] ether_change_mtu+0x144/0x220
[ 110.341187] dev_set_mtu_ext+0xe8/0x1d0
[ 110.345121] dev_set_mtu+0x44/0xb0
[ 110.348616] dev_ifsioc+0x254/0x4d0
[ 110.352115] dev_ioctl+0x128/0x380
[ 110.355270] sock_do_ioctl+0xd4/0x240
[ 110.359027] sock_ioctl+0x27c/0x510
[ 110.362530] __arm64_sys_ioctl+0xb8/0x100
[ 110.366731] el0_svc_common.constprop.0+0x80/0x1f0
[ 110.371540] do_el0_svc+0x2c/0x90
[ 110.374522] el0_svc+0x20/0x40
[ 110.377943] el0_sync_handler+0xc0/0xd0
[ 110.381689] el0_sync+0x184/0x1c0
[ 110.384931] Code: b900e714 5281ef42 941a98a4 f94312a0 (b9415c00)
[ 110.390801] ---[ end trace cbec9c44e214f14b ]---
[ 110.395602] Kernel panic - not syncing: Oops: Fatal exception
[ 110.400962] SMP: stopping secondary CPUs
[ 110.404718] Kernel Offset: 0x337699bb0000 from 0xffff800010000000
[ 110.410752] PHYS_OFFSET: 0xfffffce840000000
[ 110.414945] CPU features: 0x18240002,03802a30
[ 110.419490] Memory Limit: none
[ 110.422645] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---
Fix:
Add NULL check for macsec data. Macsec is set to NULL if it is not
supported in DT from macsec probe.
Bug 3952134
Change-Id: I0b292e39f3ec8f8fed0fb3fef5cd9f52f5c0e2a9
Signed-off-by: Sushil Kumar Singh <sushilkumars@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2846676
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2878453
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-05 06:01:49 -07:00
Manish Bhardwaj
ac315cf5ad
nvvse: Enable Multipart/Singlepart UserNonce
...
crypto: hvvse: UserNonce enable for CBC/CTR
- Using SE server for CBC mode
- Updating counter for CTR mode
- Copying IV to userspace from kernelspace only for non userNonce
Jira ESSS-467
crypto: Support Multipart CBC/CTR
- Updated update_counter function
- Added support for mulitpart CBC/CTR
Jira ESSS-525
Signed-off-by: Advaya Andhare <aandhare@nvidia.com >
Change-Id: I3a85f510d28a6bd26b4b6b5b216c2659ec4052c6
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2874482
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-05 05:59:35 -07:00
Laxman Dewangan
7f8cad749d
gpu: nvgpu: Remove dummy Makefile of nvgpu
...
nvgpu is getting build from kernel/nvgpu and it is
not required to copy in nvidia-oot.
Remove the dummy makefile which was added as placeholder
for the nvgpu makefile.
Bug 4038415
Change-Id: I3fa6945a94c0f2233b55ec19d21ec4a92f715fde
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2882139
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 21:58:16 -07:00
Revanth Kumar Uppala
80336d6c96
nvethernet: Fix compilation warnings
...
1.There is a switch-case where one case is falling to the
next case. This is creating the compilation warning.
Make this fall through as intentional by adding
compiler attribute as "fallthrough".
2.Remove redefinition of macro MII_ADDR_C45
Bug 4055275
Change-Id: I99193b225e97c414588bb306cb48e472ae079f9f
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2882027
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-04 21:57:46 -07:00
Gerrit Code Review
e257be9884
Merge "tegra_gr_comm: Integrate drivers from kernel/nvidia" into dev-main
2023-04-04 21:57:24 -07:00
Mobile Promotions
f32cb60c46
Merge branch 'promotion_rebase' into promotion_build
2023-04-04 21:57:04 -07:00
Gerrit Code Review
197d2ed9eb
Merge "host1x-nvhost: Integrate host1x-nvhost drivers from kernel/nvidia" into dev-main
2023-04-04 21:56:39 -07:00
Gerrit Code Review
730764c558
Merge "host1x: Integrate host1x drivers from kernel/nvidia to kernel/nvidia-oot" into dev-main
2023-04-04 21:56:33 -07:00
Laxman Dewangan
cf15a1f3df
i2c: buses: nvvrs11: Copy driver from kernel/nvidia
...
Make the copy of drivers of i2c/busses/i2c-nvvrs11
from kernel/nvidia to kernel/nvidia-oot.
This will remove the dependency of the OOT drivers
with kernel/nvidia-oot repo.
Bug 4038415
Change-Id: I3353f2744915763c3e5f14164746fc540cd585dc
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881573
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-04 21:56:16 -07:00
Nagarjuna Kristam
0221df9441
PCI: edma: Fix Coverity Issues
...
Perform ULL typecast during total size calculation for numerics.
Bug 3956683
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com >
Change-Id: Id9671dc37ff8747a6390063cc92a038e355990cc
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881281
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 21:54:45 -07:00
Mohan Thadikamalla
01d8319aae
nvethernet: Add Linux safety support
...
Issue:
Observed compilation issues
on the nvethernet driver
for DRIVE Linux safety builds.
Fix:
Add OSI_STRIPPED_LIB support
on nvethernet driver.
Bug 3939603
Change-Id: Id4213c1cf33dc0e925df3e627072b727ae44fa71
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2842470
(cherry picked from commit ece0eb57a89396ea8bdc412beeaa7dfabbda49b1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2879701
Tested-by: Deepak Nibade <dnibade@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 21:49:37 -07:00
Akhilesh Reddy Khumbum
a2163680aa
nvidia-oot: Add aon kmd module
...
- This patch includes AON-KMD module as part of OOT kernel.
Bug 3583580
Change-Id: I531731136189d76ebb4d3f2880e8f46913f390f4
Signed-off-by: Akhilesh Khumbum <akhumbum@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2870990
Reviewed-by: Robert Collins <rcollins@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 21:43:50 -07:00
Manikanta Maddireddy
6afc085f93
PCI: Create a empty Makefile as a placeholder
...
Create a empty Makefile as a placeholder to copy priviate SoC PCIe driver.
Bug 4000789
Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com >
Change-Id: I38a900eacb8ada86b387e01bb4bfe7f40d08043b
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2870780
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 21:43:45 -07:00
Mayuresh Kulkarni
6e2882db16
tsec: use correct struct in tsec_of_match
...
bug 3817626
Change-Id: I98d1e5b63a68abc25dee1fcff49c4b090d58b0d1
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2874293
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Nikesh Oswal <noswal@nvidia.com >
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 05:28:43 +00:00
Sahil Mukund Patki
6df40510f9
video: tegra: tsec: fix static analysis issues
...
Remove address space errors by casting properly. Also make variables
static if used within the same translation unit.
Bug 3528414
Change-Id: Id9d566f5b5c9594c69a1483d2945712e6c9f665c
Signed-off-by: Sahil Mukund Patki <spatki@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2835170
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-04 05:28:43 +00:00
Bharat Nihalani
78db0d7c41
tsec: Conditionally turn off clock in suspend
...
Problem:
=======
In current implementation of tsec_poweroff, tsec clock is getting
turned off unconditionally.
During suspend-resume operation, there is an issue in MB1 as
explained in bug 3796711 (comment 16). Due to this, when
tsec_poweroff function is called for second suspend operation,
tsec clock is turned off even when the power state variable
"pdata->power_on" is not set to true or 1.
This causes the following warning from clock driver highlighting
that tsec clock is already disabled.
<snip>
[ 631.507596] tsec already disabled
[ 631.507632] WARNING: CPU: 2 PID: 10535 at drivers/clk/clk.c:1216 clk_core_disable+0x2b4/0x340
[ 631.507634] Modules linked in: ... <skipped these prints>
[ 631.507714] CPU: 2 PID: 10535 Comm: systemd-sleep Tainted: G OE 5.10.120-tegra #1
[ 631.507716] Hardware name: Unknown t234-Orin-SLT-e2421-1099-e2425-1099/t234-Orin-SLT-e2421-1099-e2425-1099, BIOS buildbrain-gcid-32270834 01/05/2023
[ 631.507718] pstate: 60400089 (nZCv daIf +PAN -UAO -TCO BTYPE=--)
[ 631.507720] pc : clk_core_disable+0x2b4/0x340
[ 631.507722] lr : clk_core_disable+0x2b4/0x340
[ 631.507723] sp : ffff80001770b8e0
[ 631.507724] x29: ffff80001770b8e0 x28: ffff000081f0d140
[ 631.507727] x27: ffff000082345930 x26: ffff8000126b1ee0
[ 631.507729] x25: ffff8000126b1f70 x24: ffff800010b75630
[ 631.507731] x23: 0000000000000000 x22: ffff8000125f23f8
[ 631.507734] x21: ffff8000125f2638 x20: ffff0000869aca00
[ 631.507736] x19: ffff0000869aca00 x18: 0000000000000000
[ 631.507738] x17: 0000000000000000 x16: ffff800011008460
[ 631.507740] x15: 0000000000000000 x14: ffff000080990000
[ 631.507742] x13: ffff80079c8dc000 x12: 0000000000000028
[ 631.507745] x11: 0000000000000003 x10: 0101010101010101
[ 631.507747] x9 : 00000000fffffffe x8 : ffff8000128c2dd8
[ 631.507749] x7 : 0000000000000004 x6 : ffff8000128d1e4d
[ 631.507751] x5 : ffff0007ae6d8a28 x4 : 0000000100011117
[ 631.507754] x3 : 0000000000000001 x2 : ffff0007ae6d8a30
[ 631.507756] x1 : 0000000000000000 x0 : 0000000000000000
[ 631.507758] Call trace:
[ 631.507760] clk_core_disable+0x2b4/0x340
[ 631.507763] clk_core_disable_lock+0x2c/0x50
[ 631.507765] clk_disable+0x30/0x50
[ 631.507769] tsec_disable_clk+0x4c/0x80
[ 631.507771] tsec_poweroff+0x3c/0x80
[ 631.507772] tsec_module_suspend+0x24/0x40
[ 631.507776] platform_pm_suspend+0x40/0xb0
[ 631.507780] dpm_run_callback+0x60/0x260
[ 631.507783] __device_suspend+0x130/0x560
[ 631.507785] dpm_suspend+0x158/0x390
[ 631.507787] dpm_suspend_start+0xc0/0xf0
[ 631.507794] suspend_devices_and_enter+0x100/0x9f0
[ 631.507796] pm_suspend+0x21c/0x4a0
[ 631.507798] state_store+0xa0/0xd0
[ 631.507802] kobj_attr_store+0x14/0x50
[ 631.507806] sysfs_kf_write+0x60/0x90
[ 631.507808] kernfs_fop_write_iter+0x134/0x1e0
[ 631.507811] new_sync_write+0xfc/0x1d0
[ 631.507813] vfs_write+0x26c/0x3b0
[ 631.507815] ksys_write+0x7c/0x110
[ 631.507817] __arm64_sys_write+0x28/0x40
</snip>
Solution:
========
There is a check present in tsec_poweroff function to conditionally
call tsec_prepare_poweroff only if TSEC is powered on. Use the
same check to conditionally call tsec_disable_clk
Bug 3930482
Bug 3893914
Change-Id: Id1f6a8e42f43db4dd91ef4f6ae39166c13f1ba8f
Signed-off-by: Bharat Nihalani <bnihalani@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2838694
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Nikesh Oswal <noswal@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 05:28:43 +00:00
Sahil Mukund Patki
e15295fcea
video: tegra: tsec: Coverity fix
...
Fix Coverity issue CID 10164610
Initialize values to NULL to avoid uninitialized pointer error.
Bug 3461002
Change-Id: Ia1205b09f418c3aa3b9b4e457b944cb71d8c927a
Signed-off-by: Sahil Mukund Patki <spatki@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2836048
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-04 05:28:43 +00:00
Nikesh Oswal
f76b77ab85
video: tsec: Add support to alloc GSC memory
...
For larger commands that do not fit into the
CMD Queue we pass additional parameters and
buffer by using the GSC. DisplayRM uses the
GSC allocation APIs to reserve memory for
such large command parameters.
Bug 3920791
Change-Id: I7a2a9821d32e1a89726cf3fb53cd5647eccbadd7
Signed-off-by: Nikesh Oswal <noswal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2834319
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-04 05:28:43 +00:00