Commit Graph

802 Commits

Author SHA1 Message Date
Bhadram Varka
3f92593795 osi: macsec: fix build issue
Bug 200722499

Change-Id: I75cd89350954bc8ed7632ec0788d2efe7c6848aa
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2522868
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Gaurav Asati <gasati@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
3c7d8ee332 nvethernetrm: Add aes 128/256bit macsec config
Adding aes 128/256 bit config support through sysfs node

Bug 3257779

Change-Id: Ic1736b309a28faa7591184167a94156ca816fb57
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2484200
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Rakesh Goyal
813f404a6c core: fix get_core init_done check
Issue: In case of virtualization, init_done for
VM's osi_core is not set which leads to give same
osi_core in case of other VM.

Fix: osi_get_core check for if_init_done instead of init_done

Change-Id: Ib8ffe156723685b4f7fde1f197df3c2c589f75ac
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2518053
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
praveen
8c167c25ac osi: eqos: Add support for clause 45 direct access
- Add support for clause 45 direct access.

Jira ESDP-11141
Bug 200713249

Change-Id: I647ccc3f57ab35cf4b9e7ef098d807d636dcb692
Signed-off-by: praveen <pbajantri@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2480826
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2517425
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Tested-by: Rakesh Goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
7247798e86 osi: enable validation of function pointer
Function pointer mgbe_validate_dma_regs() missing
for mgbe which resulted in failure. Adding dummy
function to make sure validate function pointers
will pass.

Bug 200671160

Change-Id: I4c998c86b56451e180e4ee0614192b6100d88bde
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2517631
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
2024-02-21 16:31:59 +05:30
Rakesh Goyal
1bcbb28656 nvethernetrm: add interface operations for virtualization/non-virtualization
Issue:  In current implementation virualization
	callback are at HW ops level, which leads
        to multiple IVC calls.
Fix:	- IVC call happens only for core API's in case
	virtualization
	- For non-virtualization case HW operations will
	be invoked directly from OS OSD.
	- From Ethernet server OSD - OSI HAL API's
	should be called to access the HW operations

Bug 200671160

Change-Id: Ic3730fb822ae37fdf29fabf429f18f5d5bacd210
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2509243
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
324d18c327 osi: fix build errors for MACSec IVC ops
Bug 200671160

Change-Id: I02e2753db3d7c196a67e62aca7a4853471605e97
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2516096
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
4562e552e4 nvethernetrm: Enable key program through TZ
Enabling macsec key's programming using TZ

Bug 3246511

Change-Id: I1e7633b042e1ebedef78fff9812aeaaa2480a1c4
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2478489
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
nannaiah
17756932dc osi: Add virtualization fix.
- Change osi_readl to osi_readla
- Change osi_writel to osi_writela
- Add IVC macsec commands.
- Add OSI_MGBE_MAC_3_00 as valid list of version.
- Disable validate_func_ptrs as it returns failure.

Bug 2694285
JIRA T23XMGBE-118

Signed-off-by: Nagaraj annaiah <nannaiah@nvidia.com>
Change-Id: I49187c0decb3de4184b7ef5e3a2e553a60c1d54f
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2515254
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
af4c746135 nvethernetrm: Enable macsec debug feature
Validate input parameters and handle debug buffer interrupts

Bug 3265346

Change-Id: I8a7ebf66d20867fe4fb890d7d09d044d15108a17
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2496672
Tested-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
d3116f4cf2 core: handle ioctl in single API
To reduce number of external interface APIs,
consolidate all IOCTL API to one interface API.

Bug 200671160

Change-Id: I407ee5c50c8b3293c5be613beda68e1e450dce89
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
Rakesh Goayl
136f4f7b65 osi: compile OSI core and dma for QNX
Bug 200671160

Change-Id: I0c635914471cbd99d49b3e9d4b09dd70cd7d3159
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
b60b44dc67 osi: add support for handling multiple IP's
Issue: Since core_ops/dma_chan_ops are static global
variables and these are stored in data segment of
a process. In linux when insmod happens eqos and mgbe
will get probe which inturn initialize osi core ops.
Since data segment is shared here eqos core ops pointer
overwritten by mgbe core operations.

Fix: Use separe core ops and local global variable
for each instance.

Bug 200671160

