Commit Graph

1290 Commits

Author SHA1 Message Date
Revanth Kumar Uppala
7fc04f1749 BT: Add bluedroid_pm driver support for K5.15.
Bug 3750163

Change-Id: I7747bbcc8192cb1302e6650af24cade048cf5a0f
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2765115
Reviewed-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-29 04:03:38 -08:00
Joseph Lo
12dfceef12 sod: tegra: fuse: Fix the offset of FUSE_OPT_WAFER_ID
The offset of FUSE_OPT_WAFER_ID should be 0x110.

Bug 3830967

Change-Id: I84a5e82f134d1ed792b28bd0ab41b6fd33431749
Signed-off-by: Joseph Lo <josephl@nvidia.com>
(cherry picked from commit 834cfe5fefafee2464298c8ba7998802aeded1ea)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2810786
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-24 18:13:45 -08:00
Mikko Perttunen
f4a3e6b49a gpu: host1x-fence: Add pollfd support
Add support for pollfds, which are essentially file descriptors
with SYNC_FILE polling characteristics but that can have new
fences assigned to after the previous expires.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Change-Id: I6471720089041d3cc72dfaf2d1de221d80d28c27
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2806032
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-24 18:08:56 -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
Frank Chen
968c9df390 media: camera: Build ISC as OOT module
Convert automotive ISC kernel driver to OOT module.

Jira CAMERASW-7592

Change-Id: I0a81b58df941ef38bf0fb3226086e13b6d68d012
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2811344
Reviewed-by: Justin Kim (SW-TEGRA) <juskim@nvidia.com>
Reviewed-by: Shiva Dubey <sdubey@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-24 11:22:23 -08:00
Manish Bhardwaj
c126c2ee93 mttcan: fix kernel compilation warnings
Using this patch we are fixing below kernel compilation
warnings.
nvidia-oot/drivers/net/can/mttcan/native/m_ttcan_linux.c:
In function 'mttcan_tx_complete':
nvidia-oot/drivers/net/can/mttcan/native/m_ttcan_linux.c
:619:3: warning: ignoring return value of 'can_get_echo_skb',
declared with attribute warn_unused_result [-Wunused-result]
   can_get_echo_skb(dev, msg_no, 0);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Bug 3832874

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I38426d44a479eb7f87f911985bcaabc96b6b1aa1
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2811270
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Shubhi Garg <shgarg@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-22 11:57:40 -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
Abhilash G
edc5ed31aa drivers: debug: Print DT node name during boot
Bug 3860578

Change-Id: I03290657d6a0fad019b1b5126dea0d091769cc45
Signed-off-by: Abhilash G <abhilashg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2808727
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-18 15:18:40 -08:00
Manish Bhardwaj
9408892331 mttcan: fix kernel compilation warnings
Using this patch we are fixing below kernel compilation
warnings.
out/linux/arm64-defconfig-jetson-modules/nvidia-oot/drivers
/net/can/mttcan/native/m_ttcan_linux.c: In function 'mttcan_start_xmit':
/mlt/kernel/include/linux/stddef.h:8:14: warning: passing argument 4 of
'can_put_echo_skb' makes integer from pointer without a cast
[-Wint-conversion]
 #define NULL ((void *)0)

Bug 3832874

Change-Id: I2aa565f37494f6af39a43b389ea3e1ad7775ed44
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2809373
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-15 11:29:11 -08:00
Laxman Dewangan
7f81325068 t234: Move tegra234 DTS/DTSI files to hardware/nvidia
Move DTS and DTSI files of Tegra234 to the /hardware/nvidia
respective folders part of DTS/DTSI re-organisation and
independent of nvidia-oot.

