skge: use per-port phy locking

Rather than a workqueue and a per-board mutex to control PHY,
use a tasklet and spinlock. Tasklet is lower overhead and works
just as well for this.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Stephen Hemminger
2007-03-16 14:01:28 -07:00
committed by Jeff Garzik
parent 4ebabfcb1d
commit 9cbe330f1f
2 changed files with 47 additions and 41 deletions

View File

@@ -2424,8 +2424,8 @@ struct skge_hw {
u32 ram_size;
u32 ram_offset;
u16 phy_addr;
struct work_struct phy_work;
struct mutex phy_mutex;
spinlock_t phy_lock;
struct tasklet_struct phy_task;
};
enum pause_control {
@@ -2457,7 +2457,7 @@ struct skge_port {
struct net_device_stats net_stats;
struct delayed_work link_thread;
struct timer_list link_timer;
enum pause_control flow_control;
enum pause_status flow_status;
u8 rx_csum;