Commit Graph

802 Commits

Author SHA1 Message Date
rakesh goyal
0bfc4d5267 core: Remove unused code for QNX from compilation
Update common library code to remove following 2 APIs
as these are not used anymore by QNX.

osi_config_mac_loopback()
osi_set_mdc_clk_rate()

Bug 200669603

Change-Id: Ice364bfb3fd95f3f846677b80668eb2b0b0b2918
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2434886
(cherry picked from commit 9f69b25b1368b76fd7caa4b55a15e7a5947d3b9c)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2448820
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
bda2364844 osi: core: Fix eqos_config_tscr code complexity
Issue:
The nvethernetrm eqos_config_tscr function code complexity
is more than the PLC process required to target 10.

Fix:
Update eqos_config_tscr function to meet
PLC code complexity target.

Bug 200634728

Change-Id: I774e94c9a6893e01e2bd6e935ae34c96be8e0f38
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2382806
(cherry picked from commit a37d9984606a6e9eb99aff59858276ef7d5ca1c8)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2448831
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Rakesh Goyal <rgoyal@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
8d6d44183e osi: dma: Fix osi_rx_dma_desc_init code complexity
Issue:
The nvethernetrm osi_rx_dma_desc_init function code complexity
is more than the PLC process required to target 10.

Fix:
Update osi_rx_dma_desc_init function to meet
PLC code complexity target.

Bug 200634728

Change-Id: I6c0f068f464c64a3e58a8490ed5110a17b3ca42f
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2382930
(cherry picked from commit c320bc06a0841fd029deb1294239453171950a91)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2455437
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Rakesh Goyal <rgoyal@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Mahesh Patil
86dbd5c044 autosar: mcal: remove mcal libs header files
Fix standard makefile build error after removing autosar mcal libs

Bug 200652357

Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2410610
(cherry picked from commit ac3c07f7a5d0fd3cdff4fac3245bd2cb4e7dc4d7)

Change-Id: Ie796cedab3f9454f0784f691be02430f8029df4e
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2422903
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Praveen Mallaiah <pmallaiah@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Mahesh Patil <maheshp@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
bd8e8322a0 osi: dma: Update classification for DMA API's
Mark API's that can be called form interrupt/signal handler to Yes.

Bug 200620687

Change-Id: I105c9e6672f823249c1dea36e1891560861a7d07
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2430293
(cherry picked from commit b71a7d4fda87145f33a858bd68392308f09f07b5)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2438838
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Krishna Thota <kthota@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
0025d5238b osi: replace osd_* API with osd_ops callbacks
Issue:
OSI calls OSD functionality using a direct API callback.
When multiple OSD's are present in single build system, only one
OSD can be linked to OSI for OSD functionality.

Fix:
Replace direct osd_* API calls by registered osd_ops callback.

Bug 200620687

Change-Id: I967565286fd9334fea6b34436267649f1af671c0
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2419132
(cherry picked from commit 0340c55df5741f73717e7a97e937bc4fdd6f02ef)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2438837
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
095825cd7f nvethernetrm: Add PDK_TOP variable to makefile
- Add export PDK_TOP variable to standard makefiles

Bug 3127605

Change-Id: I77b27ae96c5fad04f1e6561f1e86310d7c59d206
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2414940
(cherry picked from commit 885be52a74803115aceb60955449d89b6f18c961)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2422900
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
0927fa279e osi: create stripped library for MCAL/QNX
Update .sdk for common library to export only API
used in QNX/MCAL driver if OSI_STRIPPED_LIB
is defined.

Bug 200671362

Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Change-Id: I5f755895c5e053bab41a29e89aed65defbc48e54
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2424577
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
eeea518cc2 osi: create stripped library for MCAL/QNX
Update common library to export only API
used in QNX/MCAL driver if OSI_STRIPPED_LIB
is defined.

Bug 200671362

