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
Mohan Thadikamalla
7f172a52f5
nvethernet: Add PTP RX queue support
...
- Define new "nvidia,ptp_rx_queue" DT node entry
- Read "nvidia,ptp_rx_queue" DT node value into
osi_core->ptp_config.ptp_rx_queue. On no DT
entry case set this value to "osi_core->mtl_queues[0]"
- Validate "osi_core->ptp_config.ptp_rx_queue" value
with "osi_core->mtl_queues" array values. If no match
found give error and set this value to
"osi_core->mtl_queues[0]"
- Add new private IOCTL command to call OSI RX route API.
Bug 200596985
Change-Id: I2c05d4c6f3f4207d9efd6b6777d29fe2409de1a3
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2312295
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
5ab61e947e
nvethernet: Add VLAN add/del actions
...
Bug 200565888
Change-Id: I20e33a09af0d64bc5beaa49d83aae98394d6998f
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2313481
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
663753148e
nvethernet: Add MGBE stats for ethtool
...
Bug 200565915
Change-Id: If450f4c7c1619f8b013403f8b0c2135a34f472d3
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2292238
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
2022-11-01 14:27:08 +05:30
Bhadram Varka
84f7188953
nvethernet: add EQOS/MGBE desc ops to build system
...
Bug 200565907
Change-Id: I6ea3a2367a59627bec356655ba30a49c8126623d
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2263900
Reviewed-by: Automatic_Commit_Validation_User
2022-11-01 14:27:08 +05:30
Bhadram Varka
824a77cfd7
nvethernet: add support for XPCS
...
Adds supoort for getting XPCS base address from DT
Bug 200552796
Change-Id: I078f0aeca8a2e10fe1dfba7cf23c6ff285a110d1
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2270581
2022-11-01 14:27:08 +05:30
Bhadram Varka
29fb064269
nvethernet: add support for MGBE
...
Adds support for MGBE based on MAC controller version.
Also integrated MGBE files to Linux build system
Bug 200548572
Change-Id: I1c5a63cb3b843daa60500254e1272449cc2e8e49
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2252647
2022-11-01 14:27:08 +05:30
Bhadram Varka
93924a32f3
Revert "nvethernet: use single API for ioctl"
...
This reverts commit 5bbeaa61e89ee6375a15020f2ef533b5ed66d628.
2022-11-01 14:27:08 +05:30
nannaiah
8c8eceeeb7
nvethernet: Add IVC fix
...
Issue: rt_spinlock causes IVC failures.
Fix:
1. Change rt_spinlock to spinlock.
2. Add timeout to ivc_can_read.
Bug 2694285
Change-Id: Ib603c304e750a33262e8509ed3f869030b934958
Signed-off-by: Nagaraj Annaiah <nannaiah@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2497217
Tested-by: mobile promotions <svcmobile_promotions@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
rakesh goyal
f4d30eb89b
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: I05324777c9bd7ed3c167e4f8a629af2e695389d2
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2493248
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Bhadram Varka
71fa042ce4
nvethernet: use osi_handle_dma_intr() API
...
Bug 200671160
Change-Id: Id293c02529beb7e72ef567508c74c1a7de6bae79
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2497651
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@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 >
2022-11-01 14:27:08 +05:30
nannaiah
e411787070
nvethernet: Enable IVC for kernel 5.10
...
Bug 2694285
Change-Id: I80a66c86f9cb4974454b41dfde3707ab36e15c24
Signed-off-by: Nagaraj annaiah <nannaiah@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2495280
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@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
rakesh goyal
9f61b817f7
nvethernet: use raw_spin_lock_* for RT kernel
...
Issue: raw_spin_lock* should be used with RT kernel
Fix: update code to use raw_spin_lock* APIs instead of
spin_lock*
Bug 200671160
Change-Id: I5a1d187d2ead6394d97bbdcb41533852b4708afe
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2493350
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
8363bf6e9d
nvethernet: update code to use updated get_hw_feat api
...
Bug 200671160
Change-Id: If9d1de5c51382ad3bc87e401ddf9b61f52d70254
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2488876
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@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
Bhadram Varka
b427be9267
nvethernet: assign OSD ops
...
Bug 200620687
Change-Id: I9e0b9b87ba425b446b60576a1ddae938ff514a2f
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2483069
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@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
34421635d5
nvethernet: use DMA API to get the MAC time
...
Bug 200696375
Change-Id: I2403359233bc5236b3c233ec5044cd61dfa4bb67
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2487877
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@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
nannaiah
ca57e74aea
nvethernet: Add OSD IVC support
...
In case of virtualization the OSI functions will be handled
at Ethernet Server. Add IVC support where OSD can send
IVC packets to ethernet server. Ethernet Server parses the
messages and calls the corresponding OSI API.
Bug 2694285
Change-Id: I0f8a23d33fe3fc87e2582101a6bef6f911e1226d
Signed-off-by: Nagaraj Annaiah <nannaiah@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2439193
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@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
Bhadram Varka
c606c85e93
nvethernet: change ethernet suspend/resume level
...
Change suspend_noirq/resume_noirq to suspend/resume
for kernel-5.10. Its observed that facing memory
issues in noirq level.
Bug 200664943
Change-Id: Iece68d11ad947bd30573799f891086eed175f175
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2458118
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
narayanr
958ea205da
nvethernet: remove setting of dma_mask
...
Issue: Seeing MC errors when setting the DMA mask to 40bit.
Fix: Maximum system mask which can be set on tegra is 39bit
and is enabled by default for all clients. So removing the
setting of DMA mask so that the default value can be used
Bug 200681386
Change-Id: I4820a64c011d92bde2947969fdfa535b692c37ab
Signed-off-by: narayanr <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2454950
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@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
Bhadram Varka
4e71dc9659
nvethernet: fix compilation error
...
Fixes below compilation error -
dev-main/kernel/nvidia/drivers/net/ethernet/nvidia/nvethernet/selftests.c:413:7:
error: this statement may fall through [-Werror=implicit-fallthrough=]
if (!ret)
^
/media/vbhadram/dev-main/kernel/nvidia/drivers/net/ethernet/nvidia/nvethernet/selftests.c:415:3:
note: here
default:
^~~~~~~
cc1: all warnings being treated as errors
Change-Id: I7674407f556be150b61b3331f17b52d8e4576eef
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2423806
Reviewed-by: automaticguardword <automaticguardword@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
2022-11-01 14:27:08 +05:30
Bitan Biswas
c86ec7d3e5
iommu: k5.9: remove archdata.iommu accesses
...
k5.9 build needs below changes:
read archdata.iommu replaced by iommu_get_domain_for_dev
write archdata.iommu removed as alternative implementation used.
k5.9 build error fixed by explicit include of header <linux/iommu.h>
Change-Id: I464fd4144e4317b10aaa5460482f35e46527339a
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2400862
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
3dd509ad9c
nvethernet: fix kernel panic by adding napi_synchronize
...
Issue: Kernel panic if NAPI scheduled in ether_close() path.
Fix: Disable NAPI before freeing dma resources as well as
call napi_synchronize() before napi_disable() for
scheduled NAPI to be completed.
Bug 200650229
Change-Id: I8c57ba90b5094ab3a130ca56221b3e1b16b96025
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2404266
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 >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
rakesh goyal
3ff1678205
nvethernet: fix Rx DMA suspend issue
...
Issue: DMA will be in suspend state if there is no rx 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 buffer. This reserved RX buffer
is already allocated at the time of eqos_open. Aim of same to
make sure rx DMA always have buffer and not go in suspend state.
Bug 200650229
Change-Id: Ic18d9f8f03c69c142d91288a1a7288d26e1c8b42
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2399011
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
2022-11-01 14:27:08 +05:30
Bitan Biswas
2b858ac2eb
drivers: Kconfig: remove ---help---
...
Use "help" in Kconfig instead of deprecated option "---help---"
Refer k5.9 commit:
f70f74d15ca80d73eca6d5a731257627fb6370c5 2020-08-14 13:30:03 +0900 Masahiro Yamada ## kconfig: remove '---help---' support
Change-Id: Id0ba957cf565d51de66e0921a395dabe0d9fc66d
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2400850
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Nagarjuna Kristam
aa31dfba17
nvethernet: Update Makefile
...
Add eqos_common.c to source and common include path to include section
of the Makefile.
Bug 200630996
Change-Id: I7fc1fd798e91cb125d6181d72925a73804c9fa7a
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2372241
(cherry picked from commit 643cec090558772cd5acfc8245b790f61b43ad97)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2372144
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
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 >
2022-11-01 14:27:08 +05:30
narayanr
05756c75fe
nvethernet: add copy right header
...
Bug 200622869
Change-Id: I8f28ba6faf3e3203fcb12f65131e77a1a78ca8bc
Signed-off-by: narayanr <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2371216
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
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
2022-11-01 14:27:08 +05:30
Sushil Singh
12aeba932b
nvethernet:t186 Skip pll_refe clock for t18x
...
- skip pll_refe clock dt entry parsing for MAC version
less than 5.0. in case of t18x platform.
Bug 200591808
Change-Id: I7ce231db4bcbd62dbe0ac14118581d5eea78e53e
Signed-off-by: Sushil Singh <sushilkumars@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2365249
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Manish Bhardwaj
45a2dfb57b
ethernet: handle return value properly
...
Improper handling of return value is causing below crash.
[ 2.278898] Unable to handle kernel paging request at virtual address fffffffffffffffe
[ 2.287262] Mem abort info:
[ 2.289874] ESR = 0x96000006
[ 2.292957] EC = 0x25: DABT (current EL), IL = 32 bits
[ 2.298463] SET = 0, FnV = 0
[ 2.301418] EA = 0, S1PTW = 0
[ 2.304411] Data abort info:
[ 2.307042] ISV = 0, ISS = 0x00000006
[ 2.310886] CM = 0, WnR = 0
[ 2.313845] swapper pgtable: 64k pages, 48-bit VAs, pgdp=0000000081710000
[ 2.320348] [fffffffffffffffe] pgd=0000000081f50003, pud=0000000081f50003, pmd=0000000000000000
[ 2.328919] Internal error: Oops: 96000006 [#1 ] PREEMPT SMP
[ 2.334315] Modules linked in:
[ 2.337471] CPU: 6 PID: 1 Comm: swapper/0 Not tainted 5.7.0-tegra #15
[ 2.343595] Hardware name: e3550_t194a (DT)
[ 2.347800] pstate: 60c00009 (nZCv daif +PAN +UAO)
[ 2.352876] pc : ether_probe+0xf84/0x2290
[ 2.356981] lr : ether_probe+0xf80/0x2290
[ 2.361111] sp : ffff80001218fa70
[ 2.364071] x29: ffff80001218fa70 x28: 0000000000000000
[ 2.369754] x27: ffff0007c0c1b880 x26: ffff800011591000
[ 2.375008] x25: ffff800011177a60 x24: ffff800011591198
[ 2.380516] x23: ffff0007c0e8c080 x22: ffff0007c0bee010
[ 2.385772] x21: ffff0007c0bee000 x20: ffff800011177000
[ 2.391541] x19: ffff800011d15000 x18: ffffffffffffffff
[ 2.396620] x17: 0000000000000068 x16: 0000000000000000
[ 2.402216] x15: ffff800011d15948 x14: ffff80009218f7c7
[ 2.407382] x13: ffff80001218f7d5 x12: ffff800011d2e000
[ 2.413065] x11: 0000000005f5e0ff x10: ffff800011d161b8
[ 2.418321] x9 : ffff800011890018 x8 : 0000000000000000
[ 2.423741] x7 : 0000000000000107 x6 : 000000000000000a
[ 2.428822] x5 : 0000000000000003 x4 : fffffffffffffffe
[ 2.434527] x3 : 00000000ffffffff x2 : eaa4d7f4484fe300
[ 2.439582] x1 : 0000000000000000 x0 : 0000000000000017
[ 2.445201] Call trace:
[ 2.447638] ether_probe+0xf84/0x2290
[ 2.451157] platform_drv_probe+0x54/0xa8
[ 2.455334] really_probe+0x110/0x368
[ 2.458855] driver_probe_device+0x5c/0x108
[ 2.462856] device_driver_attach+0x74/0x80
[ 2.467056] __driver_attach+0x8c/0xd8
[ 2.470561] bus_for_each_dev+0x7c/0xd8
[ 2.474582] driver_attach+0x24/0x30
[ 2.478081] bus_add_driver+0x154/0x200
[ 2.481764] driver_register+0x64/0x120
[ 2.485783] __platform_driver_register+0x44/0x50
[ 2.490335] ether_driver_init+0x1c/0x28
[ 2.493837] do_one_initcall+0x60/0x1c0
[ 2.498033] kernel_init_freeable+0x1fc/0x268
[ 2.502063] kernel_init+0x14/0x110
[ 2.505561] ret_from_fork+0x10/0x1c
[ 2.509242] Code: b0005820 9106c000 97daf772 f9406fa4 (b9400081)
[ 2.515200] ---[ end trace 790e8c45a4a3892a ]---
[ 2.519962] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 2.527641] SMP: stopping secondary CPUs
[ 2.531822] Kernel Offset: disabled
[ 2.535481] CPU features: 0x080002,2300aa30
[ 2.539502] Memory Limit: none
[ 2.542576] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
Change-Id: I5a526033fc4537886e004561eda2d6c494782bd3
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2371138
Reviewed-by: automaticguardword <automaticguardword@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 >
2022-11-01 14:27:08 +05:30
Sushil Singh
89b049c619
nvethernet:Get local-mac-address prop from DT node
...
Add logic to read local-mac-address property within ethernet DT node
which will be updated by bootloader during boot.
Fall back to using the old property ether-mac in the "chosen" node
if the new one can't be found for backwards-compatibility.
Bug 2739120
Change-Id: I9787614e024d9a844ab7aff6ac17fbe834105a4d
Signed-off-by: Sushil Singh <sushilkumars@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2304592
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
b5d381e7ec
nvethernet: use vlan priority to select queue
...
Adding support to use VLAN priority field
to select correct TX queue. For TX packets which
are for VLAN interface, skb->priority is not used.
Bug 200630202
Change-Id: I4755066ead11e7528a18ee99b1eaba2b7a936d6d
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2366244
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@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
Mahesh Patil
a7a0aea104
nvethernet: 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: Add more rx data flag arg to osi_process_rx_completions() call
Bug 3019362
Change-Id: Ic6c524d1f28b543fc164f2176a8e36d52ca8de58
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2361263
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: automaticguardword <automaticguardword@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
Bhadram Varka
0d329bb260
nvethernet: Support for Ethernet selftests
...
Adds selftest support for -
1) MAC loopback
2) PHY loopback
3) MMC Counters
Bug 200622869
Change-Id: Ib476afa342c283b53d5ab74cc50a1458183ab16d
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2354887
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@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
Bibhay Ranjan
81378766ad
nvethernet: fix ethtool ops for kernel > 5.4
...
Bug 200617764
Change-Id: I34d9b640593219a4775c7c38f7ec7034b6d13fe5
Signed-off-by: Bibhay Ranjan <bibhayr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2348800
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Bitan Biswas
0b46274d42
nvethernet : defer probe for reset gpio
...
nvethernet comes up before gpio and hence reset gpio error below
seen in galen boot log:
###
[ 2.252546] nvethernet 2490000.ethernet: Adding to iommu group 0
[ 2.257577] nvethernet 2490000.ethernet: failed to get phy reset gpio
[ 2.265533] nvethernet 2490000.ethernet: Ethernet MAC address: 00:04:4b:af:62:37
[ 2.271764] libphy: nvethernet_mdio_bus: probed
[ 2.275940] mdio_bus 2490000.ethernet: MDIO device at address 0 is missing.
[ 2.284469] nvethernet 2490000.ethernet: eth0 (HW ver: 50) created with 1 DMA channels
[ 2.548104] GPIO line 510 (gpio_default) hogged as output/high
[ 2.553598] GPIO line 511 (gpio_default) hogged as output/high
[ 2.558156] gpiochip_setup_dev: registered GPIOs 504 to 511 on device: gpiochip0 (max77620-gpio)
##
Returning -EPROBE_DEFER allows the driver initialization once gpio is initialized.
Ethernet works fine in probe retry call once gpio is up. Hence, the defer probe
is needed.
bug 200617764
Change-Id: Icdcf0d7f0b69c564ecb0b142634b504287db3ea1
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2348758
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Bitan Biswas
0e7b230bab
nvidia: drivers: fix linux-5.7-rc5 build
...
Fix build linux-5.7-rc5 errors including following:
- change timespec to timespec64. replace getnstimeofday
with ktime_get_ts64
- replace usage of macro FIELD_SIZEOF with sizeof_field in ethtool.c
nvethernet and eqos files.
- support 2 arguments for of_get_phy_mode call
bug 200617764
Change-Id: I46067d7d36d08ee9556b2722e9ccec707b8853d4
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2347244
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
c6b2d05d26
nvethernet: dump all registers
...
Dump all valid ethernet IP registers
Bug 200563382
Change-Id: I34ce3c1dc5c2c4e12040d2d349e2ad63ec8bca8b
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2338198
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 >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
192561087a
nvethernet: dump tx/rx descriptors
...
Bug 200563382
Change-Id: Iefe82119e3812834d115f6bd140f034017527659
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2338197
Reviewed-by: automaticguardword <automaticguardword@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
2022-11-01 14:27:08 +05:30
Bhadram Varka
a921c9487b
nvethernet: dump HW features through debugfs
...
cat /sys/kernel/debug/nvethernet-<interface>/hw_features to
dump the HW features
Bug 200563382
Change-Id: Ifd8eab0564123d1f588241fbadb739e6ef553114
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2338196
Reviewed-by: automaticguardword <automaticguardword@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
2022-11-01 14:27:08 +05:30
Mahesh Patil
d7e0d58393
nvethernet: Free skb for Rx error packets
...
Issue: Driver does not free skb if OSI_PKT_CX_VALID is reset for Rx
error packets. It can cause memory leak.
Fix: Free Rx packet skb's for error packets
Bug 2906694
Change-Id: I4364cf9d2974334d2b2d76bfcc22ef89ac406e8c
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2338963
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
96c5478e05
nvethernet: 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/linux-nvidia/+/2338921
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
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
2022-11-01 14:27:08 +05:30
Bibhay Ranjan
619f3c7b7d
nvethernet: bringup on kernel-5.4
...
disable chip-id.h APIs on kernel-5.4 since
the file is still not available.
Back compatible with older kernel versions
Bug 200591808
Change-Id: Ib991ad02ba016ac9f186b5c8afdc8608c780d9be
Signed-off-by: Bibhay Ranjan <bibhayr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2304494
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Bibhay Ranjan
e42f49ee42
nvethernet: disable IVC support for Ethernet in K5.4
...
tegra-ivc driver is not enabled on kernel-5.4 hence
file "linux/tegra-ivc.h" is missing.This driver is
used by virtualization code.
Putting all the virtualization code within kernel
version check and disable it for kernel-5.4
Bug 200591808
Change-Id: I797062db172256e1ec14d22d00d73164513a9685
Signed-off-by: Bibhay Ranjan <bibhayr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2337400
Reviewed-by: automaticguardword <automaticguardword@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 >
2022-11-01 14:27:08 +05:30
Bhadram Varka
c4a75f03ac
nvethernet: Add support for VM interrupts
...
Adds VM interrupt handling for VM interrupt
based MAC controllers.
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 200548572
Change-Id: I802f247fa95ef6dcd769afbc7c13c6362d2f328e
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2292602
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Bhadram Varka
3c81e255bd
nvethernet: Don't enable clks/resets for EQOS VDK
...
EQOS clks/resets not enabled on VDK. Bypass clks and
resets for EQOS probe base on OSI Core flag.
Bug 200548572
Change-Id: I8d8400261ecf14ee782b3b1fff61b07cac20cb1b
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2292601
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: automaticguardword <automaticguardword@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 >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Gaurav Asati
e62d719a99
nvethernet: Check bit in rxcsum flag.
...
Issue:
- rxcsum is used as container of flags instead of
value place holder.
Fix:
- Use binary operation to fetch required bit
for necessity of checksum.
Bug 200610815
Change-Id: Ie6f3e79868edde2393186a06f257ba4b57dae0ac
Signed-off-by: Gaurav Asati <gasati@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2333164
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Rakesh Goyal <rgoyal@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 >
2022-11-01 14:27:08 +05:30