Commit Graph

4210 Commits

Author SHA1 Message Date
Mainak Sen
8a72e1a997 nvdla: Replace deprecated nvhost_syncpt_* APIs
This commit replaces the deprecated nvhost_syncpt_*
functions with the equivalent host1x_syncpt_* APIs
throughout the NVDLA driver.
The following replacements were made:

- nvhost_get_syncpt_host_managed() →
   host1x_syncpt_alloc() + host1x_syncpt_id()
- nvhost_syncpt_put_ref_ext() →
   host1x_syncpt_put()
- nvhost_syncpt_incr_max_ext() →
   host1x_syncpt_incr_max()
- nvhost_syncpt_read_maxval() →
   host1x_syncpt_read_max()
- nvhost_syncpt_is_expired_ext() →
   host1x_syncpt_wait()
- nvhost_syncpt_set_min_update() →
   host1x_syncpt_read() + host1x_syncpt_incr()

Each replacement includes:
- Obtaining syncpoint handles when necessary with
   host1x_syncpt_get_by_id_noref()
- Proper error checking for null handles and return values
- Maintaining the emulation wrapper in nvdla_sync_syncpt_emu.c

Bug 4922416

Jira HOSTX-5963

Change-Id: I8ce4299f89a8938c07895656689a59cc20a097ec
Signed-off-by: Mainak Sen <msen@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3321364
Reviewed-by: Arvind M <am@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Mitch Harwell <mharwell@nvidia.com>
Reviewed-by: Raghavendra Vishnu Kumar <rvk@nvidia.com>
2025-07-24 10:19:17 +00:00
Mainak Sen
cdf96fa81b nvdla: Replace deprecated nvhost_module* APIs
Remove dependencies on the following deprecated
nvhost API functions by implementing their functionality
directly in the NVDLA driver:

1. nvhost_module_init:
   Replaced with direct implementation in nvdla_module_init:
   - Get clock resources and set clock rates
   - Initialize reset control
   - Set up power management runtime
   - Create debugfs entries

2. nvhost_module_deinit:
   Replaced with direct implementation in nvdla_module_deinit:
   - Disable power management runtime
   - Free falcon firmware if present
   - Clean up debugfs entries

3. nvhost_module_reset:
   Replaced with direct implementation in nvdla_module_reset:
   - Handle prepare_poweroff callback
   - Acquire and release reset control
   - Load clock gating registers
   - Handle finalize_poweron callback

4. nvhost_module_busy:
   Replaced with direct implementation in nvdla_module_busy:
   - Get PM runtime sync
   - Handle PM runtime errors

5. nvhost_module_idle and nvhost_module_idle_mult:
   Replaced with direct implementations:
   - Mark last busy for PM runtime
   - Handle autosuspend or regular PM runtime put

6. nvhost_module_pm_ops:
  Replaced with custom nvdla_pm_ops structure:
   - Implement nvdla_runtime_suspend and nvdla_runtime_resume
   - Implement nvdla_suspend and nvdla_resume
   - Configure SET_RUNTIME_PM_OPS and SET_SYSTEM_SLEEP_PM_OPS

7. nvhost_module_load_regs:
   Replaced with nvdla_module_load_regs:
   - Implement register manipulation with direct memory mapped I/O
   - Use writel instead of host1x_writel

Bug 4921620

Jira HOSTX-5963

Change-Id: I3006a92a05966da138da31730e97f74f786c9d0c
Signed-off-by: Mainak Sen <msen@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3321246
Reviewed-by: Arvind M <am@nvidia.com>
Reviewed-by: Mitch Harwell <mharwell@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:17 +00:00
Mainak Sen
0f991be9e7 nvdla: Replace deprecated nvhost_client* APIs
Replace deprecated nvhost client device functions with
their direct implementations to maintain compatibility
with newer host1x drivers:

1. Replace nvhost_client_device_get_resources with
   direct implementation:
   - Get host1x data from parent device
   - Map device resources directly

2. Replace nvhost_client_device_init with
   nvdla_client_device_init:
   - Allocate character device region
   - Create device node using nvdla_client_device_create