Change-Id: Ide3a5d9a60228b5d07355b58e26f509245db4144
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2410877
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2422285
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@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
Nagarjuna Kristam
5db715d7a8 osi: update function headers
Update doxygen comments for functions with below info
 - Use Algorithm inside @note
 - All numberical usages(like 1),2)..) with '-'
 - Add API group, Classification and Traceability note sections
   for all external interface functions.

Bug 200671362

Change-Id: I762df388659f4be75952b7050c7ae03489a086b8
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2407423
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2422284
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Rakesh Goyal <rgoyal@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
5cca29711e osi: common: Add API to check if MAC is enabled
Issue: RFE to check MAC enable status.

Fix: Export osi_is_mac_enabled API to check
for MAC status.

Bug 200646286
Bug 200671362

Change-Id: I26575c7c26095de3598197f5b800d3f1610a8bc9
Signed-off-by: Gaurav Asati <gasati@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2397918
(cherry picked from commit a1b24b2524150aa4b3f60cdd00c08f97de875f1c)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2405293
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Mahesh Patil
a5088c1a1e nvethernetrm: qnx sdk makefiles
Bug 200618758

Change-Id: Iac768d6821d533a9d4e6d7d734d94998b40d8bf3
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
(cherry picked from commit a83c7aeaf567021ad78c19165a4c8b10127e5de7)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2368398
Reviewed-by: Praveen Mallaiah <pmallaiah@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Praveen Mallaiah <pmallaiah@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
rakesh goyal
ebe8b29bfa dma: fix Rx DMA suspend issue
Issue:  DMA will be in suspend state if there is no buffer allocation
        happen to HW. If DMA is in suspend state, no interrupt will
        occur for channel which leads to not calling of
        osd_receive_packet().

Fix:    Whenever there is rx buffer kernel memory allocation failure, desc
        will be updated with reserve rx buffer. This reserved buffer is
	already allocated at the time of ether_open. Aim of same to
	make sure rx DMA always have buffer and not go in suspend state.

Bug 200650229

Change-Id: If8ff5f2dbfb631e8d1bc2383f958ed389643d7a4
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2399010
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
nannaiah
2fcef2bf75 nvethernet: Add to read PTP registers from DMA base.
Issue: Virtualization introduces read delay due to trap
mechanism.

Fix:
Move time critical PTP timestamp registers to use alternate
HW MMIO window/page that is not trapped to read PTP timestamp
registers.

Bug 2694285

Change-Id: I52340ae1f136a1a921b9c4a669c398e5d23ded73
Signed-off-by: Nagaraj Annaiah <nannaiah@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2360103
(cherry picked from commit e2ad2ff5b43532c2d5f9165f0311c59f1c6e9a4c)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2347314
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Gaurav Asati <gasati@nvidia.com>
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: Krishna Thota <kthota@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: Gaurav Asati <gasati@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
403ade7221 nvethernetrm: rename static API name for dma_wmb()
Issue: For debugging purpose sometimes developers will
include OS header files to add the debug prints.
When Linux include <linux/printk.h> which includes
other header files and those header files defines
dma_wmb() which results in compilation error.

Fix: Rename OSI static API dma_wmb() to dmb_oshst()
which matches the memory barrier operation.

Change-Id: I4ceb53d4ad317c0f86b82ed07ad930ce14287c11
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2396495
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
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>
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
f0478be2c9 nvethernetrm: MISRA fixes for QNX PLC
Issue:
Observed three MISRA/CERT-C issue with
QNX PLC configuration.

Fix:
Fix observed MISRA issues.

Bug 200624259

Change-Id: Iafd0f2694b4506bee12b15f899cf2201cad92925
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2368010
(cherry picked from commit 61310ea022e525d88d9d9def8eebee2b96770e27)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2375768
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Gaurav Asati <gasati@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
Nagarjuna Kristam
4dc2836b11 osi: dma: Add support to read PTP time over DMA base
Issue: RFE to support PTP time read from OSI DMA.

