mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 02:01:36 +03:00
nvethernet: Add IVC support atomic
Issue: completion_timeout doesn't support atomic. Fix: Remove mutex and wait event and change to poll_timeout. Bug 3733795 Change-Id: Ieb26623ae6191d442bb2f7e2b8c6925660882cfe Signed-off-by: Nagaraj Annaiah <nannaiah@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2759245 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com> Reviewed-by: Bhadram Varka <vbhadram@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> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
Revanth Kumar Uppala
parent
1cb18af637
commit
1ffcf6d286
@@ -206,21 +206,9 @@
|
||||
#define ETHER_TX_MAX_FRAME_SIZE GSO_MAX_SIZE
|
||||
|
||||
/**
|
||||
* @brief IVC wait timeout.
|
||||
* @brief IVC wait timeout cnt in micro seconds.
|
||||
*/
|
||||
#define IVC_WAIT_TIMEOUT (msecs_to_jiffies(100))
|
||||
|
||||
/**
|
||||
* @brief IVC read timeout cnt.
|
||||
* used as 20*IVC_WAIT_TIMEOUT hence Max is 2 sec timeout.
|
||||
*/
|
||||
#define IVC_READ_TIMEOUT_CNT 20
|
||||
|
||||
/**
|
||||
* @brief IVC channel timeout.
|
||||
* Used with 1 millisec so max timeout is 50 ms.
|
||||
*/
|
||||
#define IVC_CHANNEL_TIMEOUT_CNT 50
|
||||
#define IVC_WAIT_TIMEOUT_CNT 200000
|
||||
|
||||
/**
|
||||
* @brief Broadcast and MAC address macros
|
||||
@@ -357,11 +345,7 @@ struct ether_ivc_ctxt {
|
||||
/** ivc cookie */
|
||||
struct tegra_hv_ivc_cookie *ivck;
|
||||
/** ivc lock */
|
||||
struct mutex ivck_lock;
|
||||
/** ivc work */
|
||||
struct work_struct ivc_work;
|
||||
/** wait for event */
|
||||
struct completion msg_complete;
|
||||
raw_spinlock_t ivck_lock;
|
||||
/** Flag to indicate ivc started or stopped */
|
||||
unsigned int ivc_state;
|
||||
};
|
||||
@@ -525,10 +509,6 @@ struct ether_priv_data {
|
||||
unsigned int promisc_mode;
|
||||
/** Delayed work queue to read RMON counters periodically */
|
||||
struct delayed_work ether_stats_work;
|
||||
/** process rx work */
|
||||
struct work_struct set_rx_mode_work;
|
||||
/** rx lock */
|
||||
struct mutex rx_mode_lock;
|
||||
/** set speed work */
|
||||
struct delayed_work set_speed_work;
|
||||
/** Flag to check if EEE LPI is enabled for the MAC */
|
||||
|
||||
Reference in New Issue
Block a user