Commit Graph

49 Commits

Author SHA1 Message Date
Suneel Kumar Pemmineti
38d739c860 nvsciipc: Add UID member to Config structure
- Added UID member to nvsciipc_config_entry data
structure. this is needed for implementing
test_nvsciipc_cfgblob in linux.
- removed static from ioctl function to attach eBPF program
- add error-injection.h and ALLOW_ERROR_INJECTION macro to ioctl
  to use bpf_override_return()

JIRA NVIPC-2817

Change-Id: Ic27156e321368041f41fbabff9e6375140fe1d0e
Signed-off-by: Suneel Kumar Pemmineti <spemmineti@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3301786
Tested-by: Joshua Cha <joshuac@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Simon Je <sje@nvidia.com>
2025-07-24 10:19:15 +00:00
Vishnu Mandalapu
09bf300e40 drivers: tegra: virt: runtime frequency
- Add support to change VM profiler frequency in rumtime.

 Jira HYP-19279

Signed-off-by: Vishnu Reddy Mandalapu <vmandalapu@nvidia.com>
Change-Id: I2b260fff61addbd5e2bd53d9b16e441506bdf2d6
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3222316
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3252176
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Daniel Kudrow <dkudrow@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Alexey Lugovskoy <alugovskoy@nvidia.com>
2025-07-24 10:19:15 +00:00
Manish Bhardwaj
9f909306a0 kernel-oot: update driver license to GPL
Bug 5065840