Fix: Add OSI DMA API to read PTP time from DMA base.
Move PTP time read code to OSI common.

Bug 200630996

Change-Id: Ic65a042d23318f93ecf23b481ab7a898cf88d360
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2367295
(cherry picked from commit 7379669ef23507e0f50f1517e819c552ea359300)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2374403
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Gaurav Asati <gasati@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Srinivas Ramachandran
a89ce48ab2 nvethernetrm: Indicate more Rx frames pending
Issue: The function osi_process_rx_completions does
       not provide indication whether there are more
       Rx frames in the HW ring to be processed by SW.
       This indication is needed in OSD layers like
       AUTOSAR MCAL driver as per the spec.
Fix:   Check the next descriptor in the ring and indicate
       if it has a valid new Rx packet that is pending
       to be processed.

Bug 3019362

Change-Id: I4b4b8ac7b741dedbe979156e44f442cbb0e67590
Signed-off-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2361176
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Mahesh Patil <maheshp@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
rakesh goyal
576528a3ad nvethernetrm: eqos: correct mmc register read for ipv6
Issue:	Wrong MMC registers are read for IPV6

Fix:	Update correct register address read for IPV6

Bug 200519211

Change-Id: Ib377b28721a5596c2adfe1b6a61476a271e3c036
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2362390
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
rakesh goyal
077f63621d nvethernetrm: eqos: handle filter operation flag
Issue:	RM server is not aware of what L2 address
	should be removed from local list and register as
	index passed by OSD/OSI_Core may mis-match in case
	multi FD instance usecase.
Fix:	As RM server finds index/offset on its own corresponding
	to MAC address, Core software should reset AE bit and pass
        other user provided argument as it is. Legacy
	way of removing L2 address is still supported.

Bug 200626200

Change-Id: I43919827422d176334198ee09e822047b606da79
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2359969
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
2d7768cc9b osi: core: Perform RxQ mapping only if DCS is disabled
Issue:
RxQ priority API is called without any checks for DCS and when DCS is
enabled, an error log is printed while handling RxQ priority config.

Fix:
Perform RxQ priority only when DCS is not enabled.

Bug 2989724

Change-Id: I8649daa8f9a1165bcfd99850420b01987cf61be0
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2350964
(cherry picked from commit 4f2d270a867466c0608d61e9339cec7a494dd1cf)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2352153
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
9013dc0a06 nvethernetrm: clear AE bit in L2 filter for delete
Issue: Currently we make L2 Address High register 0x0 to
       invalidate L2 filter address. Further feature implementation
       need to preserve Address value to compare with.

Fix: clear only AE bit in L2 Address High register.

Bug 2653790

Change-Id: Ica8a55b30889bee1f584cb8826fdbbf702d56f66
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2351020
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
rakesh goyal
0118473454 nvethernetrm: osi private structure update
update OSI HW feature registers

Bug 200563382

Change-Id: Ia30176bcf9dc1080489caa52bd0c67ac05a17ef1
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2338042
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
9f4bff9f10 osi: dma: Add callback for osd data path
Issue:
When 2 OSD's are part of single compilation process, only one
OSD can be linked at compile time. This causes issues in handling
TX and RX communication from OSI to OSD.

Fix:
Add callbacks for TX and RX communication which can be registered by
OSD to receive callback communication from OSI for TX and RX. Use
existing API's if OSD doesn't register a callback.

Bug 200603660

Change-Id: I0b246a78a3d1bc4bb690e1ad7dac82108500b625
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2343967
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
a94f0a5f2f osi:dma: Add barrier before updating Tx tail pointer
Issue:
There is chance that descriptor is updated before Tail pointer is updated,
as former is memory operation and later is register operation and
sequence may no go in sync every time.

Fix:
Add memory barrier for stores to complete, after updating descriptor to
ensure that descriptor is indeed updated before register is written.