Change-Id: I7f093608d812e2ced1bf73339dbd70f0091fe5b4
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
0f2576f650 nvethernetrm: Use correct sc start_idx in delete
Use correct sc start_idx when deleting SC/AN

Bug 3206033

Change-Id: I38fc92c743e905d04a5cdc671b5cb59f55ba7c97
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
03b21e9f6c nvethernetrm: Update mmc counter properly
Don't add accumulated previous counter value when
counter is updated with latest value. Register value
itself is accumulated counter.

Bug 200688810

Change-Id: I93c971724557813a317cc118ce1b4459b9772d83
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
8273721434 nvethernetrm: Reduce 2 byte ethertype from mtu
Add 2 byte to SECTAG+ICV length to reduce 2 byte mtu size
Bug 200690445

Change-Id: I4ccab6958e73fdfe90e386714a5ea4a8454ed8d9
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
2024-02-21 16:31:59 +05:30
Srinivas Ramachandran
bc73f82428 nvethernetrm: Add support for MACsec controller
This commit adds support for MACsec controller HW
operations. The MACsec HW ops can be accessed via
osi_core layer.

Currently, MACsec HW is enabled when MAC interface
is brough up, with no LUT entry so that packets
will still be bypassed. MTU check is enabled and
default interrupts are enabled for statistics.

Bug 2913560

Change-Id: I62e8567fac6603db47f4069a40458038f9b4178a
Signed-off-by: Srinivas Ramachandran <srinivasra@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
b541829404 osi: mgbe: add support for PMCBCQ and OVHD
Issue:	MCBC queue for preemptable packet is default Queue
	0 and update Overhead Bytes Value default value is
	not sufficient as per HW update.

Fix:	MCBCQ for preemptable packet should be different
	from express packet Q. Using residual Queue for
	same.
	Add OVHD for MGBE as per programming information
	from HW team.

Bug 200561100
Bug 200630202

Change-Id: Ib37e37c4d229b62589e76b1879538cd66707024c
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
c7a15ecdeb nvethernetrm: eqos: fix MAC interrupt handling
Issue:  1) Return from irq handler if EQOS_MAC_PCS_LNKSTS
        is not set without checking FPE interrupt status
	bit set.
	2) Continue MTL interrupt if GCL wrong configured and
	Frames Scheduling error occur.

Fix:    1) As MAC interrupt handler code is updated
        to support FPE, SW should check for
        possible interrupt status bits before checking
	PCS interrupt.
	2) Correct FPRQ bit fields
	3) Set DFBS bit to drop Frames causing Scheduling
	Error

Bug 200604316

Change-Id: I83d35085707d5efd738090f6147b19d5b931d468
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
57847505ed nvethernetrm: mgbe: Add XDCS support
Enable multiple DMA Channels routing support
for MC/BC MAC Address with XDCS.

Bug 200565911

Change-Id: I7c9f9347361dd72e68696846a0a59e2e241e20c9
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
2024-02-21 16:31:59 +05:30
narayanr
b5a12c85e6 osi: mgbe: program recommended values
program the recommended values by HW team for
better performance

Bug 200565630
Bug 200570017

Change-Id: I96a870114623ce76804c49706d2961010448ca86
Signed-off-by: narayanr <narayanr@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
92fcd89857 nvethernetrm: eqos: Implement FRP callbacks
- Implement config_frp, update_frp_entry,
and update_frp_nve MAC callbacks.
- Set MCBCQ to max enabled RX queue index.

Bug 200604314

Change-Id: I154712685d8fad6d39a86474ddf18fd292e06451
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2340089
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
11665215d0 nvethernetrm: eqos: Implement PTP RX Queue support
Add new config_ptp_rxq call back to support
PTP RX Packets routing.

Bug 200565911

Change-Id: Iee75dba95c011420421e9d5fdd6ce44e3b07872d
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2318887
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
2024-02-21 16:31:59 +05:30
mohant
c5df9eacea nvethernetrm: Add PTP offload support
Bug 200562286

Change-Id: I7adf08da12458c7291391ef726fe1fa65cb1bda1
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2319556
Tested-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
8fc366921b nvethernetrm: mgbe: enable common interrupt
Bug 200599175

Change-Id: Ie510fae3837158a84aca51f5ac4a19bbf609d185
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2324884
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
eaffafe542 nvethernetrm: mgbe: Implement FRP callbacks
- Add a function to write the FRP entry
  into HW.
