net: netcp: ethss: use dev_id for ale configuration
authorGrygorii Strashko <grygorii.strashko@ti.com>
Thu, 10 Sep 2020 20:28:02 +0000 (23:28 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Sep 2020 00:34:39 +0000 (17:34 -0700)
The previous patch has introduced possibility to select CPSW ALE by using
ALE dev_id identifier. Switch TI Keystone 2 NETCP driver to use dev_id and
perform clean up by removing "ale_entries" configuration code.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/netcp_ethss.c

index 2809392..33c1592 100644 (file)
@@ -51,7 +51,6 @@
 #define GBE13_CPTS_OFFSET              0x500
 #define GBE13_ALE_OFFSET               0x600
 #define GBE13_HOST_PORT_NUM            0
-#define GBE13_NUM_ALE_ENTRIES          1024
 
 /* 1G Ethernet NU SS defines */
 #define GBENU_MODULE_NAME              "netcp-gbenu"
 #define XGBE10_ALE_OFFSET              0x700
 #define XGBE10_HW_STATS_OFFSET         0x800
 #define XGBE10_HOST_PORT_NUM           0
-#define XGBE10_NUM_ALE_ENTRIES         2048
 
 #define        GBE_TIMER_INTERVAL                      (HZ / 2)
 
@@ -711,7 +709,6 @@ struct gbe_priv {
        struct netcp_device             *netcp_device;
        struct timer_list               timer;
        u32                             num_slaves;
-       u32                             ale_entries;
        u32                             ale_ports;
        bool                            enable_ale;
        u8                              max_num_slaves;
@@ -3309,7 +3306,6 @@ static int set_xgbe_ethss10_priv(struct gbe_priv *gbe_dev,
        gbe_dev->cpts_reg = gbe_dev->switch_regs + XGBE10_CPTS_OFFSET;
        gbe_dev->ale_ports = gbe_dev->max_num_ports;
        gbe_dev->host_port = XGBE10_HOST_PORT_NUM;
-       gbe_dev->ale_entries = XGBE10_NUM_ALE_ENTRIES;
        gbe_dev->stats_en_mask = (1 << (gbe_dev->max_num_ports)) - 1;
 
        /* Subsystem registers */
@@ -3433,7 +3429,6 @@ static int set_gbe_ethss14_priv(struct gbe_priv *gbe_dev,
        gbe_dev->ale_reg = gbe_dev->switch_regs + GBE13_ALE_OFFSET;
        gbe_dev->ale_ports = gbe_dev->max_num_ports;
        gbe_dev->host_port = GBE13_HOST_PORT_NUM;
-       gbe_dev->ale_entries = GBE13_NUM_ALE_ENTRIES;
        gbe_dev->stats_en_mask = GBE13_REG_VAL_STAT_ENABLE_ALL;
 
        /* Subsystem registers */
@@ -3697,12 +3692,15 @@ static int gbe_probe(struct netcp_device *netcp_device, struct device *dev,
        ale_params.dev          = gbe_dev->dev;
        ale_params.ale_regs     = gbe_dev->ale_reg;
        ale_params.ale_ageout   = GBE_DEFAULT_ALE_AGEOUT;
-       ale_params.ale_entries  = gbe_dev->ale_entries;
        ale_params.ale_ports    = gbe_dev->ale_ports;
-       if (IS_SS_ID_MU(gbe_dev)) {
-               ale_params.major_ver_mask = 0x7;
-               ale_params.nu_switch_ale = true;
-       }
+       ale_params.dev_id       = "cpsw";
+       if (IS_SS_ID_NU(gbe_dev))
+               ale_params.dev_id = "66ak2el";
+       else if (IS_SS_ID_2U(gbe_dev))
+               ale_params.dev_id = "66ak2g";
+       else if (IS_SS_ID_XGBE(gbe_dev))
+               ale_params.dev_id = "66ak2h-xgbe";
+
        gbe_dev->ale = cpsw_ale_create(&ale_params);
        if (IS_ERR(gbe_dev->ale)) {
                dev_err(gbe_dev->dev, "error initializing ale engine\n");