Bug 200603660
Bug 2945566

Change-Id: I59918c2f949db28da76beb1ab43cd5420e54c59b
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2340534
(cherry picked from commit 3a7b4256924818243e9d36383ebc6e9b1209a94e)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2341201
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Krishna Thota <kthota@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Mahesh Patil
693cefdcc7 nvethernetrm: Check Rx packets processed or not
Issue: If buffer allocation fails in Rx refill, cur_rx_idx overlaps
       and can result in crash in osi_process_rx_completions()
Fix: Track Rx packet processed or not. If pkt is already processed
     skip further rx packet processing in osi_process_rx_completions()

Bug 2945319

Change-Id: Ieaed3aadf3d29aaa0e9d29d074f1f0f54f77e620
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2338920
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@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
2024-02-21 16:31:59 +05:30
narayanr
6335cc5bbd nvethernetrm: eqos: allow arp offload
allow arp offload for mac version greater
than or equal to 5

Bug 200585972

Change-Id: I6cefc16f0c8362a26619489f25e2636618eb0761
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2283676
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Nagarjuna Kritam
33ccc2f87d nvethernetrm: Use SSINC for SSIR and ADDEND calculations
Use MAC version based SSINC value and use it to configure SSIR
and addend registers.

Bug 200605211

Change-Id: I8ac4e5fbfb9c64db35a3c33417dee5ca34a1c61d
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2341203
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
e8dcbc4286 nvethernetrm: add support for EQOS VM interrupts
Adds VM IRQ handling support at OSI layer and adds
corresponding support for EQOS as well.

Need to pass below parameters from DT -
o Number of VM IRQ's assigned per OS/VM.
o Number of VM channels assigned to a VM IRQ.
o List of DMA channels assigned to a VM IRQ.

Below is the sample DT representation -

vm_irq_config: vm-irq-config {
	nvidia,num-vm-irqs = <4>;
	vm_irq1 {
		nvidia,num-vm-channels = <2>;
		nvidia,vm-channels = <0 1>;
	};
	vm_irq2 {
		nvidia,num-vm-channels = <2>;
		nvidia,vm-channels = <2 3>;
	};
	vm_irq3 {
		nvidia,num-vm-channels = <2>;
		nvidia,vm-channels = <4 5>;
	};
	vm_irq4 {
		nvidia,num-vm-channels = <2>;
		nvidia,vm-channels = <6 7>;
	};
};

ethernet@<base_addr> {
	[...]
	nvidia,vm-irq-config = <&vm_irq_config>;
	[...]
}

Bug 200546379

Change-Id: Id20780d573aa70baf42b003728ba416ed61832d2
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2250403
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2198595
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
c43f5516ab nvethernetrm: eqos: add Software reset for VDK
Bug 200546379

Change-Id: I40cf003311926e6b0a1685c0443d64ccf59c5325
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2270371
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2274311
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@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
Nagarjuna Kristam
84fe6fd864 osi: dma: Add flags for rx checksum.
Issue:
- Current values for checksum flags are too
generic for QNX requirements.

Fix:
- Add specific flags for TCP/UDP, IP v4/v6
- Update value for OSI_CHECKSUM_UNNECESSARY
  to use it as a flag instead of value.

Bug 200610815

Change-Id: I7ce266594cb5bb5b1bd86ff9ab28a89d778146c1
Signed-off-by: Gaurav Asati <gasati@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2331560
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
8a0eadf28e osi: dma: Add TX SWCX flags for IP checksum
Issue:
In QNX OS, some data packets needs only IP checksum to be enabled.

Fix info:
Add a TX SWCX flag to update IP checksum bit to DMA descriptor.

Bug 200603660

Change-Id: I1dd6b0a0a4e8da7af548fd7640912fc3248c4da5
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2327717
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
fd75eca314 osi: dma: Add TX SWCX flags for payload length
Issue:
In QNX OS, IP packets are split and sent to ethernet driver. This
requires packet length update needed in DMA descriptor.

