@@ -652,16 +652,14 @@ static inline void netvsc_free_send_slot(struct netvsc_device *net_device,
652
652
sync_change_bit (index , net_device -> send_section_map );
653
653
}
654
654
655
- static void netvsc_send_tx_complete (struct netvsc_device * net_device ,
656
- struct vmbus_channel * incoming_channel ,
657
- struct hv_device * device ,
655
+ static void netvsc_send_tx_complete (struct net_device * ndev ,
656
+ struct netvsc_device * net_device ,
657
+ struct vmbus_channel * channel ,
658
658
const struct vmpacket_descriptor * desc ,
659
659
int budget )
660
660
{
661
661
struct sk_buff * skb = (struct sk_buff * )(unsigned long )desc -> trans_id ;
662
- struct net_device * ndev = hv_get_drvdata (device );
663
662
struct net_device_context * ndev_ctx = netdev_priv (ndev );
664
- struct vmbus_channel * channel = device -> channel ;
665
663
u16 q_idx = 0 ;
666
664
int queue_sends ;
667
665
@@ -675,7 +673,6 @@ static void netvsc_send_tx_complete(struct netvsc_device *net_device,
675
673
if (send_index != NETVSC_INVALID_INDEX )
676
674
netvsc_free_send_slot (net_device , send_index );
677
675
q_idx = packet -> q_idx ;
678
- channel = incoming_channel ;
679
676
680
677
tx_stats = & net_device -> chan_table [q_idx ].tx_stats ;
681
678
@@ -705,14 +702,13 @@ static void netvsc_send_tx_complete(struct netvsc_device *net_device,
705
702
}
706
703
}
707
704
708
- static void netvsc_send_completion (struct netvsc_device * net_device ,
705
+ static void netvsc_send_completion (struct net_device * ndev ,
706
+ struct netvsc_device * net_device ,
709
707
struct vmbus_channel * incoming_channel ,
710
- struct hv_device * device ,
711
708
const struct vmpacket_descriptor * desc ,
712
709
int budget )
713
710
{
714
- struct nvsp_message * nvsp_packet = hv_pkt_data (desc );
715
- struct net_device * ndev = hv_get_drvdata (device );
711
+ const struct nvsp_message * nvsp_packet = hv_pkt_data (desc );
716
712
717
713
switch (nvsp_packet -> hdr .msg_type ) {
718
714
case NVSP_MSG_TYPE_INIT_COMPLETE :
@@ -726,8 +722,8 @@ static void netvsc_send_completion(struct netvsc_device *net_device,
726
722
break ;
727
723
728
724
case NVSP_MSG1_TYPE_SEND_RNDIS_PKT_COMPLETE :
729
- netvsc_send_tx_complete (net_device , incoming_channel ,
730
- device , desc , budget );
725
+ netvsc_send_tx_complete (ndev , net_device , incoming_channel ,
726
+ desc , budget );
731
727
break ;
732
728
733
729
default :
@@ -1092,12 +1088,11 @@ static void enq_receive_complete(struct net_device *ndev,
1092
1088
1093
1089
static int netvsc_receive (struct net_device * ndev ,
1094
1090
struct netvsc_device * net_device ,
1095
- struct net_device_context * net_device_ctx ,
1096
- struct hv_device * device ,
1097
1091
struct vmbus_channel * channel ,
1098
1092
const struct vmpacket_descriptor * desc ,
1099
- struct nvsp_message * nvsp )
1093
+ const struct nvsp_message * nvsp )
1100
1094
{
1095
+ struct net_device_context * net_device_ctx = netdev_priv (ndev );
1101
1096
const struct vmtransfer_page_packet_header * vmxferpage_packet
1102
1097
= container_of (desc , const struct vmtransfer_page_packet_header , d );
1103
1098
u16 q_idx = channel -> offermsg .offer .sub_channel_index ;
@@ -1158,13 +1153,12 @@ static int netvsc_receive(struct net_device *ndev,
1158
1153
return count ;
1159
1154
}
1160
1155
1161
- static void netvsc_send_table (struct hv_device * hdev ,
1162
- struct nvsp_message * nvmsg )
1156
+ static void netvsc_send_table (struct net_device * ndev ,
1157
+ const struct nvsp_message * nvmsg )
1163
1158
{
1164
- struct net_device * ndev = hv_get_drvdata (hdev );
1165
1159
struct net_device_context * net_device_ctx = netdev_priv (ndev );
1166
- int i ;
1167
1160
u32 count , * tab ;
1161
+ int i ;
1168
1162
1169
1163
count = nvmsg -> msg .v5_msg .send_table .count ;
1170
1164
if (count != VRSS_SEND_TAB_SIZE ) {
@@ -1179,24 +1173,25 @@ static void netvsc_send_table(struct hv_device *hdev,
1179
1173
net_device_ctx -> tx_table [i ] = tab [i ];
1180
1174
}
1181
1175
1182
- static void netvsc_send_vf (struct net_device_context * net_device_ctx ,
1183
- struct nvsp_message * nvmsg )
1176
+ static void netvsc_send_vf (struct net_device * ndev ,
1177
+ const struct nvsp_message * nvmsg )
1184
1178
{
1179
+ struct net_device_context * net_device_ctx = netdev_priv (ndev );
1180
+
1185
1181
net_device_ctx -> vf_alloc = nvmsg -> msg .v4_msg .vf_assoc .allocated ;
1186
1182
net_device_ctx -> vf_serial = nvmsg -> msg .v4_msg .vf_assoc .serial ;
1187
1183
}
1188
1184
1189
- static inline void netvsc_receive_inband (struct hv_device * hdev ,
1190
- struct net_device_context * net_device_ctx ,
1191
- struct nvsp_message * nvmsg )
1185
+ static void netvsc_receive_inband (struct net_device * ndev ,
1186
+ const struct nvsp_message * nvmsg )
1192
1187
{
1193
1188
switch (nvmsg -> hdr .msg_type ) {
1194
1189
case NVSP_MSG5_TYPE_SEND_INDIRECTION_TABLE :
1195
- netvsc_send_table (hdev , nvmsg );
1190
+ netvsc_send_table (ndev , nvmsg );
1196
1191
break ;
1197
1192
1198
1193
case NVSP_MSG4_TYPE_SEND_VF_ASSOCIATION :
1199
- netvsc_send_vf (net_device_ctx , nvmsg );
1194
+ netvsc_send_vf (ndev , nvmsg );
1200
1195
break ;
1201
1196
}
1202
1197
}
@@ -1208,24 +1203,23 @@ static int netvsc_process_raw_pkt(struct hv_device *device,
1208
1203
const struct vmpacket_descriptor * desc ,
1209
1204
int budget )
1210
1205
{
1211
- struct net_device_context * net_device_ctx = netdev_priv (ndev );
1212
- struct nvsp_message * nvmsg = hv_pkt_data (desc );
1206
+ const struct nvsp_message * nvmsg = hv_pkt_data (desc );
1213
1207
1214
1208
trace_nvsp_recv (ndev , channel , nvmsg );
1215
1209
1216
1210
switch (desc -> type ) {
1217
1211
case VM_PKT_COMP :
1218
- netvsc_send_completion (net_device , channel , device ,
1212
+ netvsc_send_completion (ndev , net_device , channel ,
1219
1213
desc , budget );
1220
1214
break ;
1221
1215
1222
1216
case VM_PKT_DATA_USING_XFER_PAGES :
1223
- return netvsc_receive (ndev , net_device , net_device_ctx ,
1224
- device , channel , desc , nvmsg );
1217
+ return netvsc_receive (ndev , net_device , channel ,
1218
+ desc , nvmsg );
1225
1219
break ;
1226
1220
1227
1221
case VM_PKT_DATA_INBAND :
1228
- netvsc_receive_inband (device , net_device_ctx , nvmsg );
1222
+ netvsc_receive_inband (ndev , nvmsg );
1229
1223
break ;
1230
1224
1231
1225
default :
0 commit comments