OSDN Git Service

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[uclinux-h8/linux.git] / drivers / net / hyperv / hyperv_net.h
index fcb92c0..8b3bd8e 100644 (file)
@@ -619,6 +619,7 @@ struct nvsp_message {
 #define NETVSC_PACKET_SIZE                      4096
 
 #define VRSS_SEND_TAB_SIZE 16
+#define VRSS_CHANNEL_MAX 64
 
 #define RNDIS_MAX_PKT_DEFAULT 8
 #define RNDIS_PKT_ALIGN_DEFAULT 8
@@ -658,6 +659,10 @@ struct net_device_context {
 
        struct netvsc_stats __percpu *tx_stats;
        struct netvsc_stats __percpu *rx_stats;
+
+       /* Ethtool settings */
+       u8 duplex;
+       u32 speed;
 };
 
 /* Per netvsc device */
@@ -696,13 +701,13 @@ struct netvsc_device {
 
        struct net_device *ndev;
 
-       struct vmbus_channel *chn_table[NR_CPUS];
+       struct vmbus_channel *chn_table[VRSS_CHANNEL_MAX];
        u32 send_table[VRSS_SEND_TAB_SIZE];
        u32 max_chn;
        u32 num_chn;
        spinlock_t sc_lock; /* Protects num_sc_offered variable */
        u32 num_sc_offered;
-       atomic_t queue_sends[NR_CPUS];
+       atomic_t queue_sends[VRSS_CHANNEL_MAX];
 
        /* Holds rndis device info */
        void *extension;
@@ -714,7 +719,7 @@ struct netvsc_device {
        /* The sub channel callback buffer */
        unsigned char *sub_cb_buf;
 
-       struct multi_send_data msd[NR_CPUS];
+       struct multi_send_data msd[VRSS_CHANNEL_MAX];
        u32 max_pkt; /* max number of pkt in one send, e.g. 8 */
        u32 pkt_align; /* alignment bytes, e.g. 8 */