- Implement config_frp, update_frp_entry
  and update_frp_nve MAC callbacks.

Bug 200565623

Change-Id: Ia3deeebf60cdf4bd6976d9775fc7e678f6285ce4
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2330183
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
affadd3906 osi: XPCS WAR to combine init and start
Change-Id: Iee40898a2b18928f130dfa13f2d7ee8bb5c8c270
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Hareesh Kesireddy
34875928a2 osi: tx: update cur_tx_idx after memory barrier
Issue: TX and TX completion thread are running in parallel on
       different CPUs. As soon as first CPU updates OWN bit and
       TX index (before dmb and TAIL), second CPU started processing
       this descriptor and found OWN bit as 0. Due to this,
       2nd CPU reset the descriptor to 0s in osi_process_tx_completions()
       before HW process the descriptor.
       Hence HW still waiting at the reset descriptor while
       SW clean_idx has moved ahead.

Fix:   In TX path update cur_tx_idx only after DMB.

Bug 3296734

Change-Id: Ic9b6e636e4f8dc8d2e4e6b9af6be201f35e72428
Signed-off-by: Hareesh Kesireddy <hkesireddy@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2536248
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: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
984a87dfff nvethernetrm: Add Flexible Receive Parser support
- Define new data structure for the FRP table entry,
declare new frp_table and NVE variables in the OSI
core private structure.
- Define a new data structure for the OSI FRP command.
Add new OSI API to initiate FRP commands from OSD.

Bug 200565623

Change-Id: I84660a6e8270a681b82236d0c39423660b3821ff
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2330182
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
66c2312eb2 nvethernetrm: mgbe: TSN support for MGBE IP
1. EST/FPE support for MGBE
2. MMC counters for FPE
3. EST errors and state counter

Bug 200561100

Change-Id: I556c5d53bb483549e217cde2f1bcb342291be912
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2319826
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
75a529b2f0 nvethernetrm: eqos: TSN support for EQOS IP
1. Adds basic OSI API's for EST/FPE
2. EST/FPE support for EQOS
3. MMC counters for FPE
4. EST errors and state counter

Bug 200561100

Change-Id: Iee3e6caac5d16e1620c25420d72700f9cdd00465
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2319820
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
ed13225788 nvethernetrm: update SSINC & ptp_ref_clk
Configure SSINC and ptp_ref_clk based on ethernet IP

Bug 200565914

Change-Id: I0a29d4506f56c7e4bdb36cc2cee9276f849b4a26
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2320590
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Rakesh Goyal
f6cbb32a42 nvethernetrm: mgbe: add PTP support
Change takes care of -
o Enable PTP for MGBE
o Added flags for One step/two step and also
for PTP master/slave
o Getting timestamp from MAC registers for MGBE.

Bug 200565914

Change-Id: I17346451f2619f0526a737a4a6bffdf130af4fc0
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2314201
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
vbhadram
d17a9e4c63 nvethernetrm: mgbe: add support for RSS
This change programs 40byte Hash key and indirection table
(Hash table) (has DMA channel numbers) in MAC
Once packet received by MAC - 4-tuples will be extracted
from the packet and given to RSS hash engine. Hash function
will generate hash value by using 40byte key.
From hash value LSB bits used as index to RSS lookup table to
find out DMA channel number. If there is a match - packet is
routed to corresponding DMA channel. If there is no match -
packet will be dropped and error will be returned in receive desc.

Bug 200565647

Change-Id: Iffbb5a452f03278b3ba0bc061f09b43c7c994289
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2263398
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
08ea92dfbd osi: mgbe: support for get hw features
Bug 200565647

Change-Id: I3599f3606254bf70a8b4d48da0497f0c70c89ead
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
c18e66fecb nvethernetrm: mgbe: Implement PTP RX Queue support
Implement config_ptp_rxq call back to add PTP
RX Packets routing support.

Bug 200596985

Change-Id: I7a7649ab903c546d40a2c208fad381da8bfbc990
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
e540dd4386 nvethernetrm: Add RX Route support
- Add new ptp_rx_queue variable in
  osi_ptp_config structure.
- Declare an IP callback function
  for PTP RX queue index programming.
