]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: dsa: microchip: move remaining register offset to ksz_chip_reg
authorArun Ramadoss <arun.ramadoss@microchip.com>
Tue, 28 Jun 2022 17:13:29 +0000 (22:43 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 29 Jun 2022 12:47:59 +0000 (13:47 +0100)
This patch moves the broadcast ctrl, multicast ctrl and start control
registers from ksz_chip_dat to ksz_chip_reg.

Signed-off-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz_common.c
drivers/net/dsa/microchip/ksz_common.h

index 2f336b991d5aafdd9068e310202ec5ce69359248..1354804171a1c597acb69575129362035b228057 100644 (file)
@@ -217,6 +217,9 @@ static const u16 ksz8795_regs[] = {
        [P_SPEED_STATUS]                = 0x09,
        [S_TAIL_TAG_CTRL]               = 0x0C,
        [P_STP_CTRL]                    = 0x02,
+       [S_START_CTRL]                  = 0x01,
+       [S_BROADCAST_CTRL]              = 0x06,
+       [S_MULTICAST_CTRL]              = 0x04,
 };
 
 static const u32 ksz8795_masks[] = {
@@ -268,6 +271,9 @@ static const u16 ksz8863_regs[] = {
        [P_SPEED_STATUS]                = 0x0F,
        [S_TAIL_TAG_CTRL]               = 0x03,
        [P_STP_CTRL]                    = 0x02,
+       [S_START_CTRL]                  = 0x01,
+       [S_BROADCAST_CTRL]              = 0x06,
+       [S_MULTICAST_CTRL]              = 0x04,
 };
 
 static const u32 ksz8863_masks[] = {
@@ -305,6 +311,9 @@ static u8 ksz8863_shifts[] = {
 
 static const u16 ksz9477_regs[] = {
        [P_STP_CTRL]                    = 0x0B04,
+       [S_START_CTRL]                  = 0x0300,
+       [S_BROADCAST_CTRL]              = 0x0332,
+       [S_MULTICAST_CTRL]              = 0x0331,
 
 };
 
@@ -325,9 +334,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .regs = ksz8795_regs,
                .masks = ksz8795_masks,
                .shifts = ksz8795_shifts,
-               .broadcast_ctrl_reg =  0x06,
-               .multicast_ctrl_reg = 0x04,
-               .start_ctrl_reg = 0x01,
                .supports_mii = {false, false, false, false, true},
                .supports_rmii = {false, false, false, false, true},
                .supports_rgmii = {false, false, false, false, true},
@@ -364,9 +370,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .regs = ksz8795_regs,
                .masks = ksz8795_masks,
                .shifts = ksz8795_shifts,
-               .broadcast_ctrl_reg =  0x06,
-               .multicast_ctrl_reg = 0x04,
-               .start_ctrl_reg = 0x01,
                .supports_mii = {false, false, false, false, true},
                .supports_rmii = {false, false, false, false, true},
                .supports_rgmii = {false, false, false, false, true},
@@ -389,9 +392,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .regs = ksz8795_regs,
                .masks = ksz8795_masks,
                .shifts = ksz8795_shifts,
-               .broadcast_ctrl_reg =  0x06,
-               .multicast_ctrl_reg = 0x04,
-               .start_ctrl_reg = 0x01,
                .supports_mii = {false, false, false, false, true},
                .supports_rmii = {false, false, false, false, true},
                .supports_rgmii = {false, false, false, false, true},
@@ -413,9 +413,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .regs = ksz8863_regs,
                .masks = ksz8863_masks,
                .shifts = ksz8863_shifts,
-               .broadcast_ctrl_reg =  0x06,
-               .multicast_ctrl_reg = 0x04,
-               .start_ctrl_reg = 0x01,
                .supports_mii = {false, false, true},
                .supports_rmii = {false, false, true},
                .internal_phy = {true, true, false},
@@ -435,9 +432,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii   = {false, false, false, false,
                                   false, true, false},
                .supports_rmii  = {false, false, false, false,
@@ -462,9 +456,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii   = {false, false, false, false,
                                   false, true, true},
                .supports_rmii  = {false, false, false, false,
@@ -488,9 +479,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii = {false, false, true},
                .supports_rmii = {false, false, true},
                .supports_rgmii = {false, false, true},
@@ -511,9 +499,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii   = {false, false, false, false,
                                   false, true, true},
                .supports_rmii  = {false, false, false, false,
@@ -536,9 +521,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii = {false, false, false, false, true},
                .supports_rmii = {false, false, false, false, true},
                .supports_rgmii = {false, false, false, false, true},
@@ -557,9 +539,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii = {false, false, false, false, true, true},
                .supports_rmii = {false, false, false, false, true, true},
                .supports_rgmii = {false, false, false, false, true, true},
@@ -578,9 +557,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii   = {false, false, false, false,
                                   true, true, false, false},
                .supports_rmii  = {false, false, false, false,
@@ -603,9 +579,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii   = {false, false, false, false,
                                   true, true, false, false},
                .supports_rmii  = {false, false, false, false,
@@ -628,9 +601,6 @@ const struct ksz_chip_data ksz_switch_chips[] = {
                .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
                .reg_mib_cnt = MIB_COUNTER_NUM,
                .regs = ksz9477_regs,
-               .broadcast_ctrl_reg =  0x0332,
-               .multicast_ctrl_reg = 0x0331,
-               .start_ctrl_reg = 0x0300,
                .supports_mii   = {false, false, false, false,
                                   true, true, false, false},
                .supports_rmii  = {false, false, false, false,
@@ -830,8 +800,11 @@ static void ksz_update_port_member(struct ksz_device *dev, int port)
 static int ksz_setup(struct dsa_switch *ds)
 {
        struct ksz_device *dev = ds->priv;
+       const u16 *regs;
        int ret;
 
+       regs = dev->info->regs;
+
        dev->vlan_cache = devm_kcalloc(dev->dev, sizeof(struct vlan_table),
                                       dev->info->num_vlans, GFP_KERNEL);
        if (!dev->vlan_cache)
@@ -844,7 +817,7 @@ static int ksz_setup(struct dsa_switch *ds)
        }
 
        /* set broadcast storm protection 10% rate */
-       regmap_update_bits(dev->regmap[1], dev->info->broadcast_ctrl_reg,
+       regmap_update_bits(dev->regmap[1], regs[S_BROADCAST_CTRL],
                           BROADCAST_STORM_RATE,
                           (BROADCAST_STORM_VALUE *
                           BROADCAST_STORM_PROT_RATE) / 100);
@@ -853,7 +826,7 @@ static int ksz_setup(struct dsa_switch *ds)
 
        dev->dev_ops->enable_stp_addr(dev);
 
-       regmap_update_bits(dev->regmap[0], dev->info->multicast_ctrl_reg,
+       regmap_update_bits(dev->regmap[0], regs[S_MULTICAST_CTRL],
                           MULTICAST_STORM_DISABLE, MULTICAST_STORM_DISABLE);
 
        ksz_init_mib_timer(dev);
@@ -867,7 +840,7 @@ static int ksz_setup(struct dsa_switch *ds)
        }
 
        /* start switch */
-       regmap_update_bits(dev->regmap[0], dev->info->start_ctrl_reg,
+       regmap_update_bits(dev->regmap[0], regs[S_START_CTRL],
                           SW_START, SW_START);
 
        return 0;
index 2a9b2b59fa79ec37ab6136dee84fa405f7317645..91fbb3b6253674678d3bcd21178badea57de8548 100644 (file)
@@ -165,6 +165,9 @@ enum ksz_regs {
        P_SPEED_STATUS,
        S_TAIL_TAG_CTRL,
        P_STP_CTRL,
+       S_START_CTRL,
+       S_BROADCAST_CTRL,
+       S_MULTICAST_CTRL,
 };
 
 enum ksz_masks {