mlxsw: pci: Add max router interface resource
authorNogah Frankel <nogahf@mellanox.com>
Tue, 20 Sep 2016 09:16:56 +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 rif (router interfaces) 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 097e56014c0cde6fb422d43b36f1e2e98efc8728..c4f550b6f783998eded5bb14d154dad41a073496 100644 (file)
@@ -276,7 +276,8 @@ struct mlxsw_resources {
                max_virtual_routers_valid:1,
                max_system_ports_valid:1,
                max_vlan_groups_valid:1,
-               max_regions_valid:1;
+               max_regions_valid:1,
+               max_rif_valid:1;
        u8      max_span;
        u8      max_lag;
        u8      max_ports_in_lag;
@@ -287,6 +288,7 @@ struct mlxsw_resources {
        u16     max_system_ports;
        u16     max_vlan_groups;
        u16     max_regions;
+       u16     max_rif;
 
        /* Internal resources.
         * Determined by the SW, not queried from the HW.
index 826b5020c01aaa6443cbde1328bbffeef30f7ec6..e742bd4e8894a4493d60251a44dbd1209b310601 100644 (file)
@@ -1165,6 +1165,7 @@ mlxsw_pci_config_profile_swid_config(struct mlxsw_pci *mlxsw_pci,
 #define MLXSW_MAX_SYSTEM_PORT_ID 0x2502
 #define MLXSW_MAX_VLAN_GROUPS_ID 0x2906
 #define MLXSW_MAX_REGIONS_ID 0x2901
+#define MLXSW_MAX_RIF_ID 0x2C02
 #define MLXSW_RESOURCES_QUERY_MAX_QUERIES 100
 #define MLXSW_RESOURCES_PER_QUERY 32
 
@@ -1212,6 +1213,10 @@ static void mlxsw_pci_resources_query_parse(int id, u64 val,
                resources->max_regions = val;
                resources->max_regions_valid = 1;
                break;
+       case MLXSW_MAX_RIF_ID:
+               resources->max_rif = val;
+               resources->max_rif_valid = 1;
+               break;
        default:
                break;
        }