3. Replace nvhost_client_device_release with
   nvdla_client_device_release:
   - Clean up device node
   - Unregister character device region

This change ensures the NVDLA driver continues to work
correctly with the host1x driver while removing
dependencies on deprecated functions.The device node
"nvhost-ctrl-dla" is still created with the same
functionality as before.

Bug 4921461

Jira HOSTX-5963

Change-Id: Ib27000fa47fdd72f80ca4030232d31e100c01ea4
Signed-off-by: Mainak Sen <msen@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3320695
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Arvind M <am@nvidia.com>
Reviewed-by: Mitch Harwell <mharwell@nvidia.com>
2025-07-24 10:19:17 +00:00
Mainak Sen
303edb8a0e nvdla: Replace nvhost_syncpt_unit_* API Usage
Replace the deprecated nvhost_syncpt_unit_interface_init()
function with host1x_syncpt_get_shim_info() in
the NVDLA driver. This change:

1. Adds a local def of struct nvhost_syncpt_interface
2. Implements the functionality in nvdla_sync_syncpt.c
3. Adds necessary include files for IOMMU and DMA mapping

This change ensures the NVDLA driver continues to work
correctly with the host1x driver while removing the
dependency on deprecated functions.

Bug 4921461

Jira HOSTX-5963

Change-Id: I085a24045758a2ecbb026654c3ee57a8dfda9271
Signed-off-by: Mainak Sen <msen@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3320585
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Mitch Harwell <mharwell@nvidia.com>
Reviewed-by: Arvind M <am@nvidia.com>
2025-07-24 10:19:16 +00:00
Frankie Chang
0a60f5f169 kleaf: add pci.includes for tests-oot
Need to add pci.includes to build tests-oot
via kleaf build.

Bug 4344670

Change-Id: I9f032708d1787940c21a7cd1688cc9ec9dbd0d72
Signed-off-by: Frankie Chang <frankiec@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3317708
Reviewed-by: Jian-Min Liu <jianminl@nvidia.com>
Reviewed-by: Ankita Garg <ankitag@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2025-07-24 10:19:16 +00:00
Robert Huang
a0aa537149 misc: cec: add wake up support.
This change adds SC7 wake support to cec driver.
CEC engine can detect TV packets in SC7 state and
can wake up when particular pattern detected.
In resume functionality, the total arrived packets on FIFO
needs to read and reported back to user-space.

This change adds -
1. Program CEC engine to activate for SC7 wake.
2. Program required opcode and physical address.
3. Register for wake and read packets in resume path.
4. Provide sysfs control to program physical address.

Verification of SC7 wake is done for below cases -
1. TV turn on and off is tested.
2. TV source input change is tested.
3. CEC Analyzer set-stream is tested.

Bug 4974679

Change-Id: Ia1ceeb13b89614c96d0b6d42f2bb58419865414b
Signed-off-by: Robert Huang <robhuang@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3300821
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Prafull Suryawanshi <prafulls@nvidia.com>
2025-07-24 10:19:16 +00:00
Bhadram Varka
1960558372 nvethernet: suspend/resume time profiling
Add suspend/resume time to the debugfs so that
tests can be written to monitor the SC7 KPI

Bug 4202840

Change-Id: I92531277ab7149269186f8c61237931de99a3368
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3300390
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
2025-07-24 10:19:16 +00:00
Bhadram Varka
b5a64188d3 nvethernet: don't free/alloc descriptors in SC7
- dma_alloc_coharent is taking more time while
allocating the descriptors in resume path.
- This change will not free the DMA descriptor
- It only free DMA buffers in the Rx ring while suspend
and re-allocate the DMA bufeers in the Rx ring during
resume.

Bug 5094704

Change-Id: If52471d11dd300c324a9c9bc1723fcb3d3e51bf7
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3313272
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
2025-07-24 10:19:16 +00:00
Hirak Biswas
4c9bdb3715 ASoC: tegra: Enable ARAD controls
ARAD was disabled earlier because it was
non functional from audio server side.
Re-enabling since the issue is now fixed.

