20 Commits

Author SHA1 Message Date
Shao-Chun Kao
8369748b12 gpu-static-pg: t264: support gpu pg mask BPMP MRQ forwarding
Add gpu-static-pg kernel driver to support the
BPMP GPC/TPC/FBP setting via sysfs communication
and module parameter, which allow the nvpmodel
system service to set the mask via the interfaces
above.

For nvpmodel service usecase, this driver should
be probed and the mask should be applied before
the GPU driver is probed.

Bug 5516617

Signed-off-by: Shao-Chun Kao <shaochunk@nvidia.com>
Change-Id: Id16e374c21acccd08c0c33c2df1aa909fcba5658
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3458914
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Yi-Wei Wang <yiweiw@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
2025-11-20 01:27:28 -08:00
Johnny Liu
099e5e1cd7 platform: tegra: introduce bwmgr kernel driver
This driver exposes EMC frequency control interface to user space via
linux devfreq framework.

Users could change EMC frequency to the frequency value from the
available frequencies of EMC clock:

$ /sys/class/devfreq/bwmgr# cat available_frequencies
665600000 2750000000 3200000000 4266000000

and update the EMC floor frequency by writing into the min_freq QoS
sysfs node:

$ /sys/class/devfreq/bwmgr# echo 4266000000 > min_freq

and update the EMC max frequency by writing into the max_rate QoS
sysfs node to cap the EMC frequency:

$ /sys/class/devfreq/bwmgr# echo 4266000000 > max_freq

This driver does not directly manage the EMC clock rate. Instead it
just delivers the min/max frequency information to BPMP, and BPMP is
still the only entity that has the full control of EMC and other
related memory clocks.

Bug 5483386
Bug 5196455

Change-Id: I6124eeb7411a13bde5c51582064534063abca8d3
Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3453755
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2025-09-29 21:42:51 -07:00
Jon Hunter
4e64a23624 cpuidle: Remove cpuidle-cg-disable-t264 from BUILD.bazel
The cpuidle-cg-disable-t264 driver has been removed and so also remove
from the BUILD.bazel file.

Bug 4697511
Bug 5401876
Bug 5401884

Change-Id: I56e090f388c71e83615fdec91f378ec095af1b93
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3414860
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
2025-07-24 10:20:36 +00:00
Daniel Kudrow
79cf6380ea nvidia-oot: resurrect tegra_hv_comm TTY driver
Port the tegra_hv_comm driver to the OOT kernel. This driver allows an
IVC channel to be used as an emulated serial device.

Make the following changes to simplify maintaining compatibility with
different kernel versions:
- Use a generic port type instead of defining a custom one.
- Use existing conftest to determine whether platform_device.remove
  returns void.
- Add a conftest to determine whether uart_state.xmit exists.
- Use tty_port.xmit_fifo in kernels where uart_state.xmit has been
  removed.

Jira HYP-20929

Change-Id: I1bc218f591d6d741fc39ae5392a9ea95bdc3f117
Signed-off-by: Daniel Kudrow <dkudrow@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3340420
(cherry picked from commit a67e7fd330be5d6c55e35c0ce810ff5124378ae7 in embedded/7.0.3.0)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3301386
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:20:35 +00:00
Jon Hunter
cdef2b63f6 drivers: Remove 'private' directories
Drivers in the NVIDIA OOT repository are public and so remove the
directories named 'private' to avoid any confusion once these sources
are released.

Bug 5054840

Change-Id: I9156e3b08df9ce3d90dc0a2b5e72416f28fac5f5
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3351272
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ashish Mhetre <amhetre@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
2025-07-24 10:19:19 +00:00
Johnny Liu
5fc58123c7 hwmon: ina232: introduce ina232 oot driver
Example of information reading from hwmon sysfs interface:

generic_atv_int:/sys/class/hwmon/hwmon0 # grep "" *_input
in0_input:1345
in1_input:24092
curr1_input:268
power1_input:6437376

generic_atv_int:/sys/class/hwmon/hwmon0 # grep "" shunt_resistor
5000

The unit of each node follows the ina2xx ABI specification:
https://elixir.bootlin.com/linux/v6.1/source/Documentation/hwmon/ina2xx.rst

Bug 5060737

Change-Id: I6b9066206c95fc32fd90506b1233d1d5feb6c854
Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3348715
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ankita Garg <ankitag@nvidia.com>
2025-07-24 10:19:19 +00:00
Mahesh Patil
659e731f28 r8125: Enabling realtek ethernet driver support
Bug 5091558

Change-Id: Idb013a451e81ad1e7a664d85f024eebb17f92b77
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3316987
Reviewed-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:18 +00:00
Prakhar Srivastava
2e68d82f52 PCI: tegra264: Remove private-soc directory
Move files from private-soc to parent controller directory.

Bug 5054840

Change-Id: I8ec5e5b34f2226bbbd051f4313033153a096e5c1
Signed-off-by: Prakhar Srivastava <prasrivastav@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3312461
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
2025-07-24 10:19:17 +00:00
Nagaraj P N
083a40b0d3 nvtzvault: add driver for GP comm via oesp mailbox
- Allow applications to interact with TA via IOCTL
  interface, with one device node per TA/token to
  allow access control policies to be enforced.
- Validate the request parameters
- Add support to to serialize request data from application
  and deserialize response from the TA
- Include process name as part of request to enable
  TA to log required info to nvlog buffer

Jira ESSS-1713

