Building the Android Common Kernel (ACK) with clang exposes build
errors due to const correctness issues in actmon code.
Remove actmon name when it is not necessary.
Set host1x_info var as const.
Set host1x_actmon_entry var as const.
Bug 3974840
Change-Id: I50c1437199ad549f397944aefa535103ed2fa05c
Signed-off-by: Bruce Xu <brucex@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2921160
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: Johnny Liu <johnliu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
OOT kerel builds do not use Kconfig files to define required
config flags. Thus, CONFIG_TEGRA_SOC_HWPM is not defined for OOT
configs. Remove use of CONFIG_TEGRA_SOC_HWPM flag from PVA, DLA
and FLCN drivers.
For OOT builds, HWPM driver is always compiled independent of
CONFIG_TEGRA_SOC_HWPM flag. For safety builds where HWPM
functionality is not allowed, mock HWPM functions will be used.
Bug 4061775
Change-Id: I49d8df6d3293e9bde9e233561363872fc41742f4
Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2920819
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Adeel Raza <araza@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
The RTCPU driver has a dependency of the following kernel modules:
clk-group
device-group
reset-group
Rather that builds all these source files as individual drivers, which
is bloating the number of kernel modules required, compile these source
files into the main RTCPU kernel module.
Finally, remove any unneeded header files from the ivc-bus driver.
Bug 4078936
Change-Id: I0981a716db7a91556d8c00a291b81dec01dda2e3
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2890896
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Matti Ryttylainen <mryttylainen@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Upstream Linux commit 03c835f498b5 ("i2c: Switch .probe() to not
take an id parameter") removes the 'id' argument from the I2C probe
callback. Update the ov5693 driver, which defines an I2C probe callback
function, to fix building the driver for Linux v6.3.
Bug 4014315
Change-Id: I8c8954b7c1e1e322fb3f560f6348caac54e5e43d
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2919423
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Add support for Serial Id feature which will be used by Nsight for
buffer tracking purpose. This feature expects a unique serial id per
buffer even if it is shared across multiple client processes.
Add following code:
- Create a new global counter field for serial id in nvmap device.
Initialize it to 0 when nvmap device is initialized.
- Introduce a new field for serial_id in nvmap_handle struct.
- When nvmap_handle is created, assign it's serial_id field with global
counter's value, and increment global counter.
- During NvRmMemQueryHandleParameters return this serial_id associated
with the handle.
- Do not decrement counter for serial_id even after freeing the handle.
Bug 4138373
Change-Id: Ic1fe22b082eefb352986f8fa44d4c38d186a366f
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2918510
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
For tasks that execute very quickly, but not quickly enough to be
already complete by the time execution reaches host1x_syncpt_wait,
the proportion of time spent in allocating a fence and invoking
dma_fence_wait_timeout becomes dominating in comparison to the
time it actually takes to execute the task.
To improve wait latency in these cases, replace the current
"is threshold already reached" check with a short spin loop
to catch these situations before going to the heavy machinery.
For longer waits, since this function blocks anyway, the only
negative effect is slightly increased CPU consumption due to
the loop.
Bug 4001325
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Change-Id: I44e99cda88b4bcb33f190884d1a2e5f7588cb775
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2881716
Reviewed-by: Santosh BS <santoshb@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2916412
Android Common Kernel (ACK) places restrictions on the use of symbols
like close_fd, kernel_write, filp_open, etc, exported by the fs
subsystem. These symbols have to be explicitly imported using
MODULE_IMPORT_NS to avoid build errors. Eventually, synbol usage needs
to be deprecated.
Bug 3974840
Change-Id: Iea8518162c97062b205e80bf4b81c35c873b7729
Signed-off-by: Jian-Min Liu <jianminl@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2915728
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
The nvethernet driver has a dependency on the NVPPS driver which in
turn has a dependency on the GTE driver. The GTE driver is being
transitioned to the new upstream HTE driver and while this transition is
on-going, allow the nvethernet driver to be distributed and built
without NVPPS and GTE.
Note that by default the dependency on the NVPPS driver is enabled by
setting CONFIG_TEGRA_NVPPS to 'y'. Only if the user sets
CONFIG_TEGRA_NVPPS to 'n' will it be disabled.
Bug 3918941
Bug 3961133
Change-Id: I019e5ebfddfcb158b0a684d2eacc404231577166
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2913273
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Disable mods in android common kernel (ACK). ACK places restrictions on
the use of symbols exported by the fs subsystem. These symbols have to
be explicity imported using MODULE_IMPORT_NS. To avoid build errors,
disable mods functionality as of now.
Bug 3974840
Change-Id: I28bcb574ba722415a62a68f81d6579e2fd8a1d51
Signed-off-by: Ankita Garg <ankitag@nvidia.com>
(cherry picked from commit ff77fe1566b536cb2243b6158ec6cf7e90f614bc)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2910059
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Current mc-utils driver is specific to T234 without any support for
extending it to future SOCs. Add such support so that it can be easily
extended for future chips.
- Create a struct of function pointers of all present operations
- Set these function pointers as per SOCs
Bug 4090660
Change-Id: I93e9da987bce1e563eb03aeeb0ac8bcb9da48023
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2911894
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
- Ordering between message/data and host1x syncpoints is not enforced
strictly.
- Out of the possible WARs, implement dummy PCIe Read between
data/message write and notifications towards peer / remote post-fences.
- WAR: (IPC/messaging mode)For any UMD produced data towards peer,
before notification is triggered, issue a dummy PCIe read via CPU.
- WAR: (streaming mode)DMA flush-ranges(data), wait for DMA interrupt,
when success issue dummy PCIe reads via CPU on remote post-fences
+ issue CPU PCIe writes on each remote post-fence. To achieve this,
CPU map every imported sync object.
NVIPC-974
Change-Id: Id6711d372c0a35e13e399ffbbcd8efcabf147c56
Signed-off-by: Arihant Jejani <ajejani@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2912894
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Janardhan Reddy A <jreddya@nvidia.com>
Reviewed-by: Vipin Kumar <vipink@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Actmon DFS for EMC has been moved to BPMP side. This driver simply reads
the exponential moving average counter register of the MC_ALL client and
export the value in the sysfs node to let tegrastats read the
utilization value of the EMC.
Bug 4041434
Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: I2b7e6592094d27c47f738fc26ee9091ea209f630
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2912315
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>