Jira TAS-2594

Change-Id: Idabb617ff3150368ea62d002c3cbdce131054611
Signed-off-by: Hirak Biswas <hbiswas@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3295702
Reviewed-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-by: Viswanath L <viswanathl@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Mohan kumar <mkumard@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2025-07-24 10:19:16 +00:00
Frankie Chang
c781ccfdbc nvdla: not build axi-nvdla.ko for ACK
We don't need axi-nvdla.ko in Android,

Bug 4344670

Change-Id: I60c657638802a6e3d9c2c747e7d80ce5d7b80b21
Signed-off-by: Frankie Chang <frankiec@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3320501
Reviewed-by: Mitch Harwell <mharwell@nvidia.com>
Reviewed-by: Ankita Garg <ankitag@nvidia.com>
Reviewed-by: Amit Sharma (SW-TEGRA) <amisharma@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Jian-Min Liu <jianminl@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Arvind M <am@nvidia.com>
2025-07-24 10:19:16 +00:00
Bhadram Varka
3edc4ff927 nvethernet: Add nvidia,use-random-mac-addr DT property
Adding support for generating the random MAC address
if nvidia,use-random-mac-addr is set with value 1.

Below property should be there insider ethernet DT nodes -
nvidia,use-random-mac-addr = <1>;

Recommendation is to use only for MODS setup.
This should not be enabled in the production DT.

Bug 5142789

Change-Id: I87db90685bb9769358eda4edc226b929ccdce67f
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3317020
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Tested-by: Lovie Wang <loview@nvidia.com>
2025-07-24 10:19:16 +00:00
Sanjith T D
010cb686b0 vblk: Fix top25 static analysis violations.
Jira SSV-12834

Change-Id: I9b58305b033cc5dabe9b07ebcf34633b738ae057
Signed-off-by: Sanjith T D <std@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3317746
Reviewed-by: Vipin Kumar <vipink@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sreenivas Velpula <svelpula@nvidia.com>
2025-07-24 10:19:16 +00:00
Nagarjuna Kristam
f61c2ced6d PCI: tegra264: ep: Fix ICD mis-matches in code
Add state checks for set_bar, map_addr and unmap_addr API's.

Bug 5132823

Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Change-Id: Ifb17259229a74289703f18b34e223fed18ead1eb
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3314131
Reviewed-by: svcacv <svcacv@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Nagarjuna Kristam
ab18e366eb PCI: epf: dma-test: Add negative tests for EP and DMA
Add negative tests for EP API's set_bar and clear_bar.
Add negative tests for all DMA API's

JIRA NET-2400

Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Change-Id: If1b171f67b4c0a372e2a515704893609b7d11b76
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3313976
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Suneel Kumar Pemmineti
04ccb5c0c3 nvsciipc: enable endpoint security
- allow ioctl access if UID looked up is one of process UID
  or SGIDs.
- removed legacy codes
- set UID of set DB ioctl using sysfs

JIRA: NVIPC-2817

Change-Id: Ic910b5bdbb362e9cda0cc3af4bcd9c1642725a25
Signed-off-by: Suneel Kumar Pemmineti <spemmineti@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3225830
Tested-by: Joshua Cha <joshuac@nvidia.com>
Reviewed-by: Simon Je <sje@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Manish Bhardwaj
1fabab5472 hvc_sysfs: supporess hvc trace buffer error log
hvc trace buffers logs are being used for collecting
eventlib by hypervisor. Since this is not needed in
prod binary so suppressing the hvc buffer missing error.

Bug 5150377

Change-Id: I567cb2cd3e8b5e7e10a24a57e09221c6014264fc
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3320466
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Ashwin Joshi <asjoshi@nvidia.com>
2025-07-24 10:19:16 +00:00
Sushil Kumar Singh
d3e47da5a4 nvethernet: disable HSI error reporting if EPL is disabled.
Issue:
During iperf test on pegasus board on customer observed below error periodically
nvethernet 6810000.ethernet: Failed to report error: reporter ID: 0x0, Error code: 0x1002, return: -19