Change-Id: If5f1783d8168af51c8964ff5605e8a04993973d6
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3289957
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
2025-07-24 10:19:13 +00:00
Jon Hunter
005cbe4462 virt: hvc_sysfs: Another build fix for Linux v6.13
In Linux v6.13, commit 94a20fb9af16 ("sysfs: treewide: constify
attribute callback of bin_attribute::mmap()") changed the type of
the 'struct bin_attribute' argument of the bin_attribute:mmap function
pointer to const.

One instance of this change has already been fixed in the hvc_sysfs
driver but another case was recently introduced breaking the build for
Linux v6.13. Fix this in the same way as the previous instance.

Bug 4985113
Bug 4991705

Change-Id: I7f68138f3b484ebfe7a4ff5032c7b4365865f248
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3287044
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
2025-07-24 10:19:13 +00:00
Manish Bhardwaj
ed5b67aa73 nvidia-oot: add support for nvlog buffer
Using this patch we have done below changes :-
- exposed buf_count, buf_size, region_size to userspace
  via sysfs node to read meta data related to nvlog buffers
- mmap nvlog buffer to the userspace

Bug 4985113

Change-Id: If5824f7199d63364847eecffd0f490213d2acda0
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3268716
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
2025-07-24 10:19:13 +00:00
Jon Hunter
66ddf2ba6f virt: hvc_sysfs: Fix build for Linux v6.13
In Linux v6.13, commit 94a20fb9af16 ("sysfs: treewide: constify
attribute callback of bin_attribute::mmap()") changed the type of the
'struct bin_attribute' argument of the bin_attribute:mmap function
pointer to const. Use conftest to detect if this argument is const or
not in the kernel the driver is being compiled against to fix the build.

Bug 4991705

Change-Id: I791d6c9dde50f1444d0339ebd8a18434045f9026
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3261699
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:11 +00:00
Manish Bhardwaj
f666d39d4d nvidia: timed out wait for userspace response
Using this patch we are waiting for 5secs for
response from userspace else we are returning
error.

Bug 3712829

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I43ee139d4c2f737851ec1cf375e463d7c7c7d6f7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2760068
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Preetham Chandru <pchandru@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3261630
Tested-by: Bhavesh Parekh <bparekh@nvidia.com>
Reviewed-by: Bhavesh Parekh <bparekh@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svc-bootloader-acv <svc-bootloader-acv@nvidia.com>
2025-07-24 10:19:11 +00:00
Jon Hunter
f01227d4ea drivers: Drop inline from driver remove wrapper
The driver remove function is a function pointer and therefore, it does
not make sense to define the function as an 'inline'. Update the
coccinelle script and drivers to remove the inline statement.

Bug 4749580

Change-Id: Ia03691b75c4edffe609f27468b911a92a5ddbd68
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3233980
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2025-07-24 10:19:08 +00:00
Jon Hunter
5a54d4161a drivers: Fix build for Linux v6.12
In Linux v6.12 the definition 'no_llseek' was finally removed. Since
Linux v6.0 it had been redefined as NULL. Add a test to conftest to
determine if 'no_llseek' is present and if not then it is no longer
necessary to populate this and we can leave as NULL.

Bug 4876974

Change-Id: I051fdb285b32260b5913dad89cabe0be04253f67
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3222106
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2025-07-24 10:19:07 +00:00
Manish Bhardwaj
150beca335 nvidia-oot: tegra_hv: add dummy driver support
For some of the kernel tegra_hv is part of core kernel and
hence it is nto required to use the OOT tegra_hv driver.

However, some packaging still expect the tegra_hv.ko from
the OOT path. To trick the packaging file, add dummy tegra_hv
driver which does not have anything other than module_init/module_exit.

Bug 4551265

Change-Id: I59f6233705e2cfb510470ae3b9c1ce7d39618330
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3197802
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2025-07-24 10:19:07 +00:00
Jon Hunter
951b2423a8 drivers: Fix platform_driver remove for Linux v6.11
In Linux v6.11, the 'platform_driver' structure 'remove' callback was
updated to return void instead of 'int'. Update all the impacted drivers
as necessary to fix this.

Bug 4749580

Change-Id: I3bb5c549777f7ccad0e3f870373fdd25726ad7ed
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3182878
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
Tested-by: Brad Griffis <bgriffis@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2024-08-11 17:20:34 -07:00
Jon Hunter
e74d45174b tegra_hv: Remove unused dummy driver
Support for building the dummy tegra_hv driver has been removed from the
Makefile and so remove the unused source file as this is no longer being
used.

Bug 4370594
Bug 4346767

Change-Id: I44134df27374338d37ebbb71d9562bcabd0b86e9
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3141627
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
2024-05-22 23:27:23 -07:00
Laxman Dewangan
288de33b62 tegra_hv: Fix missing headers for Linux v6.8
For Linux v6.8, commit ef175b29a242 ("of: Stop circularly including
of_device.h and of_platform.h") updated the OF headers included by these
header files. This breaks the build for various drivers and so fix this
by including the headers that are actually needed for each driver.

Bug 4448428

Change-Id: I19a0d9003aa655d12c8ae50131f15a6ee4cc59f8
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3063634
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-27 03:12:34 -08:00
Laxman Dewangan
de4295cfa6 tegra_hv: Use conftest to find if class_attribute function has const type arg
Determine if struct class_attribute function has const type
"struct class_attribute" argument or not.

Modified the argument by change
commit 75a2d4226b5371 ("driver core: class: mark the struct class
for sysfs callbacks as constant") for Linux 6.3

Bug 4346767

Change-Id: I2a36025b23af80761faf1da406481731289eedd2
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3030734
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-12-08 18:36:58 -08:00
Manish Bhardwaj
912dda68d1 hv: port tegra hypervisor driver on noble kernel
Bug 4377196

Change-Id: Idecaac1915c444fe04c40f0e848e36bd3f90b78f
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3018492
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Akhil R <akhilrajeev@nvidia.com>
2023-12-08 18:18:50 -08:00
Joshua Cha
21a661c58f nvsciipc: fix mixed license
Bug 4405013

Change-Id: I4c37c89b7dcc4c25e0b4e568b8d68d1a73c424f7
Signed-off-by: Joshua Cha <joshuac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028570
Reviewed-by: Kurt Yi <kyi@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-07 08:13:27 -08:00
Laxman Dewangan
af936f3b1e tegra_hv: Enable driver for Linux 6.2 and above
The driver tegra_hv was disabled for the Linux 6.2 and above
due to build failure. All build issue is fixed and re-enabling
driver for all kernel.

Bug 4370594

Change-Id: I9edef01a4f204b138204d583d9f7f61dc6112a25
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3014191
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-10 14:14:12 -08:00
Manish Bhardwaj
57f8639acb nvidia: hv_pm: send resume req to userspace
Using this patch instead of sending suspend req
in resume path, sending resume req.

Bug 4212516

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I7eb29cf4ad24952f4efe4c56fd58006f6ebf1071
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2771827
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3012461
Reviewed-by: Preetham Chandru <pchandru@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
2023-11-10 14:09:39 -08:00
Laxman Dewangan
9647ab8386 tegra_hv: Update driver to support Linux 6.2 and above
The IO sys map helpers are used for the IVC communication
on Linux 6.2 and above. Update drivers to have compatible
with IVC APIs of Linux 6.2 and above.

Bug 4370594

Change-Id: I0528248efa9edc3d4962f7b62d8ebfe2ac0a027e
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3013108
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-09 10:19:12 -08:00
Laxman Dewangan
c8a83b5692 tegra_hv: Use const in class attributes APIs for Linux 6.4 and above
The callback APIs of class attribute are updated on
Linux6.4 and above to have the constant type pointer
argument.

Update the driver compatible with the updated APIs
for Linux 6.4 and above.

Bug 4370594

Change-Id: Ic06cb0d752797bb272f110aa0bb35bdd3afa1e6a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3013107
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-09 10:15:03 -08:00
Laxman Dewangan
b6dcd3d9ce virt: Add tegra_hv dummy driver for Linux 6.6
Tegra HV driver is not getting build with the
Linux 6.6. While it is being fixed, add dummy
variant for this driver to make the packaging
success.

Bug 4346767

Change-Id: I58e9817fc6ebc8bf61a932ed7f1917225ac6a54e
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3012091
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-08 03:30:52 -08:00
Joshua Cha
236a2f09ee nvidia-oot: add IPA type info of IVC channel
Bug 4293372

Signed-off-by: Joshua Cha <joshuac@nvidia.com>
Change-Id: I5c0cf142afdac9a6a1108a38513af6861272a8e9
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2995973
(cherry picked from commit ebedbb2492ea13211b53a48655e9312ba6b255dd)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3004066
Reviewed-by: Kurt Yi <kyi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-02 18:13:33 -07:00
Vishnu Mandalapu
d539245685 drivers: virt: hvc sysfs
- Previously numbers are appended to the sysfs name to solve
  the duplicate name issue. Now this issue is fixed as name
  is changed by server owners. so remove the numbers from
  sysfs name.

Jira HYP-15378

Change-Id: I3384583182520ccd53ea895d799c1e8debc07705
Signed-off-by: Vishnu Mandalapu <vmandalapu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2998182
Reviewed-by: Anil Varma Biruduraju <abiruduraju@nvidia.com>
Reviewed-by: Vipin Kumar <vipink@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3002432
Reviewed-by: Kiran Puttur <kputtur@nvidia.com>
2023-10-27 01:03:07 -07:00
Shreshtha SAHU
36531e7e1d virt: tegra: tegra_hv: print total IVC and mempool memory usage
bug 4115385
bug 4136301

Change-Id: Idfdf1b3a45943b4da58bb7da9070825472ec3d53
Signed-off-by: Shreshtha SAHU <ssahu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2997776
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Kasinadha Dendukuri <kdendukuri@nvidia.com>
Tested-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-10-17 10:01:50 -07:00
Jon Hunter
ce678a37b1 drivers: Add conftest test for class_create
In Linux v6.4, the module pointer argument is removed from the
class_create() function. Add a test to the conftest script that checks
if this argument for the class_create() function has been removed and
use the definition created by conftest to select which version of the
function is used.

Bug 4183168
Bug 4221847

Change-Id: I440e4b318001886cd0319bb3499ba33178475e8c
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2989020
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-10-05 17:54:05 -07:00
Shardar Mohammed
4be2dd36bb nvidia-oot: remove module * from class_create()
Remove the module pointer from the class_create() based
on following change in core kernel

======
driver core: class: remove module * from class_create()

The module pointer in class_create() never actually did anything, and it
shouldn't have been requred to be set as a parameter even if it did
something.  So just remove it and fix up all callers of the function in
the kernel tree at the same time.

Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
=====

Bug 4276500

Change-Id: Ifa0a92a282151ce12dc4a48f4f4b5b9499d3fbd8
Signed-off-by: Shardar Mohammed <smohammed@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2976600
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-09-08 18:09:50 -07:00
Jian-Min Liu
898a587665 Revert "Add compiler flag to avoid function re-definition"
This reverts commit 2cf67077e2.

The CONFIG_TEGRA_VIRTUALIZATION defined in the top-level Makefile
can be effective in the ACK build after refined make cmd.

Bug 4187941
Bug 4223187

Signed-off-by: Jian-Min Liu <jianminl@nvidia.com>
Change-Id: Ibe2eabd7c3b84c8f753a089231e90993f377b513
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2954802
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-08-14 01:55:13 -07:00
Manish Bhardwaj
d421a6465c storage: fix cert-c issue in tegra_hv driver
Using this patch we are fixing below cert error:-
1. check_return: Calling tegra_ivc_init without checking
   return value (as is done elsewhere 42 out of 52 times).

CID 10177835

Bug 3512545

Change-Id: I625914bbeee69718689d23da942feec9f05e9236
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2937650
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-07-19 08:49:56 -07:00
Jian-Min Liu
2cf67077e2 Add compiler flag to avoid function re-definition
Add CONFIG_TEGRA_VIRTUALIZATION with ack-5.15 build to avoid
re-definition symbols when building tegra_hv.ko

Bug 4187941

Change-Id: I64eb10264b527d59919fbe781198d227d0a21dda
Signed-off-by: Jian-Min Liu <jianminl@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2933664
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
2023-07-14 20:20:16 -07:00
Jon Hunter
deffbf24ab virt: tegra: Ensure functions stubs are defined
When building the out-of-tree drivers with virtualization support
disabled, symbols for some of the virtualization functions are not found
...

 nvgpu: Unknown symbol tegra_hv_mempool_unreserve (err -2)
 nvgpu: Unknown symbol is_tegra_hypervisor_mode (err -2)
 nvgpu: Unknown symbol tegra_hv_mempool_reserve (err -2)
 nvhost_pva: Unknown symbol is_tegra_hypervisor_mode (err -2)
 mc_utils: Unknown symbol is_tegra_hypervisor_mode (err -2)
 mc_utils: Unknown symbol is_tegra_hypervisor_mode (err -2)

Update the hv-ivc.h header to ensure that these function stubs are
defined when virtualization support is disabled and only build the
hv-ivc driver if virtualization is enabled.

Finally, move populating the ccflags to the top-level Makefile and use
the subdir-ccflags directive to ensure the ccflags are passed to all
sub-directories.

Bug 4159372
Bug 4170085

Change-Id: I35edb91007524c3143dff7564f9ad545bd34e969
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2921199
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-07-05 14:34:15 -07:00
Manish Bhardwaj
61f67509a8 hvc_sysfs: delete kernel object
delete kernel object if driver initialization
gets failed

Bug 4080433

Change-Id: Iabe0cabf32a067224f6e17a5e54a1c7d90161c16
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2921795
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-06-24 07:26:30 -07:00
Akshay Tigga
d4d60fd1f8 Fix "Section mismatches detected"
Error:
Section mismatch in reference from the function
tegra_hv_probe() to the function .init.text:tegra_hv_setup()

Bug 3974840

Change-Id: Ie63e9db981836345512a0678e39b0574384e6c5a
Signed-off-by: Bruce Xu <brucex@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2901637
(cherry picked from commit ac941e3f8846fb4a7e20cf6df86e12be847bc530)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2910057
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Shardar Mohammed <smohammed@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Shardar Mohammed <smohammed@nvidia.com>
2023-05-29 03:55:50 -07:00
Suresh Venkatachalam
c54b70d60c virt: tegra: Fix LTP test issue with vcpu yield
Fix LTP test issue with vcpu yield by using cpumask_of() instead of
local variable in irq_set_affinity_hint()

Bug 4071450

Change-Id: Ibb08b6a4de7b349c07764cc62d417a39b319492d
Signed-off-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2888011
(cherry picked from commit 6fe837b40219d50ed4f8b0f054ac36fe187bb130)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2893603
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-26 20:06:04 -07:00
Suresh Venkatachalam
f6a50b3850 drivers: virt: fix coverity issue in vcpu yield
Fix coverity issue in vcpu yield module
CID: 10160090

JIRA ESLC-7173

Change-Id: If05ff31012e2b0086193de1b6f81521ff6edfe69
Signed-off-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2877878
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-30 10:30:55 -07:00
Manish Bhardwaj
ef7772605e nvidia-oot: fix sparse error in hv vcpu yield driver
Using this patch we are fixing below sparse
errors :-
1. drivers/virt/tegra/tegra_hv_vcpu_yield.c:218:30: warning:
   symbol 'fops' was not declared. Should it be static?

Bug 3954363

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I7ac696b0f4c7eef684bebdf7543022d666edb3d0
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2863104
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-01 10:27:44 -08:00
Manish Bhardwaj
9eb468d2b6 nvidia-oot: fix sparse issue in hv pm ctrl driver
Using this patch we are fixing below sparse
errors :-
1. drivers/virt/tegra/tegra_hv_pm_ctl.c:336:37: warning:
  incorrect type in initializer (different base types)
2. drivers/virt/tegra/tegra_hv_pm_ctl.c:337:39: warning:
  incorrect type in initializer (different base types)

Bug 3954363

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I30e4b153fef14dbe4849359a03e7ba4a1bc48f2f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2863103
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-01 10:27:40 -08:00
Manish Bhardwaj
25095addad nvidia-oot: fix sparse error in tegra_hv driver
Using this patch we are fixing below sparse
errors :-
1. drivers/virt/tegra/tegra_hv.c:950:19: warning:
   passing argument 1 of ‘tegra_hv_cleanup’ discards
   ‘const’ qualifier from pointer target type
   [-Wdiscarded-qualifiers]
2. drivers/virt/tegra/tegra_hv.c:950:26: warning:
   incorrect type in argument 1 (different modifiers)

Bug 3954363

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I88c9ef67d3ce3bc5c7693ce638522a174805733f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2863102
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-01 10:27:35 -08:00
Manish Bhardwaj
32157fc224 nviida-oot: fix sparse errors in ivc driver
Using this patch we are fixing below sparse
errors :-
1. drivers/virt/tegra/ivc-cdev.c:172:22:
   warning: invalid assignment: |=

Bug 3954363

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I48ec4a51fc03078859101c70563ff5accedeaa53
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2863101
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-01 10:27:31 -08:00
Jon Hunter
1c31e80d60 virt: tegra: Disable hypervisor driver for Linux v6.2+
Upstream Linux commit 4c1e0a97351a ("firmware: tegra: bpmp: Use
iosys-map helpers") updated the Tegra IVC driver to use the
iosys-map helpers for Linux v6.2. This causes the Tegra Hypervisor
driver build to fail. Temporarily disable the building of this
driver while this build issue is fixed. Stub functions are added to
permit other drivers that use this driver to build.

Bug 3936429
Bug 3974855

Change-Id: I182ab544f2d628f0159b303c15ade7428e416c86
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2861311
Reviewed-by: Rohit Khanna <rokhanna@nvidia.com>
Tested-by: Rohit Khanna <rokhanna@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-02-28 01:58:40 -08:00
Vishnu Mandalapu
c6a9a40f1f tegra: virt: hvc: sysfs
- Create new sysfs files based on trace buffer name.

Jira HYP-11997
Jira HYP-12629

Change-Id: I2461dcf22dd2ca8ff574a681390257c02750615d
Signed-off-by: Vishnu Mandalapu <vmandalapu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2795855
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Vipin Kumar <vipink@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-24 18:06:08 -08:00
Suresh Venkatachalam
3daf6e0d8c virt: tegra: port vcpu yield to oot kernel
add support for tegra_hv_vcpu_yield driver in oot kernel

JIRA ESLC-7041

Change-Id: I29b60ab141fb98be62614062ebf7a4214b812c87
Signed-off-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2810680
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Bharath H S <bhs@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-18 15:19:42 -08:00
Manish Bhardwaj
3a2b0c6038 oot: switch hypervisor notification implementation
Using this patch we are switching to PCIe based MSI
implementation from IVC based implementation to
send notification to other endpoint of IVC.

JIRA ESLC-6885

Change-Id: Iba270ef4b0170a5a542c13a0c8efa58fd43226ab
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2804390
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-10 07:03:53 -08:00
Manish Bhardwaj
006187b889 nvidia-oot: hypervisor driver as platform driver
Using this patch we are converting hypervisor driver
as platform driver since insertion of this module
is getting failed on native kernel due to
is_tegra_hypervisor_mode API failure since
hypervisor environment is missing, leading to
nvethernet module insertion causing the error
"Unknown Symbol tegra_hv_ivc_reserve".

Bug 3793131

Change-Id: I626c62aa0ada15c41283fb1875c351cada16ac51
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2798141
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-27 07:17:42 -07:00
Manish Bhardwaj
be84e3b28a nvidia: tegra_hv: fix compilation warning
WARNING: modpost: /home/mbhardwaj/kernel_only/out/
embedded-linux-generic-release/nvidia/kernel-rt_patches-nvidia-oot/
nvidia-oot/drivers/virt/tegra/tegra_hv.o (.exit.text+0x34): Section
mismatch in reference from the function cleanup_module() to the
function .init.text:tegra_hv_cleanup()
The function __exit cleanup_module() references a function __init
tegra_hv_cleanup(). This is often seen when error handling in the
exit function uses functionality in the init path. The fix is often
to remove the __init annotation of tegra_hv_cleanup() so it may be
used outside an init section.

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Ie3fb2875c0acc732d5673e7618593e67e412851f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2784195
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:49:36 -07:00
Manish Bhardwaj
d313ef2285 nvidia-oot: port tegra ivc-mempool driver
Using this patch we are adding support for
tegra ivc-mempool driver in oot kernel.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Iaaae26f581264b2d9b792bd26937da5f852dba8e
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2763833
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:49:32 -07:00
Manish Bhardwaj
b5bfbf41b4 nvidia-oot: port tegra ivc-cdev driver
Using this patch we are adding support for
tegra ivc-cdev driver in oot kernel.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I7b9d7b46e7ee3ba221aa25f25f1eec72a314fb79
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2763832
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:49:27 -07:00
Manish Bhardwaj
b791c2e35c nvidia-oot: port tegra hv_sysfs driver
Using this patch we are adding support for
tegra hv_sysfs driver in oot kernel.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Iaf944fe07b85173fb25489769176ab60e4fa9243
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2763831
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:49:23 -07:00
Manish Bhardwaj
e1424191a4 nvidia-oot: port tegra hv pm_ctrl driver
Using this patch we are adding support for
tegra hv pm_ctrl driver in oot kernel.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I33ee6d72e6f66edfdb5cd1eab9fc564e184f280f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2763830
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:49:18 -07:00
Manish Bhardwaj
6cf5029afb nvidia-oot: add support for hypervisor driver
Using this patch we are adding support
for hypervisor driver

Bug 3595577
JIRA ESLC-6884

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I0fc9b5eed45d584bc658c2613b33968bf8a91eaf
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2779389
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-09-28 22:48:12 -07:00