Hi,

21/10/2013 09:09, Qinglai Xiao :
> Physical Function assignes Tx/Rx queues to each VF according to
> different schemes[1]. By querying through mailbox, VF is able to
> get number of Tx/Rx queues assigned to it.
> 
> Note that current Intel ixgbe driver ixgbe-3.18.7 does not fully
> support mailbox message IXGBE_VF_GET_QUEUES. The service routine
> for IXGBE_VF_GET_QUEUES must be fixed, otherwise PF always return
> 1 as Tx/Rx queue number.
> 
> [1] See section 7.2.1.2.1, 7.1.2.2 and 7.10.2.7.2 of Intel 82599 10
>     Gbe Controller Datasheet.
> 
> Signed-off-by: Qinglai Xiao <jigsaw at gmail.com>
> ---

Thanks for the patch, your comments are clear.

> +static void ixgbevf_negotiate_api(struct ixgbe_hw *hw)
> +{
> +     int api[] = { ixgbe_mbox_api_11,
> +                   ixgbe_mbox_api_10,
> +                   ixgbe_mbox_api_unknown };
> +     int err = 0, idx = 0;
> +
> +     while (api[idx] != ixgbe_mbox_api_unknown) {
> +             err = ixgbevf_negotiate_api_version(hw, api[idx]);
> +             if (!err)
> +                     break;
> +             idx++;
> +     }
> +}

I have comments about the mbox API:
1) Why not call directly ixgbevf_negotiate_api_version for ixgbe_mbox_api_11 
only ?
It seems that only version 1.1 supports ixgbevf_get_queues.
2) If a loop is still needed, why not use a simple "for loop" ?
3) If ixgbevf_negotiate_api is still needed, I'd prefer to have "_mbx" in its 
name.

Thank you
-- 
Thomas

Reply via email to