Fix:
Disable HSI error reporting from hsi work queue function
for L4T platforms if safety component EPL is not supported.

Bug 4090612

Change-Id: Ifc51dd93fb16c1dbf7e42c648ca14443bb40550b
Signed-off-by: Sushil Kumar Singh <sushilkumars@nvidia.com>
(cherry picked from commit 983ddcae450c36cde9ec79433e16a4ed5aa89319)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3313872
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3318856
Tested-by: Wayne Wang (SW-TEGRA) <waywang@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Petri Niemela
58478b0ab6 rtcpu: Halt RTCPU using HSP_BYE before reset
Calling tegra_camrtc_reboot() can cause a memory fabric timeout error by
asserting reset when the RTCPU is in the middle of a memory transaction.
As a solution (similar to tegra_camrtc_halt), before asserting the
hardware reset, signaling the RTCPU to suspend its operations using
CAMRTC_HSP_BYE and waiting for RTCPU to enter WFI.

Bug 5051748

Change-Id: Iba8e4e837ee0983ffe9629e7627e0056ce1c2341
Signed-off-by: Petri Niemela <pniemela@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3317142
Reviewed-by: Semi Malinen <smalinen@nvidia.com>
Tested-by: Semi Malinen <smalinen@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sudhir Vyas <svyas@nvidia.com>
2025-07-24 10:19:16 +00:00
Johnny Liu
601567ef37 devfreq: nvhost_podgov: implementation cleanup
Previous implementation lacks of documentation and it's hard to
understand the effect of changing specific tunable parameter.

Revise the implementation so that the scaling behavior is somehow
aligned with the tegra_wmark governor supported by the actmon. The
only different is that nvhost_podgov governor is polling-based DFS
algorithm and it maintaines the moving average load in the governor
instead of hardware itself.

Bug 4892068

Change-Id: I033cb1359a484d4c9433fa4f2e7a99c42cb636b3
Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3315446
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Rajesh Devaraj <rdevaraj@nvidia.com>
2025-07-24 10:19:16 +00:00
Nagarjuna Kristam
c451280883 PCI: tegra264: dma: Fix mis-matches with ICD
Fix tegra_pcie_dma_stop() return type to bool instead of tegra_pcie_dma_status_t.
Add NULL checks and atleast one DMA channel enable status in
tegra_pcie_dma_initialize().

Bug 5132823

Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Change-Id: Ie4363a9a63942256f136d018d17af488948e37a1
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3314130
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2025-07-24 10:19:16 +00:00
Blake McHale
1a1812b7e7 bmi088: add support for Linux v6.3+
Fixes two issues when using bmi088 driver on Linux v6.3+:

- support i2c_device_id on kernel >6.3
- use dev_to_iio_dev instead of dev_get_drvdata to access iio information

Change-Id: I70ad8b5d97d7b9a349f5387dbea60baf51cbbdb9
Signed-off-by: Blake McHale <bmchale@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3310726
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Zhiyuan Wang
578e8f6700 linux: kmd: static analysis TOP25 03/05 Part 9
Under the following path:
- drivers/platform/tegra/rtcpu/ivc-bus.c

Jira CAMERASW-32533

Change-Id: Iba0a529218a9aaf82f70bc4ff05b4658bbfe6fc3
Signed-off-by: Zhiyuan Wang <zhiwang@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3318779
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Semi Malinen <smalinen@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
Reviewed-by: Ajith Kumar <ajithk@nvidia.com>
2025-07-24 10:19:16 +00:00
Manish Bhardwaj
ecfef7f862 nvidia-oot: cert & misra fixes in tegra_hv_pm_ctl.c drv
using this patch fixing below cert & misra errors:-
- cert_exp39_c_violation: Accessing an object through a pointer "nlh"
  whose type "struct nlmsghdr *" is incompatible with the type of the object.
- cert_int08_c_violation: Signed integer operation "count += snprintf(buf + count, 4096UL - count, "%u ",
  data->wait_for_guests[i])" may overflow.
