Commit Graph

22 Commits

Author SHA1 Message Date
Nikesh Oswal
83576bbd5d video: tegra: tsec: Launch threaded handler only for SWGEN0
Launch threaded handler to drain TSEC messages only for
SWGEN0 interrupt.

If SWGEN1 interrupt is received to pull out print buffer
then ignore it and mask it out so that it is not received
in future

Bug 3897473

Change-Id: I16e2d442ba77141286171f69114ecf309d411ec7
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2822539
Tested-by: Sahil Patki <spatki@nvidia.com>
Reviewed-by: Sahil Patki <spatki@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@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-04 05:28:43 +00:00
Nikesh Oswal
be91d1bd18 video: tegra: tsec: Remove TSEC_RM_ON_DCE
TSEC IPC GSC-CO Permissions have been modified to allow
access to CCPLEX as well, so we no longer need the flag
TSEC_RM_ON_DCE and now CCPLEX and DCE both can access
the GSC-CO memory for IPC with TSEC

Bug 3817626

Change-Id: Ifb60d508327a5939efb64b27e200933cd15e680e
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2818915
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
096b94b3db video: tegra: tsec: add api to clear init callback
DisplayRm when it unloads will call an API on the tsec
driver to clear the previously registered init message
callback

Bug 3817626

Change-Id: I7d5bd16b3d1040f11d1a85bc2439176002c5a57b
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2818914
Reviewed-by: Sahil Patki <spatki@nvidia.com>
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: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
5889401827 drivers: tsec: use already exported cache API
Earlier we modified the kernel to expose a low level
cache API namely dcache_clean_inval_poc, instead we
can use the already exported arch_invalidate_pmem API
and for ARM invlidating the cache is same as clean
and invalidate

Bug 3817626

Change-Id: Ideb29f2818aece98753aaa40242eaf1246c928cb
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2801851
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Sahil Mukund Patki
4de7c8f6d0 video: tegra: Add T239 support in new TSEC driver
This patch adds T239 support in new TSEC driver and removes the
support from the old driver.

Bug 3817626

Change-Id: I705e0bac25e6a905588145aef4a4cc98d0a81651
Signed-off-by: Sahil Mukund Patki <spatki@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2800494
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Jon Hunter
7f6f9f5ff5 video: tegra: tsec: Fix build for Linux v5.14
When building the OOT driver for Linux v5.14 the build fails because the
TSEC driver is looking for the downstream tegra_mc.h header file. Fix
this by ensuring we use the upstream header starting with Linux v5.14.

Bug 3817626

Change-Id: Ifecad497349d357eafc6356beb1dee1e0f923ae1
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2798773
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
31d2e5fff7 video: tegra: tsec: changes to compile for k5.15
This patch does changes needed in cache flush and
carevout related memory apis which are different
between k5.10 and k5.15.

Also Makefile is changed so that driver gets built
as module on k5.15 and as part of kernel image for
the older k5.10 kernel

Bug 3817626

Change-Id: I4050d41efc61353c34d32d347917e813473ba113
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2793274
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
d1dc679881 video: tegra: add tsec driver
This driver is inspired from the existing tsec driver
under host1x but its highly simplified to use only
the stuff that is needed and is completely decoupled
from the host1x driver

Bug: 3817626

Change-Id: I8fff7ab539cd5393ea13896c3b056472ca0e0a72
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2785908
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Laxman Dewangan
02dd70d7b0 tsec: Remove makefile to prepare driver to integrate from kernel/nvidia
Remove Makefile from drivers/video/tegra/tsec to integrate
the drivers from kernel/nvidia. This will avoid conflict.

Bug 4038415

Change-Id: I43352ffe7e677c4388e9ec6799920d0c31fe247a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-04-04 05:27:11 +00:00
Frank Chen
be31fa8edb nvidia-oot: Fix sparse errors for camera
Fix below sparse errors:
1. Unused variable.
2. Defined but not used function.
3. Symbol was not declared, should set it to static.
4. No newline at end of file.

Bug 3954363

Change-Id: I3395b66f9acfbf5206713e87063d0e70ad28b4d0
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2878138
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-30 10:32:18 -07:00
Richard Zhao
91898cedfe add tegra_gr_comm to oot build
source files and header will be copied from nvidia/ repo.

Jira GVSCI-16046

Change-Id: I99c0deca1c206a531cee104b6905952f8753b0af
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2866159
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-by: Aparna Das <aparnad@nvidia.com>
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-08 18:44:46 -08:00
Ankur Pawar
5957f061b3 Camera: OOT: misc code fixes for drivers
1. Sensor deep power down and mclk enable
   and disable code.
2. Assign pads member in v4l2_subdev_state
   struct passed to v4l2_subdev_call.
3. emc and iso.emc clock are not available
   in K5.15. Disable clock get function.

Bug 3898807

