@@ -3432,37 +3432,13 @@ static unsigned int mergeable_min_buf_len(struct virtnet_info *vi, struct virtqu
3432
3432
(unsigned int )GOOD_PACKET_LEN );
3433
3433
}
3434
3434
3435
- static void virtnet_config_sizes (struct virtnet_info * vi , u32 * sizes )
3436
- {
3437
- u32 i , rx_size , tx_size ;
3438
-
3439
- if (vi -> speed == SPEED_UNKNOWN || vi -> speed < SPEED_10000 ) {
3440
- rx_size = 1024 ;
3441
- tx_size = 1024 ;
3442
-
3443
- } else if (vi -> speed < SPEED_40000 ) {
3444
- rx_size = 1024 * 4 ;
3445
- tx_size = 1024 * 4 ;
3446
-
3447
- } else {
3448
- rx_size = 1024 * 8 ;
3449
- tx_size = 1024 * 8 ;
3450
- }
3451
-
3452
- for (i = 0 ; i < vi -> max_queue_pairs ; i ++ ) {
3453
- sizes [rxq2vq (i )] = rx_size ;
3454
- sizes [txq2vq (i )] = tx_size ;
3455
- }
3456
- }
3457
-
3458
3435
static int virtnet_find_vqs (struct virtnet_info * vi )
3459
3436
{
3460
3437
vq_callback_t * * callbacks ;
3461
3438
struct virtqueue * * vqs ;
3462
3439
int ret = - ENOMEM ;
3463
3440
int i , total_vqs ;
3464
3441
const char * * names ;
3465
- u32 * sizes ;
3466
3442
bool * ctx ;
3467
3443
3468
3444
/* We expect 1 RX virtqueue followed by 1 TX virtqueue, followed by
@@ -3490,15 +3466,10 @@ static int virtnet_find_vqs(struct virtnet_info *vi)
3490
3466
ctx = NULL ;
3491
3467
}
3492
3468
3493
- sizes = kmalloc_array (total_vqs , sizeof (* sizes ), GFP_KERNEL );
3494
- if (!sizes )
3495
- goto err_sizes ;
3496
-
3497
3469
/* Parameters for control virtqueue, if any */
3498
3470
if (vi -> has_cvq ) {
3499
3471
callbacks [total_vqs - 1 ] = NULL ;
3500
3472
names [total_vqs - 1 ] = "control" ;
3501
- sizes [total_vqs - 1 ] = 64 ;
3502
3473
}
3503
3474
3504
3475
/* Allocate/initialize parameters for send/receive virtqueues */
@@ -3513,10 +3484,8 @@ static int virtnet_find_vqs(struct virtnet_info *vi)
3513
3484
ctx [rxq2vq (i )] = true;
3514
3485
}
3515
3486
3516
- virtnet_config_sizes (vi , sizes );
3517
-
3518
- ret = virtio_find_vqs_ctx_size (vi -> vdev , total_vqs , vqs , callbacks ,
3519
- names , sizes , ctx , NULL );
3487
+ ret = virtio_find_vqs_ctx (vi -> vdev , total_vqs , vqs , callbacks ,
3488
+ names , ctx , NULL );
3520
3489
if (ret )
3521
3490
goto err_find ;
3522
3491
@@ -3536,8 +3505,6 @@ static int virtnet_find_vqs(struct virtnet_info *vi)
3536
3505
3537
3506
3538
3507
err_find :
3539
- kfree (sizes );
3540
- err_sizes :
3541
3508
kfree (ctx );
3542
3509
err_ctx :
3543
3510
kfree (names );
@@ -3897,9 +3864,6 @@ static int virtnet_probe(struct virtio_device *vdev)
3897
3864
vi -> curr_queue_pairs = num_online_cpus ();
3898
3865
vi -> max_queue_pairs = max_queue_pairs ;
3899
3866
3900
- virtnet_init_settings (dev );
3901
- virtnet_update_settings (vi );
3902
-
3903
3867
/* Allocate/initialize the rx/tx queues, and invoke find_vqs */
3904
3868
err = init_vqs (vi );
3905
3869
if (err )
@@ -3912,6 +3876,8 @@ static int virtnet_probe(struct virtio_device *vdev)
3912
3876
netif_set_real_num_tx_queues (dev , vi -> curr_queue_pairs );
3913
3877
netif_set_real_num_rx_queues (dev , vi -> curr_queue_pairs );
3914
3878
3879
+ virtnet_init_settings (dev );
3880
+
3915
3881
if (virtio_has_feature (vdev , VIRTIO_NET_F_STANDBY )) {
3916
3882
vi -> failover = net_failover_create (vi -> dev );
3917
3883
if (IS_ERR (vi -> failover )) {
0 commit comments