- cert_int08_c_violation: Unsigned integer operation "4096UL - count" may wrap.
- cert_int08_c_violation: Signed integer operation "count += snprintf(buf + count, 4096UL - count, "\n")"
  may overflow.
- cert_int32_c_violation: Signed integer operation "count += snprintf(buf + count, 4096UL - count, "%u ", data->wait_for_guests[i])"
  may overflow.
- cert_int32_c_violation: Signed integer operation "count += snprintf(buf + count, 4096UL - count, "\n")"
  may overflow.
- cert_str07_c_violation: Using unsafe interface "strncpy" instead of "strncpy_s"
  for string manipulation.
- missing_lock:	Accessing "user_client_count" without holding lock "netlink_lock".
  Elsewhere, "user_client_count" is written to with "netlink_lock" held 1 out of 1 times.

JIRA ESLC-8381

Change-Id: I2f84aa09b3a940cabda62a2391e782108755c80b
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3304762
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Manish Bhardwaj
57a65081dd nvidia-oot: cert & misra fixes in cpuidle-tegra-auto.c drv
using this patch fixing below cert & misra errors:-
- cert_arr30_c_violation: "__per_cpu_offset[cpu]" evaluates
  to an address that could be at negative offset of an array.

JIRA ESLC-8401

Change-Id: I99670f9823cda5abaa41368b80821a5727414017
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3304761
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Manish Bhardwaj
dd30ab0bfd nvidia-oot: cert & misra fixes in hvc_sysfs.c drv
using this patch fixing below cert & misra errors:-
- cert_int08_c_violation: Unsigned integer operation
  "vma->vm_end - vma->vm_start" may wrap.
- cert_int08_c_violation: Unsigned integer operation
  "vma->vm_end - vma->vm_start" may wrap.
- cert_str07_c_violation: Using unsafe interface
  "strncpy" instead of "strncpy_s" for string manipulation.
- cert_str07_c_violation: Using unsafe interface "strncat"
  instead of "strncat_s" for string manipulation.
- cert_exp39_c_violation: Accessing an object through a
  pointer "(uint64_t *)buf" whose type "uint64_t *" is
  incompatible with the type of the object
- cert_exp39_c_violation: Calling function
  "hyp_trace_get_mask(uint64_t *)" which accesses an object
  through a pointer "(uint64_t *)buf" whose type "uint64_t *"
  is incompatible with the type of the object. [details]
- cert_exp39_c_violation: Accessing an object through a
  pointer "(uint64_t *)buf" whose type "uint64_t *" is
  incompatible with the type of the object.

JIRA ESLC-8400

Change-Id: Ia8e03dac4e939078719543d8e6d3bbc464301b16
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3304759
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
2025-07-24 10:19:16 +00:00
Nan Wang
ad2fd77097 pva: mirror from gitlab cv/pva-sys-sw
This commit has below list of fixes:
- kmd: Remove unnecessary checks
- kmd: Fix DMA validation bug
 - Add macros for verbosity controlled logging apis
- Add back pva_dbg_printf
- update copyrights for the modified files
- cleanup and fixes in nvlog support
- Implement debugfs node for setting fw debug log level
- Implement set debug log level cmd
- Add debug log verbosity level control support
- Implement circular buffer for debug logs
- kmd: fix error handling while creating context

Gitlab commit: a6acc89929f69d3aedff442068ee8e5725f03d5d

Change-Id: Ib0fc058324f19c076c3de7990b41c7415707ff28
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3318294
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Tested-by: Nan Wang <nanwa@nvidia.com>
Reviewed-by: Nan Wang <nanwa@nvidia.com>
Reviewed-by: Mohnish Jain <mohnishj@nvidia.com>
2025-07-24 10:19:16 +00:00
gkrishnakuma
70313ee7da Shield2: HDMI-IN: Make HDMI-IN driver
Build HDMI-IN kernel driver for Android builds.

Jira SHLD2-543

Change-Id: I0ff84d4ce3467c0825e379c93142307508750dc1
Signed-off-by: Guruprashanth Krishnakumar <gkrishnakuma@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3272404
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ankita Garg <ankitag@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2025-07-24 10:19:16 +00:00
Eric Funsten
9d93957d0b Doc: remove coresight yaml files
Removes arm,embedded-trace-extension.yaml and
arm,trace-buffer-extension.yaml since we have existing files under
kernel-oot/Documentation

