The resume functionality of maxim gmsl dp serializer
driver calls init routine. Function incorrectly treats
register value as return value and shows error message
in logs. Removing return value check from register read
during init fixes this issue.
bug 3955858
Change-Id: Ibe2058a49827bdd802ea4b5f24be986c911450e6
Signed-off-by: prafulls <prafulls@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2851087
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This change adds GMSL3 support to maxim dp serializer
driver. The property is set in device tree which is if true,
then PAM4 mode is enabled and 12 Gbps link rate is set.
GMSL3 also needs to have FEC enabled. This change also
adds that support.
Device tree need to have "enable-gmsl3" property to be set
to get GMSL3 enabled.
When GMSL3 is enabled, it will enable GMSL-FEC by default.
GMSL-FEC can only be enabled by setting propery "enable-gmsl-fec".
JIRA TDS-10659
Signed-off-by: Prafull Suryawanshi <prafulls@nvidia.com>
Change-Id: I1757f71babbc5135f0ddf3d2a501de721e84da6d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2831963
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Shu Zhong <shuz@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Upstream Linux commit ed5c2f5fd10d ("i2c: Make remove callback return
void") in Linux v6.1, updates the i2c remove callback to prototye to
return void instead of int. This is causes the Maxim DP Serialize driver
build to fail for Linux v6.1. Update this driver to fix the build for
Linux v6.1.
Bug 3820317
Bug 3835208
Change-Id: I61f4f68e67a4adf9f1744d32f7686ea962876c15
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2820718
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This change removes worker thread from serializer driver
which waits on both links to lock. If both links are not set
via DTS entry then it does not proceed further which causes
no video output.
As it is possible that one link can be connected to deserializer,
this does not require the worker to wait on link locks. So removing
worker thread and enabling video immediately fixes this issue.
bug 3727875
Change-Id: Ie427103a7d455201a4f783d690c6250b38a9113c
Signed-off-by: Prafull Suryawanshi <prafulls@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2775207
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: Shu Zhong <shuz@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
When ruining a few hundred loops of link training between the SOC
and the serializer, we are seeing unexpected HPD_IRQ being triggered
by the MAX96745/96851 serializers due to "Branch sink count change"
event. Till we figure out why this is happening, disable this
interrupt source.
Bug 3676822
Change-Id: Id56ff7d324b9a51f5468afb2d74df7856040056d
Signed-off-by: Yogish Kulkarni <yogishk@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2758859
Reviewed-by: Shu Zhong <shuz@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: svc_kernel_abi <svc_kernel_abi@nvidia.com>
GVS: Gerrit_Virtual_Submit
This change enables external video CRC check for
Maxim DP Serializer.
This change -
1. Enable video line CRC functionality by setting specific register bit.
2. Add interrupt handler check for remote CRC check failure.
3. Reverse GPIO tunnel and remote error check is already set.
4. If there are CRC error across GMSL link then dmesg spew will indicate it.
Verification -
1. Play some GFX application and view on monitor.
2. At DES side, using GUI, For register INTR8, set bit ERR_TX_EN to 1.
3. Clear exiting dmesg using "dmesg --clear"
4. On SER, using i2ccmd tool, Set bit LINE_CRC_EN to 0 at register 0x100.
5. Confirm on dmesg for error message like - "Remote deserializer error detected"
bug 3463178
Signed-off-by: prafulls <prafulls@nvidia.com>
Change-Id: Ieba2b19b7ce1a71173f6d34e61b1607f237cb1a5
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2753202
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: Shu Zhong <shuz@nvidia.com>
GVS: Gerrit_Virtual_Submit
This change enables internal video CRC check for
Maxim DP Serializer.
1. This sets the bit to enable CRC functionality
and then add handlers for ERRB CRC errors.
2. Reading register clears the error.
3. Error can be injected using i2c tool to write
error inject bit in register.
Below is flow to verify CRC functionality
1. Run GFX application like bubble
2. Read VTX41 register and confirm VID_ASIL_CRC_ERR bit is not set
3. Inject error by setting bit VID_ASIL_INJ_ERR.
4. Verify dmesg errors.
bug 3463178
Change-Id: I25c07413eb81bb4b40f35e15b53a4102ec68fa9e
Signed-off-by: prafulls <prafulls@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2751057
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Shu Zhong <shuz@nvidia.com>
GVS: Gerrit_Virtual_Submit
Merge all nvsciipc headers required for the nvsciipc drivers from
kerne/nvidia to kernel/nvidia-oot to get rid of kernel/nvidia repo.
Merge remote-tracking branch
'origin/dev/ldewangan/nvidia-nvsciipc-header-dev-main'
into
nvidia-oot-nvsciipc-header-dev-main
Bug 4038415
Change-Id: Ib0414977f650161cb32995d95192783086222146
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Added missing fs.h to fix build error.
Added debug info for root user only.
Added alternative header path for x86 build.
Fixed NvSciIpcEndpointMapVuid() API.
remove mutex except for SET_DB IOCTL (lockless for read operation).
Added more ioctl commands.
- NVSCIIPC_IOCTL_GET_DB_BY_NAME
- NVSCIIPC_IOCTL_GET_DB_BY_VUID
JIRA NVIPC-227
Change-Id: I95fc6f9fff36c9c1df999b11109236b1b3481d62
Signed-off-by: joshuac <joshuac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2755193
Reviewed-by: Kurt Yi <kyi@nvidia.com>
GVS: Gerrit_Virtual_Submit
The drivers of host1x, host1x-nvhost, tegra_gr_comm are
integrated from kernel/nvidia to kernel/nvidia-oot. Hence,
it is not required to do copy of the driver during build
time.
Remove the copy of these drivers.
Bug 4038415
Change-Id: I94934e09835bad48a551109d9a68a2810b3b3209
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2882789
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
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>
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>
Merge all the history of podgov driver from kernel/nvidia to
kernel/nvidia-oot to get rid of kernel/nvidia for OOT drivers.
Merge remote-tracking branch 'origin/dev/ldewangan/nvidia-podgov-dev-main' into nvidia-oot-podgov-dev-main
Change log are:
a48408903 devfreq: pod v2: Add support for Linux v6.3
533399ed4 devfreq: pod v2: Add support for Linux v6.2
64c5dd4de devfreq: wmark: active: add wmark margin attrs
dac541822 devfreq: pod v2: Add support for Linux v6.1
45b486353 devfreq: pod v2: Add support for Linux v6.0
0f5fa7538 devfreq: pod v2: Add support for Linux v5.19
7ab0296e0 devfreq: Enable module build for OOT
dbada9fa1 drivers: devfreq: Fix CERT-C Violations
b24019936 devfreq: pod v2: build as ext module for kstable
c5478eb1d devfreq: wmark: active: add trace log
2834d2183 video: tegra: host Register PDs before drivers
408295020 devfreq: wmark: active: set interrupt_driven
14f26892e devfreq: introduce DEVFREQ_GOV_POD_SCALING_V2
53da44c75 podgov: Clear history and set freq before suspend
9f1caf010 devfreq: wmark: active: config params by sysfs
428c30559 devfreq: wmark: active: introduce freq_boost_en knob
ad17c22a3 video: tegra: host: update T186 VIC actmon driver
79ce3f6aa devfreq: recent high as a scaling factor
4080e458d devfreq: podgov: use cycles/sec to estimate load
0f2fe9c3e devfreq: add core kernel directory to include path
39d5a4f8e video: tegra: host: podgov: add trace events
de9df1f6c devfreq: add Makefile and Kconfig for Nvidia governors
4eaf77da2 devfreq: wmark: active: add GPL module license
11a2d1a24 Fix include paths for in-tree builds
fd6458bae devfreq: stop podgov polling when disabled through sysfs
c479079b0 devfreq: Clean up podgov parameter initialization
23835ef96 devfreq: Use devfreq timers for podgov
f3c01ef1b devfreq: don't set last_scale for same freq
9a955a070 devfreq: tegra: use soc/tegra/chip-id.h for soc header
643e69a1c devfreq: remove throughput hints from podgov
80dca368b devfreq: set current freq in case no change required
985df8785 devfreq: remove FREQ_DONTSCALE return if same freq
b6ea64687 devfreq: wmark: fix compilation on kernel 4.4
c00e68510 devfreq: wmark: active: init average target freq
559e2351a devfreq: Improvements watermark active policy
0cf8ae932 devfreq: Improve wmark_active initialization
6c7bf5d6b devfreq: Add Active Watermark governor
bc031add8 devfreq: Add debugfs interface to simple watermark
831d08cdc devfreq: Rename watermark governor
622eede67 devfreq: governor_pod_scaling: Fix build errors
4ade76010 devfreq: compare previous_freq only if podgov disabled
897ce797c devfreq: get dev status after checking if scaling is enabled
7a5aeae4f devfreq: tegra: add support for t18x
d15333eb7 video: tegra: host: move pod_scaling.c
Bug 4038415
Change-Id: I390d9f5dfbda8ed21cdd66fd3b977ed6a068ab60
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Merge all the history of tsec driver from kernel/nvidia to
kernel/nvidia-oot to get rid of kernel/nvidia for OOT drivers.
Merge remote-tracking branch 'origin/dev/ldewangan/nvidia-tsec-dev-main' into nvidia-oot-tsec-dev-main
Change log:
11a2230e3 tsec: use correct struct in tsec_of_match
65b5496fa video: tegra: tsec: fix static analysis issues
20d55b179 tsec: Conditionally turn off clock in suspend
9897754e2 video: tegra: tsec: Coverity fix
66d070383 video: tsec: Add support to alloc GSC memory
791ff3eba video: tegra: tsec: Launch threaded handler only for SWGEN0
b52c828d1 video: tegra: tsec: Remove TSEC_RM_ON_DCE
77dc36500 video: tegra: tsec: add api to clear init callback
b00798044 drivers: tsec: use already exported cache API
2d212bce4 video: tegra: Add T239 support in new TSEC driver
d5768ade6 video: tegra: tsec: Fix build for Linux v5.14
0a219e1b4 video: tegra: tsec: changes to compile for k5.15
c7dce4b1f video: tegra: add tsec driver
Bug 4038415
Change-Id: I578e1599ee46f4bbee55b650c7826c960dd6ca7d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>