Bhadram Varka
f972af3192
nvethernet: Add debug capabilities
...
- Dumps the descriptor dump to kernel trace buffer.
- Enable/Disable descriptor dump through sysfs.
- Dumps the register/structure dump to kernel log.
Bug 200737108
Change-Id: Ica30a881adcbd7c86771a6b441b6ffcbf813ac17
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2556684
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Mahesh Patil
4318bd4ebb
nvethernet: pad calibration
...
Issue:
1. Current pad calibration does not check for RGMII/MDIO
interfaces idle
Fix:
1. Make sure RGMII and MDIO interface are idle before
doing pad calibration as per spec
Bug 2831220
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Change-Id: Ie4a7fadb2f2851c0d3eb62c1cd05f8e16d529931
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2321644
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Ajay Gupta <ajayg@nvidia.com >
Reviewed-by: Ashutosh Jha <ajha@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Mahesh Patil
b2213096ea
nvethernet: Remove thermal pad calibration
...
Remove thermal pad calibration for EQOS. It is no more required
as per latest HW team recommendation
Bug 3332089
Change-Id: I26ca02a5bc1f9eac34bc1415a2eb477f37fc8fd0
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2549598
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Mahesh Patil
c1cd386acd
nvethernet: Handle error conditions in macsec
...
1. Track MAC state and return error if MAC is down
2. Protect ref_count read with mutex to avoid race condition
3. free macsec priv memory on rmmod
Bug 3309824
Change-Id: Ia6f1cee0399c294b603b10a3ce8a3407060578d3
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2548464
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: Ashutosh Jha <ajha@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Mahesh Patil
2811efc501
nvethernet: Add DT macsec instance id
...
Added macsec's intance id which will be used by TZ
Bug 3324237
Change-Id: I6f7daf4e0947cac55ff161c44d628514de0a2e13
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2548469
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Ajay Gupta <ajayg@nvidia.com >
Reviewed-by: Ashutosh Jha <ajha@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Narayan Reddy
e584bbd262
nvetherenet: add different XFI/USXGMII modes
...
This change takes care of configuring different
connection speeds of XFI/USXGMII modes
Bug 200718307
Change-Id: Ic90297d310e6d84929f9b12edba50962fd848107
Signed-off-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2550412
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
f6570e4010
nvethernet: Add support for 2 step timestamp read
...
- On transmit complete callback
-- If OSI_TXDONE_CX_TS_DELAY flag is set in Tx done
flag, store buffer pointer along with pkt Id
in its internal array/list
- On Common interrupt:
-- Call osi to handle common interrupt.
- On trasmit complete interrupt:
-- Parse through internal array/list for pending TS
to read, by issuing OSI_CMD_GET_TS ioctl for pkt_id.
Loop until list is cleared or error is received.
-- On interface up
Remove old timestamp of channels initialized.
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Change-Id: I5104277de66dd240023f921fa5f7b4fcc035f74d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2535962
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
232d3615da
nvethernet: runtime power gating/ungating for MGBE
...
Adds support for runtime power gating/ungating
for MGBE through Linux PM runtime API's.
It requires power-domains DT entry to be part
of ethernet DT node.
Bug 200740290
Change-Id: I95727e8cbb5615d01603f4bb456253f05ff32d42
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2548337
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-by: Aleksandr Frid <afrid@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
537d6aa16b
nvethernet: Set MGBE TX, TX_PCS and MAC_DIV clks
...
There are three clks for MGBE which needs to be set based
on UPHY GBE mode and PHY line rate.
o MGBE_MAC_DIV_CLK will be set based on PHY line rate
o MGBE_MAC_TX/TX_PCS clks will be set based on UPHY GBE mode
Below are the settings -
UPHY GBE mode = 10G:
===================
Possible MAC working rates: 10G/5G/2.5G
1) MAC DIVISOR: 312.5MHz, 312.5/2MHZ and 312.5/4MHz
2) TX CLK: 644.5MHZ
3) TX PCS_CLK: 156.5MHz
UPHY GBE mode = 5G:
==================
Possible MAC working rates: 5G/2.5G
1) MAC DIVISOR: 312.5/2MHz and 312.5/4MHz
2) TX CLK: 322.2MHZ
3) TX PCS_CLK: 78.125MHz
Bug 200739493
Change-Id: Ie6b21f87d2077b8be621a32b2034b4eff1eb391e
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2541313
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Rakesh Goyal
8553696ea7
nvethernet: use real-time API to get current time
...
Issue: PTP configuration API is using monolithic
time API.
Fix: Use real-time API to get correct system time.
Bug 200666019
Change-Id: Ie6a8fd819a70f3c257ce214fae937356840a5421
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2533453
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
1d49d66c4f
nvethernet: Read XPCS/UPHY GBE properties for MGBE
...
Read below properties only for MGBE driver probe -
o xpcs-base
o UPHY GBE mode.
o xpcs_rst
Bug 200739336
Change-Id: Ief83b091e53425fbf6e5250af4ec7afa646de6ea
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2540495
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com >
2022-11-01 14:27:08 +05:30
nannaiah
0003b0bf62
Add virtualization check to configure CAR.
...
In case of virtualization, server does the CAR configuration
so SKIP the parse and configuring the CAR.
Bug 2694285
Change-Id: I5c9e5d180f2cd88ca0a55b3259f0d25ce8156a13
Signed-off-by: Nagaraj annaiah <nannaiah@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2536560
2022-11-01 14:27:08 +05:30
Mohan Thadikamalla
e6aa184c4e
nvethernet: Fix page pool kernel warnings
...
Issue:
Observed multiple kernel warnings on page pool free,
due to invalid page pool handling.
Fix:
Fix per page pool creation in receive
DMA channel ring resources function.
Bug 200735979
Change-Id: Ic35f406bb4eab6282539349769ee9ae490b8cb93
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2537492
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
2022-11-01 14:27:08 +05:30
Nagarjuna Kristam
4d919d3d4f
nvethernet: use OSI core for VM irq data
...
Issue:
VM IRQ configuration needs is done using DMA base, instead of RM
base.
Fix:
Update osi_core VM IRQ configuration instead of osi_dma.
Bug 200730767
Change-Id: I7193670c9e1745f760ace0e75a42b0cf129ee8e2
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2539622
2022-11-01 14:27:08 +05:30
Narayan Reddy
2c47124823
nvethernet: read vm-num from DT
...
Bug 200730767
Change-Id: I41c59e536ad7340a53a9bb57cd4bab24e55856f2
Signed-off-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2539621
Tested-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
ee63b13b24
nvethernet: add EQOS monitoring Rx clks
...
BPMP-FW exposes the following EQOS RX clocks:
o eqos_rx_input [external input clock from EQOS pad]
o eqos_rx [external input clock after RX clock gate]
o eqos_rx_m [monitoring clock: virtual clock that controls RX clock FMON]
o eqos_macsec_rx [external input clock after RX MACSEC clock gate
(separate gate from RX gate)]
To enable RX clock FMON -
o Issue clk_set_rate on EQOS_RX_INPUT
o Clk_enable for EQOS_RX_CLK and EQOS_RX_M
Bug 3286707
Change-Id: Ifa1482bcd82bec0f0c90693e99382b0a86409164
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2530476
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
3e54db3f15
nvethernet: Disable VM interrupts unconditionally
...
Issue: Observed that VM interrupts continuously fired
if previous NAPI schedule not able to complete the
poll function. This case observed more frequently
if Tx coalescing enabled.
Fix: Disable VM interrupts whether NAPI scheduled
or not. Also uses IRQ-OFF variant for NAPI schedule
since IRQ's already masked.
Bug 200722499
Change-Id: If6fb694c43a1c11efb4f4b881b9fb08dec834917
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2537503
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
3e4fa7b56a
nvethernet: change MTU only if DEBUG_MACSEC enable
...
Bug 200730979
Change-Id: I87cfdff095a2c4ce34362adc538e8311b1ece844
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2537482
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
2022-11-01 14:27:08 +05:30
nannaiah
975e946c85
nvethernet: Add workqueue to set Rx mode.
...
Issue:
Network RTNL lock disables scheduler which causes IVC hang.
Fix:
- Add workqueue to set Rx mode.
- Change IVC spinlock to workqueue.
- Add virtualization check for macsec clk init.
- Add Read & Write Register.
Bug 2694285
Change-Id: I8354b500c62c0145eeed9a66bfcc8227fc8999e7
Signed-off-by: Nagaraj annaiah <nannaiah@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2520309
2022-11-01 14:27:08 +05:30
Mahesh Patil
c804eef959
nvethernet: Reduce mtu if macsec enabled
...
Reduce mtu size due to macsec sectag in probe and change_mtu call
instead of open call to avoid wrong update of mtu size when interface up/down
is performed.
Bug 200730979
Change-Id: I17198d25295bc40d37204f5d0603696a0071f490
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2529412
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@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
Mahesh Patil
d814423323
nvethernet: Support multiple SC's
...
Add support for multiple SC's, so that multiple SC's can be
created using wpa_supplicant
Bug 200672416
Change-Id: Iaaa77972f989a3fafb5ade05c13c50d718bf9da9
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2511176
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Mahesh Patil
ddd655451d
nvethernet: Remove osd callback from osi
...
Remove calling osd callback from osi to program SAK and
program SAK from OSD itself.
Bug 3308383
Change-Id: I38192a6d036fda190a6cd8f3a901a79511972614
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2528694
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
a79b1f58c0
nvethernet: support for page pool
...
Add support for page pool and
enable it when CONFIG_PAGE_POOL
config got enabled.
Bug 200686236
Change-Id: I08efd68106182f65eac4e24b9f55baa22ce5968b
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2532360
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
2022-11-01 14:27:08 +05:30
Mahesh Patil
b55cba3cf7
nvethernet: Update mac/macsec init
...
Update mac/macsec init programming
1. macsec clock and reset programming order at init and deinit
2. macsec SOT values as per macsec IAS
3. mac IPG values as per macsec IAS
Bug 3266535
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Change-Id: I29c829c47d0ae7e3529464da79ba6a9a2bc68919
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2506487
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Rakesh Goyal
7f9b76c903
nvethernet: read MAC address from DT for new platform
...
Read index from ethernet DT node to index for MAC
address.
Bug 200724410
Change-Id: I714e73a500b3ce6d7b7a5e31cf48f8d4e239e9cc
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2531839
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
af92743699
nvethernet: update UPHY GBE mode with DT/sysfs
...
Bug 3288030
Change-Id: Id700c2b074c3fd8968ac632e84d7cdc0d75d1e32
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2531233
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
38e18d40ec
nvethernet: remove bypassing of clks/resets for VDK/uFPGA
...
Bug 3288030
Change-Id: I6905f76a73c0cf3df5196768334bf7cd1ba129e9
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2529194
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
719d5641dd
nvethernet: add support for MGBE/XPCS clocks
...
Bug 3288030
Change-Id: I78c88d86ff99010b3656c62f1074df30c068db66
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2529193
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
ae45ba80a8
nvethernet: add support for XPCS reset
...
Bug 3288030
Change-Id: I5e08c266befec52094c508719bff8e8d8e8ef696
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2522194
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
Rakesh Goyal
848c6a2e9a
nvethenret: use GFP_KERNEL instead of GFP_ATOMIC
...
Issue: For set_rx_mode() implementation, current design is creating
local list nodes with ATOMIC because this call in not in
Atomic context.
Fix: Use GFP_KERNEL flag to allocate memory for local list node.
Bug 200729431
Change-Id: I513ddce8a661ab6f465509791101e98c83bc8e96
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2527627
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
rakesh goyal
3479a84bc7
nvethernet: remove void pointers input arguments
...
removed void pointers function arguments for osd dma
callbacks
Bug 2739123
Change-Id: I8430d99c1528a7705d8016e2bfa15a027e82d515
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2514923
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Nagaraj Annaiah <nannaiah@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Rakesh Goyal
01d2b3fe51
nvethernet: L2 filter index handling at OSD layer
...
Linux OSD code maintaining link list to identify L2
filter added/removed in compare to earlier list.
By doing this OSD sends address and dma channel which
should to be removed from hardware instead of full
list every time.
Bug 200711542
Bug 200711544
Bug 200713215
Change-Id: I95d4dc687c5fd45a6e0bbc3c097e59b90b03b0e5
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2519592
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
dfc705b07b
nvethernet: use info log for default settings case
...
For TXQ and PTP RX queue, default setting are marked as errors
instead they needs to be marked info level logs.
Bug 200722499
Change-Id: I992a09661eb79a25b48999ef9b154b39be3cbb3d
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2523246
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
Rakesh Goyal
32ed166339
nvethernet: use L2 filter command to set MAC address
...
Issue:
1) Missing support for packet MC/BC packet duplication
2) Remove MAC UC and BC address on ether_close()
Fix:
1) Update OSI_CMD_L2_FILTER structure parameter to support
new algorithm.
2) MAC UC and BC address added to filter from ether_open()
and ether_resume() function.
3) Configure MAC register to support MC/BC packet
duplication
Bug 200711542
Bug 200711544
Bug 200713215
Change-Id: Ie589892de121e5873f5dfa9b9db9bf5c441ece71
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2519591
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Mahesh Patil
90a4dce1fb
nvethernet: Add aes 128/256bit macsec config
...
Adding aes 128/256 bit config support through sysfs node
Bug 3257779
Change-Id: I53b05842484d4ae0e9c51439415d35b171852574
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2484203
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Rakesh Goyal
e061e50704
nvethernet: compile osi hal layer code
...
Bug 200671160
Change-Id: If8041c258b92e6050f7c2051c7e6992ff07158b6
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2509242
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Mahesh Patil
023efe53b2
nvethernet: Enable key program through TZ
...
Enabling macsec key's programming using TZ
Bug 3246511
Change-Id: I07d921018a611e4c8dd57aaa27d20a845c9af658
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2478492
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Tested-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
nannaiah
ca2466ab09
nvethernet: Add fix to support virtualization.
...
1. Disable Power Ungate if virtualization is
enabled.
2. Remove use_stats flag.
Bug 2694285
Signed-off-by: Nagaraj annaiah <nannaiah@nvidia.com >
Change-Id: I76b22ae0459760558b6e2dccc181615d545b629d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2513958
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Tested-by: Nagaraj Annaiah <nannaiah@nvidia.com >
2022-11-01 14:27:08 +05:30
Mahesh Patil
3034739537
nvethernet: Enable macsec debug feature
...
Validate input parameters and handle debug
buffer interrupts
Bug 3265346
Change-Id: I145949293e149ab93a53beea848b0869b7fa42fa
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2498053
Tested-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
rakesh goyal
1c87167250
nvethernet: use single API for ioctl
...
To reduce number of external OSI interface APIs,
consolidated all IOCTL API to one interface API.
OSD should use same for all interaction to OSI.
Bug 200671160
Change-Id: I2ada2746f29be6cf396709c2ec12dd96d4a5ca15
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
d792dda9be
nvethernet: use get_core/get_dma API's
...
Change-Id: I10506fe522763b9f06b74b52cf2c31a9601cb937
2022-11-01 14:27:08 +05:30
Mahesh Patil
fb0487286a
nvethernet: Reduce 2 byte ethertype from mtu
...
Add 2 byte to SECTAG+ICV length to reduce 2 byte mtu size
Bug 200690445
Change-Id: I5136dbc275b03f159fc2e734c646392569f0de49
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
2022-11-01 14:27:08 +05:30
Srinivas Ramachandran
805fe9c4fa
nvethernet: Add support for MACsec controller
...
This commit adds the driver interface for the
MACsec controller. The driver interface is
invoked using generic netlink messages from
userspace MACsec key agreement agent.
Currently sysfs node is added to check the irq
stats for default macsec controller operation.
Bug 2913560
Change-Id: I07b0b778ba1c6674e87b103a3e68e158fea61c2c
Signed-off-by: Srinivas Ramachandran <srinivasra@nvidia.com >
2022-11-01 14:27:08 +05:30
Mohan Thadikamalla
c651869a94
nvethernet: Enable PTP offload support
...
Code to provide IOCTL to enable PTP offload.
Bug 200562286
Change-Id: Idea085979760182e6e832963afb316c7fe508f79
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2319555
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Tested-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Mohan Thadikamalla
9f70a55384
nvethernet: Add Multiple DMA channels route
...
- Add a new DT node to enable Multiple DMA routing
for netdev MC MAC ddress. Read the DT value
and store it into OSI core private data.
- Add new driver private IOCTL for MC DMA channels
selection as inputs and call ether_set_rx_mode
to update MAC filters with given DMA channels route.
Bug 200565911
Change-Id: I1e65322489e34c4b6318a769dac963073d4887ad
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
65801ffa7b
nvethernet: power ungate and reset support for MGBE
...
Change-Id: I5bfddc8e7d7c53bca7d74c800f23e0f592c1e3be
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Mohan Thadikamalla
c2f3c724bd
nvethernet: Add FRP command IOCTL support
...
Add new private IOCTL to perform
Flexible Receive Parser table entry
add, delete, and update operations
using OSI API call.
Bug 200565623
Change-Id: I00f2be1aaa6ee737de5154085be0521db0bb9593
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2331371
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Rakesh Goyal
f244049a90
nvethernet: TSN support
...
Initialize TSN and ioctl support for configuration
Bug 200561100
Change-Id: Ic8a488de7850b63a593db69e626b19ad139811a1
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2319819
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Rakesh Goyal
59e2c42725
nvethernet: Extend PTP support
...
Adding support for one step sync
Adding support for user input from sysfs node
Bug 200562043
Change-Id: I686f035d54c8fb998db968178aca772258830ec7
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2314229
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
a6520f2194
nvethernet: add support for RSS
...
Changes takes care generation Hash key and population
of hash table with necessary information.
It also adds support ethtool to get/set hash key/table.
Bug 200565647
Change-Id: I5d5364bc88f4dea9456919b886dd8ede7f638ae3
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2263899
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
2022-11-01 14:27:08 +05:30