Change-Id: I9e4c4687ecb6e01b0d88130fd640a9b4a59676aa
Signed-off-by: Nagaraj P N <nagarajp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3282272
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Leo Chiu <lchiu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svc-percl-checker <svc-percl-checker@nvidia.com>
2025-07-24 10:19:17 +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
Johnny Liu
bca162a20d kleaf: add tegra_wmark module in build targets
The tegra_wmark is a specialized devfreq governor to support
interrupt-driven DVFS algorithm with Host1x Actmon infrastructure.

This governor will be used for NVDEC/NVENC/OFA/VIC engines to
support load-based DVFS.

Bug 5147566

Change-Id: I9a60c22e8f12ea579e43e883a273a76d1170e0f5
Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3313827
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ankita Garg <ankitag@nvidia.com>
Reviewed-by: Frankie Chang <frankiec@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2025-07-24 10:19:16 +00:00
amitabhd
2cc3c99c6e host1x_emu: Adding API dispatch functionality
Adding dynamic APi dispatch functionality in host1x-fence
modue. This CL exports new host1x wrapper API, which can
be called by client kernel modules. The wrapper API dispatch
call to either Host1x module or Host1x-EMU depending if the
host1x-emu driver registered its interface during its probe.

Bug 5064819

Change-Id: I49445cdce7c3795a2c94fde9d0871da393993554
Signed-off-by: amitabhd <amitabhd@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3306857
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Leslin Varghese <lvarghese@nvidia.com>
Reviewed-by: Raghavendra Vishnu Kumar <rvk@nvidia.com>
2025-07-24 10:19:15 +00:00
Frankie Chang
fdd6ff24e3 Kleaf: Update kernel modules in nvidia-oot
Add the recently added kernel modules to the outs list.
- drivers/bluetooth/realtek/rtk_btusb.ko

Remove kernel modules from the outs list.
- drivers/misc/tegra-pcie-dma-sanity-test.ko
- drivers/pci/endpoint/functions/pci-epf-tegra-dma-sanity.ko

Bug 4344670

Change-Id: I6d42b29700341021e667c69f0c5c86c142007ce5
Signed-off-by: Frankie Chang <frankiec@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3256554
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:14 +00:00
Illia Ragozin
1d7553347f tegra: Add v4l2loopback module
Build v4l2loopback that provides a virtual camera device.
Virtual cameras will be used to enable AI effects for use cases as
video conferencing or game streaming.

JIRA SHLD2-370

Change-Id: I822ab2c127960ec343daa7b9799d5698434f4b75
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3266248
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ankita Garg <ankitag@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Illia Ragozin <iragozin@nvidia.com>
Tested-by: Illia Ragozin <iragozin@nvidia.com>
2025-07-24 10:19:11 +00:00
Frankie Chang
8f35375054 kleaf: fix regression for kleaf build
1. update kernel_module list.
2. ccflags += directories of the header files.

Bug 4344670

Change-Id: Idd0991b3b755f907fadbd7723c9bbbf6129eeb60
Signed-off-by: Frankie Chang <frankiec@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3249508
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2025-07-24 10:19:10 +00:00
Jian-Min Liu
1dcd39e05b Kleaf: Update kernel modules in nvidia-oot
Add the recently added kernel modules to the outs list.

Bug 4344670

Change-Id: Iafc5af5b6909726b1083585ac7ad61881f71bc5d
Signed-off-by: Jian-Min Liu <jianminl@nvidia.com>
Signed-off-by: Frankie Chang <frankiec@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3183045
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Ankita Garg <ankitag@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2025-07-24 10:19:10 +00:00
Jian-Min Liu
a984cae1fc kleaf: Use kernel-source path as kbuild
Use the kernel-source folder name to hide the kernel version path,
and this folder will be created as symlink. Before building kernel,
the script will build the symlink based on the kernel version of
environment variable. The advantage of this is that there is no need
to change the path whenever the version is updated, and the build
can be switched between different kernel version.

Bug 4344670

Change-Id: Idfc285fee7472bb3d76b6a6cdc1334df5958f4a0
Signed-off-by: Jian-Min Liu <jianminl@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3158772
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2024-07-03 13:58:19 -07:00
Jian-Min Liu
7ca2ec7115 Kleaf: Update kernel modules in nvidia-oot
The kernel modules in "outs" field should match to
the number of modules in build output, otherwise build
will fail.

Bug 4344670

Change-Id: Ideb8d002b6ca118ae3d61b57148059ca88a3ba99
Signed-off-by: Jian-Min Liu <jianminl@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3129470
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2024-07-03 13:58:11 -07:00
Revanth Kumar Uppala
7354d5bf00 nvidia-oot: Modify r8168 path in BUILD.bazel
Modify path of r8168 in BUILD.bazel

Bug 4471899

Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Change-Id: I25f604253c4852e963b5c9c19e1fd5d58ef0ac40
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3124383
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
2024-05-14 15:45:42 -07:00
Jian-Min Liu
1dc806cb91 Kleaf: add kernel modules in nvidia-oot
1. Add BUILD.bazel file.
2. Add build target of kernel module and required include folder
   srctree.* in Makefile to fix the build issue
3. The tr (a build tool defined by kleaf in the sandbox) which
   supported by toybox will cause the conversion of header files
   to file_define to fail. Fixed it by separating with two tr
   commands.

Bug 4344670

Change-Id: I56dcc148960f3b7703335943281589f42caa9af7
Signed-off-by: Jian-Min Liu <jianminl@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3066225
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-19 06:50:10 -07:00