Jira MSST-984

Change-Id: I4f4f2d7a110b98d343cfe382345b00d7ce91d74f
Signed-off-by: Eric Funsten <efunsten@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3315028
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Jon Hunter
eea9f99397 drivers: Remove CONFIG_TEGRA_VIRTUALIZATION
Remove CONFIG_TEGRA_VIRTUALIZATION so that virtualization is always
enabled for drivers. This permits the same drivers to work on bare-metal
Linux machines as well as virtual Linux machines.

Bug 5157858

Change-Id: I29d13dae957ed2273b65f95fff0bee1e06f45a27
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3314409
Reviewed-by: Sumit Gupta <sumitg@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ketan Patil <ketanp@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2025-07-24 10:19:16 +00:00
Jon Hunter
23e3912ef7 PCI: tegra264: Fix build issues using conftest
The Tegra264 PCIe drivers don't build for kernels that don't have:

1. The structure mrq_pcie_request_req defined
2. The function pci_epc_deinit_notify() present

This is currently being handling by building a dummy driver for kernels
that don't have these. To simplify this, use conftest to detect if the
above are present and modify the Tegra264 PCIe driver accordingly if
they are not present. By using conftest we can remove the Makefile
variable 'NV_OOT_PCIE_T264_SOC_SKIP_BUILD' and ccflag
'DNV_CONFIG_PCIE_TEGRA_DMA_DISABLE'.

Finally, the PCIe drivers are always built as modules so simplify the
Makefile and remove the usage of 'CONFIG_TEGRA_OOT_MODULE'.

Bug 4911768

Change-Id: Id282497b8607a732b5e6c90e1e7c1436589a0b5f
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3245592
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2025-07-24 10:19:16 +00:00
Surbhi Singh
cb233ff6f5 video: tegra: nvmap: Add checks for addition overflow
Add check for overflow when two unsigned integers are added or
multiplied and return error in case of overflow condition.

JIRA TMM-5993
Bug 4479044

Change-Id: I8c9f6c55d413a2f95e445e09209d392a4c90b1e0
Signed-off-by: Surbhi Singh <surbhis@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3312702
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ketan Patil <ketanp@nvidia.com>
2025-07-24 10:19:16 +00:00
Aki Niemi
83df8b7e03 camera/rtcpu: Fix concurrency on reboot
Make sure that if a reboot is in progress, we don't attempt
to reboot the RTCPU again.

Bug 4623451

Change-Id: I8d153edb7ded48100f772e2fdd8afc7621b346bf
Signed-off-by: Aki Niemi <aniemi@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3205581
(cherry picked from commit 4ac65dc2c205c840b3e70e067831de57d43952e3)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3281752
Reviewed-by: Semi Malinen <smalinen@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
2025-07-24 10:19:16 +00:00
Mark Mendez
37f86bfcd2 PCD: Add Ethernet schema
Change-Id: I2430eca4258a625dba6f7f9ac868edf615ef3f5e

Signed-off-by: Mark Mendez <mmendez@nvidia.com>
Change-Id: I2430eca4258a625dba6f7f9ac868edf615ef3f5e
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3315791
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2025-07-24 10:19:16 +00:00
Mohan Thadikamalla
a40f3c81dc nvethernet: icd: Add MACsec netlink events
- Added support for MACsec Netlink
message commands.
- Integrated Doxygen comments for
NvEthernetLinux documentation.

Jira NET-2816

Change-Id: I340be3451a92d8ae4e0164a2caf61da1650a2939
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3312567
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2025-07-24 10:19:16 +00:00
spatki
70570ef224 tsec: add firmware desc path as module fw
During SC7 tsec driver is unable to find the desc file for the
tsec fw and thus tsec boot fails. This might result into system
hang. Hence this change adds the tsec fw desc file path as the
module firmware so that the firmware is available to it during
SC7.

