Revanth Kumar Uppala
024d4d5e6f
ptp: Linux v6.2: Add support for adjfine
...
In Linux v6.2 func pointer adjfreq is replaced
with adjfine. As a part of this, an argument of
the function "s32 ppb" is changed to
"long scaled_ppm".Added kernel version checks
to handle this for Linux v6.2
Bug 3936429
Change-Id: I7a4f0a0e6e17d484c4ffd47e6e9ef78c214253e7
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2862518
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-03-01 10:24:11 -08:00
Sheetal Tigadoli
c9df39dd07
nvethernet: register ptp MAC with notifier framework
...
register ptp MAC with notifier framework by default
since CONFIG_TEGRA_PTP_NOTIFIER has been removed and
is corresponding code is enabled as default.
Bug 3895413
Bug 3930304
Change-Id: Ib875079504bfcbfcaf286bb606b4fd581fc12754
Signed-off-by: Sheetal Tigadoli <stigadoli@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2837510
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-01-06 22:36:53 -08:00
Revanth Kumar Uppala
e37e03efd9
nvethernet: Enable nvethernet driver support
...
Enable nvethernet driver support for K5.15
Bug 3793131
Change-Id: I2a6d46c9173ea633931308c34e950b404f54796d
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2801126
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2022-11-29 04:06:17 -08:00
Rakesh Goyal
d4e9ecf359
nvethernet: use default selection algorithm
...
Issue: EQOS supports SP as default algorithm
where MGBE should support ETS as default algorithm.
Fix: We are removing user configuration option from
application. For MGBE there are CBS or ETS(default) as only
options. For EQOS CBS and SP(default) is only options.
Bug 3735907
Change-Id: I83ff3f59129e188335d9cec239d5eb0b2fa76412
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2757410
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2022-11-01 14:27:08 +05:30
Bibhay Ranjan
4feb5075e4
nvethernet: fix code defects
...
Issue: SPARSE issues
Fix: Fix as per the given guidelines in the error
Bug 3568991
Change-Id: I983576d7bea30d87905c06030baed6574e2bdb96
Signed-off-by: Bibhay Ranjan <bibhayr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2688521
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Sanath Kumar Gampa
0bc5754577
nvethernet: Export an API to get PTP-TSC time pair
...
Requirement to expose kernel API to fetch PTP-TSC
pair
Bug 3430408
Change-Id: Iba12216b334bca68a87e3f0cc92eff7c32895f45
Signed-off-by: Sanath Kumar Gampa <sgampa@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2637365
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
9093f4e86f
nvethernet: read ptp mac to mac role
...
Read PTP MAC to MAC sync role,
update osi_core structure and configure PTP
for interface.
Bug 200733666
Change-Id: I43c88ad05e36c979d337549127cb73498b9ddd78
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2568595
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com >
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
Rakesh Goyal
8553696ea7
nvethernet: use real-time API to get current time
...
Issue: PTP configuration API is using monolithic
time API.
Fix: Use real-time API to get correct system time.
Bug 200666019
Change-Id: Ie6a8fd819a70f3c257ce214fae937356840a5421
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2533453
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
GVS: Gerrit_Virtual_Submit
2022-11-01 14:27:08 +05:30
rakesh goyal
1c87167250
nvethernet: use single API for ioctl
...
To reduce number of external OSI interface APIs,
consolidated all IOCTL API to one interface API.
OSD should use same for all interaction to OSI.
Bug 200671160
Change-Id: I2ada2746f29be6cf396709c2ec12dd96d4a5ca15
Signed-off-by: rakesh goyal <rgoyal@nvidia.com >
2022-11-01 14:27:08 +05:30
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
93924a32f3
Revert "nvethernet: use single API for ioctl"
...
This reverts commit 5bbeaa61e89ee6375a15020f2ef533b5ed66d628.
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
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
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
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
Bhadram Varka
d1c349ccd0
nvethernet: use IRQ-safe variant of raw spinlock
...
Issue: Deadlock observed because ptp_lock shared
between process context and Interrupt context.
Below is the scenario where deadlock observed -
1) ether_adjust_freq acquired the lock
2) At the same ether_get_ptptime() called from IRQ context
3) ether_adjust_freq() got preempted and ether_get_ptptime()
trying to aquire the lock again which leads to dead lock.
Fix: Disable the interrupts before aquiring the lock
by using IRQ-safe variant of raw spinlock.
Bug 200591192
Bug 200535378
Change-Id: I6f884883bf9cf93877ddb5d0fb7b2927573a1858
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2323211
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:08 +05:30
Mahesh Patil
ece7ed224b
nvethernet: Rename functions to match close functionality
...
Issue: rename functions to match close functionality
Fix:
1) Renamed osi_poll_for_swr() to osi_poll_for_mac_reset_complete()
Bug 2715276
Change-Id: I939d9804350110b3d28c16ff511390ce5ab0c625
Signed-off-by: Mahesh Patil <maheshp@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2209755
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:07 +05:30
Narayan Reddy
a1df5ed4a8
nvethernet: change required clock freq to 250MHz
...
increase required clock frequency from 62.5MHz to 250MHz
for better PTP time stamping accuracy. Switching to 250 MHz
will increase the accuracy of the PTP timestamp by ~22ns
Bug 200565215
Change-Id: I17fb6b4ea19bcb78b9b085d45b7dd9c816bcc5c9
Signed-off-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2234046
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:07 +05:30
Mohan Thadikamalla
ae038d9360
nvethernet: Enable slot function support
...
Issue:
Data packets sent via EQOS hardware are not
following any packet gaping. The AVB use-cases
have different timing requirements for class A
data packets. For example, the time difference
between two class A data packets are supposed
to be 125 microseconds for audio data
of frequency 48 kHz.
Fix:
Enable slot function support to schedule the data
fetching from the system memory by the DMA.
This feature is useful when the source AV data
needs to be transmitted at specific intervals.
Bug 200545374
Change-Id: I549014998380cd6c0d161c778bccdaa5ed017129
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2223850
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Srinivas Ramachandran <srinivasra@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:07 +05:30
Bhadram Varka
1c6a1e3f7b
nvethernet: unregister HW timestamp source in close
...
Issue: ether_get_ptptime() is registered as a callback
function to read ptp time using tegra_register_hwtime_source.
But it is not unregistered before interface is brought down.
This causes clients to still query for timestamp even though
interface is down and MAC is in reset, resulting in CBB errors.
Fix: Unregister the callback function in ether_close()
Bug 200556936
Change-Id: Idb5b698460f02101c931fd64fbdfc9c06949e05a
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2210705
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:07 +05:30
Bhadram Varka
94a5973d19
nvethernet: enable TEGRA_PTP_NOTIFIER for nvethernet
...
It enable TEGRA_PTP_NOTIFIER for nvethernet driver
and it also take care compiling nvethernet ptp-notifer
code only if TEGRA_PTP_NOTIFIER is enabled.
Bug 2715274
Change-Id: Ida385b292ed05cc982facbe7c6d89025319ef9b7
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2209177
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
GVS: Gerrit_Virtual_Submit
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:07 +05:30
Narayan Reddy
6496931610
nvethernet: pass entire system time in nsec
...
Issue: ether_get_ptptime returing only the
nsec from the current time.
Fix: Instead of passing only nsec from the current
system time, pass entire current time in nsec.
Bug 2694168
Change-Id: Idb90a3c68866a46b86a9a0816c552fdc447565a8
Signed-off-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2192813
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:07 +05:30
Bhadram Varka
58301a3ef2
nvethernet: Update comments with Doxygen style
...
replace kernel doc comments with Doxygen style comments
Bug 200512422
Change-Id: I1445cab3fb6708ddc21b4bfacebe213ed22f7aa2
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2180213
Reviewed-by: Narayan Reddy <narayanr@nvidia.com >
Tested-by: Narayan Reddy <narayanr@nvidia.com >
GVS: Gerrit_Virtual_Submit
Reviewed-by: Srinivas Ramachandran <srinivasra@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:07 +05:30
Narayan Reddy
da8bbea503
nvethernet: IOCTL and broadcasting MAC timestamp support
...
1) Register broadcasting MAC timestamp to clients so that
client can make use of the ptp callback for getting the
timestamp
2) Add private ioctl to read Timestamp information of
both HW PTP time and kernel time
Bug 200512422
Change-Id: I03509cc02f28571108a1061c739840c86f960af4
Signed-off-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2161172
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:07 +05:30
Rakesh Goyal
a0ced14509
nvethernet: fix kernel_warning_test errors
...
Moving informative prints from dev_err to dev_info
Bug 200512422
Change-Id: I3e404f14c2ee0bc24fef3943c3bb402c33d492e2
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2162925
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:07 +05:30
Narayan Reddy
21dcef7b83
nvethernet: add PTP support
...
This takes care of implementing the PTP support
which includes PTP V1/V2 over IPV4,IPV6,Ethernet,gPTP.
Bug 200524751
Change-Id: Id647db1f60582717a09f24699841e00d7a582a1d
Signed-off-by: Narayan Reddy <narayanr@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/2123439
GVS: Gerrit_Virtual_Submit
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2022-11-01 14:27:07 +05:30