Fix info:
Add a TX SWCX flag to update payload length to DMA descriptor.

Bug 200603660

Change-Id: I3a6a2fb96d645d6ccf5c0e616ded220ed7742bc9
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2323286
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Nagarjuna Kristam
467713c343 osi: dma: Clear TX SWCX during DMA init
Issue:
In QNX, DMA ring params are initialized during interface only. When
interface is is stop and re-inited, DMA ring params are not re-allocated
but re-used again. During this process, TX software context is not
cleared. This results in presense of any stale value, that causes failure.

Fix info:
Clean TX software context during DMA init.

Bug 200603660

Change-Id: I96c967a676c7fcdeb22b0a235301dee9d1d2b4c7
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2327716
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Gaurav Asati <gasati@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: Krishna Thota <kthota@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
nannaiah
ab79f87190 nvethernetrm: Add flag for virtualization & stats
Issue:
When virtualization is enabled and registers are accessed during
UDP line rate transfer or receive then spurious common interrupts
gets generated for buffer unavailable which hangs the ethernet server.

Fix:
1. Add Flag which decides virtualization is enabled(1) or
   disabled(0)
2. If virtualization is enabled then disable receive and transmit
   buffer Unavailable interrupts.

Bug 2694285

Change-Id: I2c65b724c15abf5d4f0101d96b067ad9f4f3d99e
Signed-off-by: Nagaraj Annaiah <nannaiah@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2330034
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Srinivas Ramachandran <srinivasra@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>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
2f304877f1 nvethernetrm: add osi_likely() and osi_unlikely()
Adding osi_unlikely and osi_likely using compiler
built-in macros which give compiler hints for branch
prediction.

Bug 200599872

Change-Id: I64be9a53285bdc11015a2efb565e2addac531c5c
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2318771
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
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>
2024-02-21 16:31:59 +05:30
Bhadram Varka
50f5142018 nvethernetrm: fix descriptor err stats update
Issue: Packets stats not updated since osi_pkt_err_stats
variable passed by value.

Fix: Pass osi_pkt_err_stats variable as reference so that
stats updated in called function will be updated.

Change-Id: I23f71ebc0dc463a925b2b576285a5558aa6da815
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2324335
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@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
narayanr
b0bd5178bf nvethernetrm: eqos: Fix GPSLCE programming
Issue: By default GPSLCE is enabled for default
MTU size and hence SW is receiving bigger packets
greater than the current MTU size.

Fix: Limit GPSLCE only to mtu size greater than 9000

Bug 2897105

Change-Id: Ica3a495b8a931a88d03f00625e71b69cc6704d6b
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2324369
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Praveen Mallaiah
b64e20730b nvethernet: updated osd function documentation
Updated osd_transmit_complete, osd_receive_packet
algorithm documentation

Bug 200574645
Bug 2855341
Bug 200598869

Change-Id: I1ab0f21cc39b39bf755b4ea19703b2875279c77a
Signed-off-by: Praveen Mallaiah <pmallaiah@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2320522
(cherry picked from commit 50490d3bfc12089a3e1ee2d82d9c6729b9b5d853)
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2317409
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@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
58572a09b8 nvethernetrm: Remove core_backup static variable
- Define core_backup structure in osi_core file
  and convert osi_core_private_data structure backup_config
  variable as core_backup type.
- Remove the global eqos_core_backup_config static variable.

Bug 200596517

Change-Id: Ice38e1a8724c1da722eda7eb4e63e79674b27b0d
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2315795
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Mohan Thadikamalla
9bea280035 Revert "nvethernetrm: move core_backup to osi_common.h"
Reverting this change to support IP based
indirect addressing registers save and restore.

Bug 200596517
Bug 2804631

This reverts commit 962ca78215.