Following are movement:
      hardware/nvidia/soc/generic-dts/t23x
		tegra234-soc-base.dtsi
		tegra234-soc-display-overlay.dtsi
		tegra234-soc-overlay.dtsi
		tegra234-audio-dai-links-overlay.dtsi

      hardware/nvidia/platform/t23x/concord/dts/generic-dts
		tegra234-carveouts.dts
		tegra234-jetson.dts
		tegra234-dcb-p3737-0000-p3701-0000.dtsi
		tegra234-p3701-0000-overlay.dtsi
		tegra234-p3737-0000+p3701-0000-overlay.dts
		tegra234-p3737-0000-overlay.dtsi
		tegra234-sbsa-uart.dts
      hardware/nvidia/platform/t23x/firespray/dts/generic-dts
		tegra234-p3710-0010-a01-linux-native.dts
		tegra234-p3710-0010-a04-linux-native.dts
		tegra234-p3710-0020-a01-linux-native.dts

Bug 3523182

Change-Id: Ibdecf2fee4a392d9f462405eb229f0984b82ad07
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2808093
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-15 11:27:57 -08:00
Nagarjuna Kristam
e1f7bf59ed PCI: EPF: dma-test: Use callback instead of notifier
EPF framework no longer supports notifers but supports callbacks instead.
Register callbacks for init and deinit.
Enable DMA test driver only if EP support is enabled.

Bug 3790460

Change-Id: Ic1e14cdc1a0bd80d49991b5f94713b705085825b
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2702389
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-15 11:19:59 -08:00
Mahesh Kumar
d8e47b9904 oot: Add bpmp-abi header to nvidia-oot
BPMP ABI latest header is not yet available in the upstream. but few of
the structs from the header are used by the display driver.
Bpmp_abi header will be upstream with the next BPMP upstream delivery.
To unblock oot work, this patch adds bpmp-abi.h file in nvidia-oot repo.

Note: This header must be removed once jammy-src gets the latest header
update.

Bug 3866724

Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com>
Change-Id: Ieb1f610612674d3dbf427d27aa20887c671983cd
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2804280
Tested-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2022-11-14 02:47:33 -08:00
Laxman Dewangan
e4f3b51112 device-tree: Use TEGRA_TOP for hardware DT source
Use the TEGRA_TOP environment variable for getting the
path of hardware DT source. If it is not available then
use the TOP.

If TEGRA_TOP and TOP is not exported then report compilation
error.

Bug 3860258

