diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-15 16:30:35 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-15 16:30:35 -0400 |
| commit | 43d39ae0cf8f891c35e8316948229c7cbffa3994 (patch) | |
| tree | c8af6999a9327c8b9bbc7384efe8f52f851ff3d8 /drivers/net/xen-netfront.c | |
| parent | 63bd8c48e04bbbc9cee3d752857914609d8d406f (diff) | |
| parent | 84284d3c1d6372bc9ab496607661d230d9c45de4 (diff) | |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (35 commits)
xen-netfront: rearrange netfront structure to separate tx and rx
netdev: convert non-obvious instances to use ARRAY_SIZE()
ucc_geth: Fix build break introduced by commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0
gianfar: Fix regression caused by new napi interface
gianfar: Cleanup compile warning caused by 0795af57
gianfar: Fix compile regression caused by bea3348e
add new prom.h for AU1x00
update AU1000 get_ethernet_addr()
MIPSsim: General cleanup
Jazzsonic: Fix warning about unused variable.
Remove msic_dcr_read() in axon_msi.c
Use dcr_host_t.base in dcr_unmap()
Add dcr_host_t.base in dcr_read()/dcr_write()
Use dcr_host_t.base in ibm_emac_mal
Update ibm_newemac to use dcr_host_t.base
tehuti: possible leak in bdx_probe
TC35815: Fix build
SAA9730: Fix build
AR7 ethernet
myri10ge: update driver version to 1.3.2-1.287
...
Diffstat (limited to 'drivers/net/xen-netfront.c')
| -rw-r--r-- | drivers/net/xen-netfront.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index f464b82c7d5f..7fd505cc4f7a 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c | |||
| @@ -74,22 +74,12 @@ struct netfront_info { | |||
| 74 | 74 | ||
| 75 | struct napi_struct napi; | 75 | struct napi_struct napi; |
| 76 | 76 | ||
| 77 | struct xen_netif_tx_front_ring tx; | ||
| 78 | struct xen_netif_rx_front_ring rx; | ||
| 79 | |||
| 80 | spinlock_t tx_lock; | ||
| 81 | spinlock_t rx_lock; | ||
| 82 | |||
| 83 | unsigned int evtchn; | 77 | unsigned int evtchn; |
| 78 | struct xenbus_device *xbdev; | ||
| 84 | 79 | ||
| 85 | /* Receive-ring batched refills. */ | 80 | spinlock_t tx_lock; |
| 86 | #define RX_MIN_TARGET 8 | 81 | struct xen_netif_tx_front_ring tx; |
| 87 | #define RX_DFL_MIN_TARGET 64 | 82 | int tx_ring_ref; |
| 88 | #define RX_MAX_TARGET min_t(int, NET_RX_RING_SIZE, 256) | ||
| 89 | unsigned rx_min_target, rx_max_target, rx_target; | ||
| 90 | struct sk_buff_head rx_batch; | ||
| 91 | |||
| 92 | struct timer_list rx_refill_timer; | ||
| 93 | 83 | ||
| 94 | /* | 84 | /* |
| 95 | * {tx,rx}_skbs store outstanding skbuffs. Free tx_skb entries | 85 | * {tx,rx}_skbs store outstanding skbuffs. Free tx_skb entries |
| @@ -108,14 +98,23 @@ struct netfront_info { | |||
| 108 | grant_ref_t grant_tx_ref[NET_TX_RING_SIZE]; | 98 | grant_ref_t grant_tx_ref[NET_TX_RING_SIZE]; |
| 109 | unsigned tx_skb_freelist; | 99 | unsigned tx_skb_freelist; |
| 110 | 100 | ||
| 101 | spinlock_t rx_lock ____cacheline_aligned_in_smp; | ||
| 102 | struct xen_netif_rx_front_ring rx; | ||
| 103 | int rx_ring_ref; | ||
| 104 | |||
| 105 | /* Receive-ring batched refills. */ | ||
| 106 | #define RX_MIN_TARGET 8 | ||
| 107 | #define RX_DFL_MIN_TARGET 64 | ||
| 108 | #define RX_MAX_TARGET min_t(int, NET_RX_RING_SIZE, 256) | ||
| 109 | unsigned rx_min_target, rx_max_target, rx_target; | ||
| 110 | struct sk_buff_head rx_batch; | ||
| 111 | |||
| 112 | struct timer_list rx_refill_timer; | ||
| 113 | |||
| 111 | struct sk_buff *rx_skbs[NET_RX_RING_SIZE]; | 114 | struct sk_buff *rx_skbs[NET_RX_RING_SIZE]; |
| 112 | grant_ref_t gref_rx_head; | 115 | grant_ref_t gref_rx_head; |
| 113 | grant_ref_t grant_rx_ref[NET_RX_RING_SIZE]; | 116 | grant_ref_t grant_rx_ref[NET_RX_RING_SIZE]; |
| 114 | 117 | ||
| 115 | struct xenbus_device *xbdev; | ||
| 116 | int tx_ring_ref; | ||
| 117 | int rx_ring_ref; | ||
| 118 | |||
| 119 | unsigned long rx_pfn_array[NET_RX_RING_SIZE]; | 118 | unsigned long rx_pfn_array[NET_RX_RING_SIZE]; |
| 120 | struct multicall_entry rx_mcl[NET_RX_RING_SIZE+1]; | 119 | struct multicall_entry rx_mcl[NET_RX_RING_SIZE+1]; |
| 121 | struct mmu_update rx_mmu[NET_RX_RING_SIZE]; | 120 | struct mmu_update rx_mmu[NET_RX_RING_SIZE]; |