- Check and call IP based PTP RX queue
  callback in osi_ptp_configuration.

Bug 200596985

Change-Id: Ief040dc5b607ad729af5e9c0c1870249b456dcc7
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
2024-02-21 16:31:59 +05:30
Narayan Reddy
912cec99ca nvethernetrm: Add support for EEE LPI
Add an API to configure the EEE LPI mode.
Tx LPI is enabled with a default entry time of 1sec.
The MAC controller has capability to automatically
enter LPI mode when all transmissions are complete.

Bug 200565917

Change-Id: I59b5eccc83770bc7dff9dadb192b733e0d01d7dd
Signed-off-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2274444
Tested-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Narayan Reddy
d7e31f4de7 nvethernetrm: mgbe: add flow control support
Add flow control support for MGBE.

Bug 200565905

Change-Id: I4edb82225cfd60fcff47d0aef11b516d9960961a
Signed-off-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2278454
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
ea091f57ed nvethernetrm: mgbe: Add save and restore support
- Define missing register that requires
  save and restore support
- Define MGBE-HW-BACKUP group for these
  register backup index
- Define new mgbe_core_backup_config core_backup structure
- Add mgbe_core_backup_init call to
  initialize reg_addr of mgbe_core_backup_config
- Implement save and restore callbacks to
  save and restore of direct and indirect access registers

Bug 200596517

Change-Id: I58e9571a916223c90b3ed1f4622f57648c013c77
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2310184
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
99ad1ad78e nvethernetrm: mgbe/eqos: Add support for VLAN
Adds support for VLAN insertion/deletion and filtering
on receive side.

Perfect filtering enabled for the VLAN filtering.
HW maximum has 32 VLAN perfect filters. If user adds
more than 32 then all VID's will be allowed

Bug 200565888

Change-Id: I75bdc261a77df4f9d9f5fff9a2943731de9dd4ef
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2312144
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
2024-02-21 16:31:59 +05:30
narayanr
a41808f643 nvethernetrm: mgbe: fix doxygen comments
Bug 200598918

Change-Id: I230c16d83070356efc8560b26a238db7927e7adf
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2314668
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
06a55f9c41 nvethernetrm: mgbe: Add AVB CBS support
Add AVB CBS set and get operations
support.

Bug 200565900

Change-Id: I5402a5ac9dcb080c69a11aaa2eec52f68fe833b8
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2309941
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
2024-02-21 16:31:59 +05:30
narayanr
c7a29545c6 nvethernetrm: mgbe: add rx stats
Bug 200565898

Change-Id: If3bb00422d77d24e2425764015db25cdf4e1d930
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2309521
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
narayanr
f19748b798 nvethernetrm: mgbe: Add support to forward error pkts
Added support to configure Rx MTL Queue to drop or
forward the error packets to DMA or application

Bug 200565898

Change-Id: I5e5dbad01c07f7b6efd1a1a0b9c07fcafa9050e5
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2310097
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
7235eee925 nvethernetrm: mgbe: Enable/Disable slot function control
Bug 200576205

Change-Id: I694dbb73f262fe0a1b8b6cca8796f4934feeacd3
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2260753
2024-02-21 16:31:59 +05:30
Bhadram Varka
b7979a67f1 nvethernetrm: mgbe: add support for jumbo frames
Bug 200565893

Change-Id: Id27f78180a7d2562c3306e2290555f1609e03a48
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2292258
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
00e4638fa3 nvethernetrm: mgbe: Add L3 and L4 filtering
Add L3 IP address filtering support and
L4 port filtering support

Bug 200565909

Change-Id: I31748cfacf41bb6358813b80eabb57dd6416da5c
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2274443
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
68a1d27ab0 nvethernetrm: mgbe: Add DA/SA/MC/BC filtering
Add support for DA/SA/MC/BC L2 address filtering.
Enable MCBC queue, and set queue1 for MCBC queue.

Bug 200565909

Change-Id: I79c2608d1f878695eb8f9c8c3c836c1d458095a0
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2274442
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
9d98a5bc54 nvethernetrm: mgbe: Add VLAN filtering
Add MGBE VLAN filtering support.

Bug 200565888
Bug 200565909

Change-Id: Ie3a3852d5c2305b14aa46fb5c8756c7e47a66a05
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2274441
2024-02-21 16:31:59 +05:30