Commit Graph

26 Commits

Author SHA1 Message Date
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