Change-Id: I5c31f8861f795cec3b3bddb01621e3413d044454
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2807613
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Tested-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-12 16:34:35 -08:00
Laxman Dewangan
d875303e72 device-tree: Add makefile for making generic-dts
Add Makefile to make generic DTS files which are available
at hardware/nvidia/platform/*/generic-dts. These DTS are
mainline compliance.

Bug 3860258

Change-Id: I5e8218f7ee7f2ba192fe130ee983480b3c8ea413
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2804233
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2022-11-11 09:57:43 -08:00
Akhil R
f6042cd2af arm64: tegra: Add aliases for I2C controllers
Add aliases for I2C controllers so that the hardware instance
number matches with the software.

Bug 3583581

Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
Change-Id: I75d939e0ccaf2339f951b28017b46d416d3adfac
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2806745
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-10 16:52:59 -08:00
omar nemri
31e0d65743 nvidia-oot: dts: add DT nodes for PVA
add and enable PVA and its context devices

Bug 3583639

Change-Id: I80ca263a6ecc62eab7ee5dbb4d67af463c56dd60
Signed-off-by: omar nemri <onemri@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2793135
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-10 11:51:08 -08:00
Ashish Mhetre
25074f2a0c platform: tegra: Add OOT driver for MC utilities
Add mc-utils OOT module which is used by clients to get information
regarding MC and EMC parameters.

Bug 3826001

Change-Id: Ic03405bd1f6f6ba4bb11082c0e94c67e99cfbb6d
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2805684
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-10 07:07:07 -08:00
Prathamesh Shete
e6f189141d nvidia-oot: dts: add DT node for SDMMC1 instance
Add and enable SDMMC1 DT node for T234

Change-Id: Ib8be4fd8b7f0cad1d6f0fb69e86b443e3c1d470b
Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2805053
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-10 07:05:32 -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
Laxman Dewangan
f31946e09e device-tree: Keep legacy hardware/nvidia DTS file to legacy-dts
Move makefile which make the downstream dts from
hardware/nvidia/platform to the legacy-dts folder.

There will be another DTS build rule for making the generic-dts
files which are mainline compliant.

Bug 3860258

Change-Id: I94fea353112482274478178f9f42db9bb5292430
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2804232
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-09 11:29:15 -08:00
Laxman Dewangan
ee194b0505 device-tree: Make DTS from kernel-dts of hardware/nvidia
The folders hardware/nvidia/platform/t23x contains the platform
specific DTS and their makefiles are in kernel-dts. The DT binding
used in these DTS are deviated from upstream DT binding.
To add the DTS for platforms matching with the mainline
DT binding, it is required to compile only the legacy
DTS or new DTS.

Modify the makefile to compile DTS from kernel-dts folder
only which contains the legacy DTS.

Bug 3860258

Change-Id: I51866d18e0cd17edaf576f6632579c9999022042
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2804178
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-07 23:47:52 -08:00
Timo Alho
071c49bf11 tegra: clk: bpmp: add missing bpmp-abi.h definitions
Older kernels do not have new definitions for
BPMP_CLK_RATE_PARENT_CHANGE_DENIED and
BPMP_CLK_STATE_CHANGE_DENIED. To fix compile issues, add them directly
to clk-bpmp.c

Bug 3856746

Signed-off-by: Timo Alho <talho@nvidia.com>
Change-Id: Ibdaf0e8ccfe5feca3153a61c9e2f972136b94147
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2802621
Tested-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2022-11-04 16:28:03 -07:00
Prathamesh Shete
af9627ed14 nvidia-oot: dts: pinmux: Add pinmux DT node for T234
Add and enable pinmux DT node for T234.

The tegra-audio-pinmux-testsuite.sh fails with error
saying "Pinmux sysfs path not found".
Above failure is seen as pinmux driver is not enabled on OOT.
This change adds required pinmux DT node and enables it.

Bug 3839203

Change-Id: If465054f20ddfef2d82eb547d08e69f55f06e311
Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2801702
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-02 12:21:48 -07:00
Ashish Mhetre
2af0e64649 arm64: dts: Add smmu_test node
Add DT node for smmu_test in T234 DT overlay file which is used by
iova_range_check and smmu_benchmark tests

Bug 3821422

Change-Id: I532276a8ba097447114ce0911b6dfb3059a02ea9
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2801144
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-02 12:20:23 -07:00
Gerrit Code Review
227d6cb657 Merge "Merge remote-tracking branch 'origin/dev/ruppala/nvethernet' into dev-main" into dev-main 2022-11-02 12:20:04 -07:00
Rahul Bedarkar
1f45d1e993 Remove tegra-epl driver
tegra-epl driver is added in kernel-oot repo so that i2c, pcie and
other upstream drivers can use interface to report errors.

Bug 3847981

Change-Id: I9dfe5cd92eb9955a35753ce14a12dc4799258b70
Signed-off-by: Rahul Bedarkar <rabedarkar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2799410
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-02 12:17:10 -07:00
Akhil R
7ca4e62987 arm64: tegra: Remove GPCDMA driver from OOT
Remove GPCDMA from OOT and merge the Linux mainline  changes in
kernel-oot

Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
Change-Id: I6370d80335fba306d1e202e72f9d8da33051d60f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2792224
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-02 06:15:48 -07:00
Akhil R
a19a9be96c dmaengine: tegra: Remove GPCDMA driver from OOT
Remove GPCDMA from OOT and merge the Linux mainline changes in
kernel-oot

Change-Id: I518f7796040051b6da52efd603ea8176800a3005
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2792223
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-02 06:15:38 -07:00
Sanjay Chandrashekara
b068faea74 t23x: concord: dts: enable cpu core power gating
This patch enables cpu core power gating through cpuidle.

Bug 3583597

Change-Id: I93bff177a003a825b0297105e4c862f5b0d4c42f
Signed-off-by: Sanjay Chandrashekara <sanjayc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2799745
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-01 05:43:46 -07:00
Revanth Kumar Uppala
0d03d640ba Merge remote-tracking branch 'origin/dev/ruppala/nvethernet' into dev-main
Moving nvethernet driver from linux-nvidia repo to linux-nv-oot repo

Change-Id: I6ebb2f2ab54497a796d821752f8931f590d22084
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
2022-11-01 14:39:46 +05:30
Bhadram Varka
0772521bf1 nvethernet: remove save/restore register IOCTL code
Bug 3701869

Change-Id: I8b4e67aa6420a46fda7185261c8ecbac0db90f40
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2787485
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Rakesh Goyal
e7ff48aaad nvethernet: update code to use new structure
Remove not required members of ifr_data structure.
Add structure in exported header file.
Add support in code to understand new data structure.

Bug 3704251

Change-Id: I495b34edaa6ac324933508c12a3612de4a52175b
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2782590
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Rakesh Goyal
36df82d64b nvethernet: support for adding L2 filter
Support to add L2 filter uing ioctl
when  Ethernet virtulization is enabled

Bug 3659048

Change-Id: Ib990bf5fa5762f01563b1017b8d3e0c8b02320a6
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2777262
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Mahesh Patil
c896399b53 nvethernet: Fix CERT INT31-C issues in sysfs.c
Cert error reported in
https://sccovlink:8443/reports.htm#v17826/p10248/g17826g
CID 565796

Bug 3745813

Change-Id: I1edb8bb1de6f4d28f5b1a5eaf14bc33bcb5a829c
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2765590
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
8ff195acb5 nvethernet: Add support for SAK 256 with PKCS11
Bug 3784504

Change-Id: Id2f4af4e3d882f95a76b7281d7b260ca8c32c702
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2776048
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Mahesh Patil
ae8ea24a6c Port wpa_supplicant nvmacsec to nvpkcs11
Adding linux driver changes required to support macsec nvpkcs11
framework api's

Bug 3573999
Bug 3345671

Change-Id: I6181b05eea08e9c329e89384fb7f23604918632b
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2692303
Reviewed-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-by: Nagaraj Annaiah <nannaiah@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Bhadram Varka
d3509d8c5d nvethernet: fix buffer re-use usage
Issue: If OSI_RX_SWCX_REUSE flag is set in OSI then
OSD will not reallocate the buffer for that descriptor
index. It will re-use the same buffer virt/physical
addresses. If that buffer is a reserved buffer then OSI
will not process that so it will result in packet drops.

Fix: Reuse the buffer is OSI_RX_SWCX_REUSE flag is set
and the buffer is not a reserved buffer.

Bug 3727058

Change-Id: I3331604a90b2cbe902d91f2082e1fe36f830decc
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2745194
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-01 14:27:08 +05:30
Rakesh Goyal
62f3c4ff12 nvethernet: take exported ioctl related header out
Issue: SW needs to support IOCTL on safety builds and
these header should be exposed to user

Fix: create new header file which is exposed externally

Bug 3704251

Change-Id: Ieee52b5e9ff28cefeb2435be389e3e8df0abe6d1
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2759473
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Bhadram Varka
f667be2c63 nvethernet: fix spin lock recursion
Issue:
1) dev_queue_xmit acquired the per queue tx lock and called driver
transmit routine.
2) During the transmit - common interrupt asserted which tries to
acquire the same tx lock which resulted in lock recursion.

Fix: Move the lock acquire to tasklet context under common isr.

Bug 3773016

Change-Id: I7cfd49beb1238286d3bccd9e4b9ccc054c4f6d30
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2770227
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Nagaraj Annaiah
1ffcf6d286 nvethernet: Add IVC support atomic
Issue: completion_timeout doesn't support atomic.

Fix: Remove mutex and wait event and change to poll_timeout.

Bug 3733795

Change-Id: Ieb26623ae6191d442bb2f7e2b8c6925660882cfe
Signed-off-by: Nagaraj Annaiah <nannaiah@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2759245
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
1cb18af637 nvethernet: Update the sysfs with macsec an status
Bug 3757857

Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Change-Id: I61101fcd1d8229c5e0b8e9f85aae4cea8320ef07
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2765063
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-01 14:27:08 +05:30
Rakesh Goyal
d4e9ecf359 nvethernet: use default selection algorithm
Issue: EQOS supports SP as default algorithm
where MGBE should support ETS as default algorithm.

Fix: We are removing user configuration option from
application. For MGBE there are CBS or ETS(default) as only
options. For EQOS CBS and SP(default) is only options.

Bug 3735907

Change-Id: I83ff3f59129e188335d9cec239d5eb0b2fa76412
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2757410
Reviewed-by: Bitan Biswas <bbiswas@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>
2022-11-01 14:27:08 +05:30
Narayan Reddy
99acf2912b nvethernet: add lane bringup restart callback
Issue: In the current scenrio, when the remote
interface is brought down and up. There is no way
of getting the link up again with the remote device
which in turn fails the data transfers even though
interface from other end is brought up.

Fix: When interface is gone down on the other side,
MAC receives local faults and in this scenario
no data should be sent to MAC, so disable network
queues and initiate the lane bring up process for
monitoring the link status. Once the link is up,
re enable the network queues for data transfers.

Also added support for enabling driver logs using
msglvl of ethtool

Bug 3744088
Bug 3654543
Bug 3665378

Change-Id: I16cdee74e4e3ff6cd176924575f5005f385d4c5d
Signed-off-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2730876
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
f502700729 nvethernet: macsec: Do not enable car in virt case
Issue: Clocks and resets would be taken care by server if enabled

Fix: Skip enabling macsec clocks and resets if virtualization is enabled

Bug 3743615

Change-Id: I0ed13d7ba52279652619b5cac406c2b2ffd503a5
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2755780
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Narayan Reddy
617b7327a9 nvethernet: remove pre_si code
remove code for handling pre_si which is unused

Bug 3701869

Change-Id: I3f8fa3e269ea205709e76c4d53d602a13099c5f0
Signed-off-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2747494
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Tested-by: Bhadram Varka <vbhadram@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
47185d2fc3 nvethernet: macsec API cleanup
Cleanup of OSI macsec APIs, hence made relevant changes to OSD

Bug 3709820

Change-Id: I33a77f31553d213e565a7f4ad346fe3c026fafde
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2738231
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
6104d5e348 nvethernet:macsec:Related change to OSI misra fix
Fixed MISRA 15.5 and 2.5 errors in OSI hence these are the dependednt
changes in Linux OSD

Bug 3691236

Change-Id: Ie590082025235c48abb1588550121e80b92db487
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2735586
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
c7376b2390 nvethernet: macsec suspend-resume with wol enabled
Issue: If WOL is enabled after running "./ethtool -s eth0 wol g"
command there will not be any eapol frames transaction, hence macsec
will be disabled. As macsec is disabled before suspend we are not
enabling it back once resumed. Because of this eapol frames are also
sent with sec-tag as byp_lut is not programmed.

Fix: Instead of depending on the macsec state, check if there is any
supplicant running, if there is any supplicant then enable the macsec
post resume.

Bug 3577131

Change-Id: I6018b94411034eebba34f5f0a9520907305c573e
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2694446
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
76abafe3a3 nvethernet: consume the timestamp if available in tx done
Issue: Observed Tx timestamp timeout from application since
workqueue is not getting scheduled at the driver layer to consume
the Tx timestamp from the OSI layer which resulted in tx_timeout
from APP layer.

Fix: Invoke the timestamp consume function in tx done instead
of scheduling through workqueue. Schedule the work queue only
if the timestamp is not found.

Bug 3658701

Change-Id: If97aebc1980f685e3cc34f135ace91298ee78657
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2732444
Reviewed-by: Troy Kong <troyk@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Tested-by: Troy Kong <troyk@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
cafe9a309c nvethernet:macsec: Added support to use AES_256
Bug 3673435

Change-Id: Ifeedf740f23595e887de0cb8b67dc07f901b089e
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2730247
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30