mlxsw: pci: Add max virtual routers resource
authorNogah Frankel <nogahf@mellanox.com>
Tue, 20 Sep 2016 09:16:53 +0000 (11:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Sep 2016 05:00:59 +0000 (01:00 -0400)
Add the max number of virtual routers to resource query.

Signed-off-by: Nogah Frankel <nogahf@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/core.h
drivers/net/ethernet/mellanox/mlxsw/pci.c

index 1193bdcc4407b31c66617c6ad9160ab61eeb6031..e936dc9bdb9b6fab648b92dd39a9f5cd2cde2aed 100644 (file)
@@ -272,13 +272,15 @@ struct mlxsw_resources {
                max_ports_in_lag_valid:1,
                kvd_size_valid:1,
                kvd_single_min_size_valid:1,
-               kvd_double_min_size_valid:1;
+               kvd_double_min_size_valid:1,
+               max_virtual_routers_valid:1;
        u8      max_span;
        u8      max_lag;
        u8      max_ports_in_lag;
        u32     kvd_size;
        u32     kvd_single_min_size;
        u32     kvd_double_min_size;
+       u16     max_virtual_routers;
 
        /* Internal resources.
         * Determined by the SW, not queried from the HW.
index c2d2fa1a1d3a276688e559c43dd93e1470819e93..cb95f9a07200c9630c07d563341753bc83c04b22 100644 (file)
@@ -1161,6 +1161,7 @@ mlxsw_pci_config_profile_swid_config(struct mlxsw_pci *mlxsw_pci,
 #define MLXSW_KVD_SIZE_ID 0x1001
 #define MLXSW_KVD_SINGLE_MIN_SIZE_ID 0x1002
 #define MLXSW_KVD_DOUBLE_MIN_SIZE_ID 0x1003
+#define MLXSW_MAX_VIRTUAL_ROUTERS_ID 0x2C01
 #define MLXSW_RESOURCES_QUERY_MAX_QUERIES 100
 #define MLXSW_RESOURCES_PER_QUERY 32
 
@@ -1192,6 +1193,10 @@ static void mlxsw_pci_resources_query_parse(int id, u64 val,
                resources->kvd_double_min_size = val;
                resources->kvd_double_min_size_valid = 1;
                break;
+       case MLXSW_MAX_VIRTUAL_ROUTERS_ID:
+               resources->max_virtual_routers = val;
+               resources->max_virtual_routers_valid = 1;
+               break;
        default:
                break;
        }