Bug 5053273

Change-Id: I4f2c9bb5288dac6973f574159fdebc48009edf2a
Signed-off-by: spatki <spatki@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3308515
(cherry picked from commit 598f951b93)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3308481
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Srishti Goel
529f22ea6a PCI: tegra264: Remove XAL mem registers programming
Remove the XAL memory register programming from the Linux driver, since
this is done by the BPMP-FW for all controllers.

Bug 5033472

Change-Id: I64ec6347d59d77125c34ae52ac3b24413e1f5479
Signed-off-by: Srishti Goel <srgoel@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3304008
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2025-07-24 10:19:16 +00:00
Khushi
62431fc5f3 VSE/Cryptodev: prefix driver name for driver print
ESSS-1756
Signed-off-by: Khushi <khushi@nvidia.com>
Change-Id: I5f65e77cda381189f59cabad04d340e795f01021
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3315502
Reviewed-by: Nagaraj P N <nagarajp@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Sheetal Tigadoli
f65d7c0543 Documentation:bindings:nvpps:Deprecate ptp_tsc_k_int property
Deprecate ptp_tsc_k_int property from nvpps.
The k_int parameter is calculated by the driver itself

Bug 4899241

Signed-off-by: Sheetal Tigadoli <stigadoli@nvidia.com>
Change-Id: I8e492bf6748f94fbe0136c2a1a909d8ba5031aea
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3300419
Reviewed-by: Kiran Kumar Bobbu <kbobbu@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
2025-07-24 10:19:16 +00:00
Sheetal Tigadoli
e5ef698f2f drivers:nvpps:add higher PPS freq support in t23x
add higher PPS freq support in t23x

Bug 4899241

Signed-off-by: Sheetal Tigadoli <stigadoli@nvidia.com>
Change-Id: I2fbbd0b5dbdd326d47181d03aa334c31b7b4d35c
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3300418
Reviewed-by: Kiran Kumar Bobbu <kbobbu@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Vijay Mishra <vijaym@nvidia.com>
2025-07-24 10:19:16 +00:00
Jon Hunter
2ff6b64efd media: camera: Fix declaration-after-statement
The camera driver fails to build if the compiler option
-Werror=declaration-after-statement is enabled and the following error
is seen ...

 drivers/media/platform/tegra/camera/tegracam_ctrls.c:1120:17: error:
 ISO C90 forbids mixed declarations and code
 [-Werror=declaration-after-statement]
  1120 |                 int index = tegracam_get_ctrl_index(cid);
       |                 ^~~

JIRA CAMERASW-32529

Fix this by moving the declaration of the 'index' and 'size' variables
to the start of the for-loop code block.

Change-Id: I69590c147e8effd031b962606a077856ad4f8d07
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3316537
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Mike Jia <mijia@nvidia.com>
2025-07-24 10:19:16 +00:00
Zhiyuan Wang
8895bf14e8 linux: kmd: fix the bug TOP25 03/05 Part 9
Add dev-err when failure:
- drivers/media/platform/tegra/camera/vi/mc_common.c

Jira CAMERASW-32689

Change-Id: I87dc4593fe91889406a8d61843d260e953a2a1c2
Signed-off-by: Zhiyuan Wang <zhiwang@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3316291
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Semi Malinen <smalinen@nvidia.com>
Reviewed-by: Ajith Kumar <ajithk@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
2025-07-24 10:19:16 +00:00
yongtaos
34a6c5ad76 kernel: nvidia-oot: Fix Linux KMD coverity defect
Fix NULL_RETURNS and EXP34-C coverity defects for cam_fsync.c.

Jira CAMERASW-32531

Change-Id: Id2503145229ff71802c41737722f6ad955ca3519
Signed-off-by: yongtaos <yongtaos@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3316287
Reviewed-by: Semi Malinen <smalinen@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Zhiyuan Wang <zhiwang@nvidia.com>
2025-07-24 10:19:16 +00:00
Ketan Patil
a477caa895 video: tegra: nvmap: Disable read/write APIs for prod_nsr
NvRmMemRead/NvRmMemWrite APIs don't have corresponding requirements in
DriveOS 7.0 Linux NSR. We have taken sign-off from the stakeholders to
confirm that they are not using these APIs in T264 Linux Prod NSR
variant. But some of them are using these APIs in dev_nsr and did not
agree to remove it from dev-nsr, L4T, HOS etc. Hence we need to
make sure that they do not accidentally start using these APIs. Add
bug_on when the corresponding ioctl is called in prod_nsr.