Change-Id: If9e24ccd837af00df250571e6fc4c907886faf93
Signed-off-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2835934
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-02-15 23:54:02 -08:00
Bharat Nihalani
354ef0dbe0 drivers: Use runtime debugfs check
When kernel command line debugfs=off is specified instead of
disabling CONFIG_DEBUG_FS in defconfig to disable Debug-FS,
debugfs functions like debugfs_create_dir will fail.

Use function debugfs_initialized() to check if debugfs
functionality is enabled before calling any debugfs functions.

This allows us to by-pass debugfs initialization if debugfs
is not enabled.

Bug 3752450

Change-Id: I17390c2d9928638d940454c2ea1b3abf00ed4264
Signed-off-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2855128
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-02-10 06:17:56 -08:00
Mihir Pradeep Garude
2c0f3f9855 nvidia-oot: Add oot support for TI seralizer
This change adds oot supports for TI seralizer driver.

JIRA TDS-11357

Change-Id: I0eb4fa4be82d0e0579dc7acd7f237533b3daf8a6
Signed-off-by: Mihir Pradeep Garude <mgarude@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2817884
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-12-17 18:47:17 -08:00
Frank Chen
5f087cb0ed video: host: Build nvhost camera as OOT modules
Port the nvhost driver below from /kernel/nvidia to
/kernel/nvidia-oot as OOT modules and switching from
using downstream nvhost driver to upstream host1x
driver:
- capture support driver
- nvcsi driver
- vi driver
- isp driver

Change-Id: I31814f202816230029bd8454b8ff58530a96f436
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2797339
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-by: Shiva Dubey <sdubey@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-12-13 06:15:46 -08:00
Frank Chen
92ac7bc35a media: camera: Build tegra-camera as OOT module
Port camera drivers below from /kenrel/nvidia to
/kernel/nvidia-oot as OOT modules:
- Fusa-capture driver
- Tegra V4L2 framework driver
- vi/csi driver
- tegra camera platform driver

Change-Id: I390af27096425bb11e0934201dd1a90f001bb3fa
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2780698
Reviewed-by: FNU Raunak <fraunak@nvidia.com>
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-by: Shiva Dubey <sdubey@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-12-13 06:15:42 -08:00
Mihir Pradeep Garude
a60be47521 nvidia-oot: Add oot support for maxim seralizer
This change adds oot supports for maxim seralizer driver.

JIRA TDS-11357

Change-Id: I630b8fc8c30fa1a8050668530f480940493c48bf
Signed-off-by: Mihir Pradeep Garude <mgarude@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2812152
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-30 10:42:20 -08:00
Nikesh Oswal
6d2a57d57b nvidia-oot: add tsec driver as oot module
1. Add tsec device entry in the DT overlay file
2. Copy over the existing tsec driver source code
   and compile it when building with oot kernel
3. Add a dummy tsec folder with an empty Makefile
   which conveys that common driver source is used
   from kernel/nvidia/drivers/video/tegra/tsec

Bug 3817626

Change-Id: I7b3064fc08bf7507b7660985564bc6bc8eba86eb
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2793265
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-26 12:08:52 -07:00
Laxman Dewangan
6ccce37d83 video/tegra: Build pva as OOT module
Build PVA as OOT module. Add necessary files for PVA module
to copy to the destination folder for build.

Bug 3674466

Change-Id: Id7a327596fcea15ceb4e69f71ac707143b80a70d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2726250
Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-06-16 15:54:20 -07:00
Laxman Dewangan
bde39f44e5 nvdla: Copy source file from kernel/nvidia to build nvdla module
Copy the sources of nvdla module from kernel/nvidia to
kernel/nvidia-oot to build nvdla as OOT module.

Files get copied at build time.

Bug 3583604

Change-Id: Ieb7169ada0f18e42cdb0883fdef92bba12e161d2
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2715741
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-05-25 05:01:51 -07:00
Laxman Dewangan
b193d11dae nvmap: Copy source file from kernel/nvidia to build nvmap module
Copy the sources of nvmap module from kernel/nvidia to
kernel/nvidia-oot to build nvmap as OOT module.

Files get copied at build time.

Bug 3583631

Change-Id: I97668e37d14b2dbfcda97a21b48508d0791f870f
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2715732
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-05-24 04:49:56 -07:00
Laxman Dewangan
4edf906c26 nvmap: Add empty Makefiles for enabling nvmap build
Add empty makefile and its path for building nvmap.

The source code and makefile with proper entries are
copied from the kernel/nvidia to out folder during build.

This will help to build the module for OOT from the source
code available in the kernel/nvidia which supports multiple
versions of kernel and avoid duplication of code.

Bug 3583631

Change-Id: I4ded3c1e49fc60e58d205a0b5e646e7bb616d8c8
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2712957
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-05-16 17:47:29 -07:00