Change-Id: Ia6ec230243cfb58a64e4f9fc4dbb9e3079a58cae
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2315794
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@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
Mahesh Patil
8a805c546f nvethernetrm: Program LPI 1us tic counter register
Issue: In GVS farm, SSH logging fails randomly
       after enabling EEE feature

Fix: Program LPI 1usec tic counter register with correct
     APB clock(clk_pclk) frequency as per databook requirement.

Bug 2813867
Bug 2850086

Change-Id: Ice2e130a808e763841945cb7a2d4e3552ee31498
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2300343
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Ajay Gupta <ajayg@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
narayanr
8e7a09a4a8 nvethernetrm: drop rx packets longer than current MTU
Issue: When JE is set, HW will accept any valid packet on Rx
upto 9K or 16K (depending on GPSCLE bit), irrespective of
whether MTU set is lower than these specific values. When
Rx buf len is allocated to be exactly same as MTU, HW will
consume more than 1 Rx desc to place the larger packet.

Fix: Drop Rx packets which are longer than currently set
MTU since HW cannot drop them.

Bug 2870545
Signed-off-by: narayanr <narayanr@nvidia.com>

Change-Id: I869f4858f8d2b502a3965dc2ca40cda8805f9886
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2308379
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
rakesh goyal
26dac73854 nvethernetrm: add counter for pkt_err stats cleared
Add counter for how many times pkt_err stats got cleared
using osi_clear_tx_pkt_err_stats and
osi_clear_rx_pkt_err_stats call.

Bug 200548007

Change-Id: I19b796131ac6bb43a52aad9bc3211426da4fe4ae
Signed-off-by: rakesh goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2304567
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
narayanr
173f516672 nveternetrm: fix doxygen comments
Bug 2804631
Bug 2804169
Bug 200561709

Change-Id: I6d61c8b8a911ae3847049c534e6d19e0aec65209
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2306568
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
narayanr
8b89217184 nvethernetrm: enable GPSLCE
Enable Gaint Packet Size Limit Control when
MTU size is greater than 9000

Bug 200512422

Change-Id: I458b561298760cbb4945195a86daed43ba69d1c6
Signed-off-by: narayanr <narayanr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2303736
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Srinivas Ramachandran
d670edec45 nvethernetrm: Set DO bit in MCR for HD mode
Issue: As per databook, the DO bit needs to be
       set in HD mode to prevent reception of
       packets sent by DUT itself.
Fix:   Set the DO bit in MCR register for HD mode

Bug 2804169

Change-Id: I8f5bf4be5deb3607786319196bd8633ff122b759
Signed-off-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2285885
Tested-by: Mahesh Patil <maheshp@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2024-02-21 16:31:59 +05:30
Mahesh Patil
b993a0368d nvethernetrm: move core_backup to osi_common.h
Issue: RFE: move struct core_backup to osi_common.h
Fix:
 1. Moved core_backup to osi_common.h
 2. Added generic osi_mac_restore_registers() and osi_mac_save_registers()
    Api's in osi_common.c
Bug 2804631

Change-Id: I5bc71666e104f2e729024e096bd51ce350f2a1f0
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2286642
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Ajay Gupta <ajayg@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
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-21 16:31:59 +05:30
Bhadram Varka
198951cc39 nvethernetrm: Add MMC counters
Adds MMC counters for which hold higher values.

Bug 200565915

Change-Id: I8803a60d97b0235911df177f820b8c66cfb0b1bb
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2292221
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@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>
2024-02-21 16:31:59 +05:30
Mahesh Patil
f0aded357d nvethernetrm: Add const to unmodfied arguments
Issue: Avoid accidental modification of func call arguments in OSI layer
Fix: Add const keyword to func parameter unmodified by OSI layer
Bug 2715405

Change-Id: I6fc60c5e2b52e638f3dd6acc1f065622ead4b658
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2234454
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Ajay Gupta <ajayg@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
2024-02-21 16:31:59 +05:30