Bug 4980658

Change-Id: Ie9aaa9cc52fc1971b82243bb652d0ee9ce1017ca
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3315736
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com>
2025-07-24 10:19:16 +00:00
Jon Hunter
d38d017e88 configs: Add config for nvmainline
Add an OOT driver config for the nvmainline build to disable the OOT
drivers for BPMP Hypervisor, Hypervisor IVC and IVC EXT, so that these
can be built into the kernel.

Bug 5157858

Change-Id: Ibc1aec5aba045cc19d4663e42745d98e88ac4a26
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3316757
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sumit Gupta <sumitg@nvidia.com>
2025-07-24 10:19:16 +00:00
Mainak Sen
bfe763841a gpu: host1x: Deprecate falcon implementation from host1x driver
This commit deprecates the falcon hardware interface implementation from the host1x-nvhost driver.

falcon_exit() function will be deprecated once usage of
nvhost_module_deinit API is removed from PVA/DLA/Camera elements.

Jira HOSTX-5933

Bug 4918838

Change-Id: I268836c8c8fc2f1ab060412bb4446c7080f846c4
Signed-off-by: Mainak Sen <msen@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3311319
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: Sanif Veeras <sveeras@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
Akihiro Mizusawa
1fac2c49e1 host: capture-support: Deprecate nvhost APIs
Deprecate the use of nvhost API calls.
Implement equivalent functionality for host1x_<readl, writel> by
copying parts of nvhost_client_device_get_resources to the driver.

Bug 4922171

Change-Id: I2b0a40303767a6630b6212063d66954ed4c16466
Signed-off-by: Akihiro Mizusawa <amizusawa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3301460
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Chinniah Poosapadi <cpoosapadi@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
2025-07-24 10:19:16 +00:00
Sanath Kumar Gampa
5193e86207 kernel-nvidia-oot: Restrict enabling MACSec in PHY
Restrict enabling MACSec support in below PHYs via MDIO

- MV-Q3244
- 88Q2221M

Jira NET-2795

Change-Id: I2cf767ad89762a5daa8ac29e753365af2e5d24fb
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3308513
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Narayana Reddy P <narayanr@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2025-07-24 10:19:16 +00:00
Sanath Kumar Gampa
247613d6ce nvethernet: fix top-25 issues
Fixed below issues

-FORWARD_NULL
-CERT STR07-C
-CERT INT32-C
-CERT INT30-C
-CERT INT08-C
-CERT EXP39-C
-CERT EXP34-C

JIRA NET-2044

Change-Id: I839bd5aedff30c7e9679f513a2cf7a1fbe3b2b8a
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3258684
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:16 +00:00
jaiyasha
b2a59883b3 DCE-KMD: Add logging structs in shared header
This change adds set and get log structs in shared admin cmd header file
Logging design document:
https://confluence.nvidia.com/display/TCS/DCE+Logging+support+design

JIRA TDS-15963

Change-Id: I8d6f1830a7bf7ebde1562cd31601b2ee4eadce0c
Signed-off-by: jaiyasha <jaiyasha@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3305936
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Mahesh Kumar <mahkumar@nvidia.com>
Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2025-07-24 10:19:16 +00:00
Ketan Patil
f44682d9fc video: tegra: nvmap: Cleanup the compatible string
Remove nvidia,carveouts-t18x and nvidia,carveouts-t19x as compatible
strings from nvmap driver code, as we should only use nvidia,carveouts
as compatible string.

JIRA TMM-6011

Change-Id: I08ed5fae564b1f0fd944ae197d568e37ad563d1c
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3313960
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com>
2025-07-24 10:19:16 +00:00