dc149a742b1af4512c1de11815609f8ec004e8ed
[librecmc/librecmc.git] /
1 From 983d96a9116a328668601555d96736261d33170c Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
3 Date: Thu, 16 Sep 2021 14:03:51 +0200
4 Subject: [PATCH] net: dsa: b53: Include all ports in "enabled_ports"
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Make "enabled_ports" bitfield contain all available switch ports
10 including a CPU port. This way there is no need for fixup during
11 initialization.
12
13 For BCM53010, BCM53018 and BCM53019 include also other available ports.
14
15 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
17 Tested-by: Florian Fainelli <f.fainelli@gmail.com>
18 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
19 ---
20  drivers/net/dsa/b53/b53_common.c | 23 +++++++++++------------
21  1 file changed, 11 insertions(+), 12 deletions(-)
22
23 --- a/drivers/net/dsa/b53/b53_common.c
24 +++ b/drivers/net/dsa/b53/b53_common.c
25 @@ -2300,7 +2300,7 @@ static const struct b53_chip_data b53_sw
26                 .chip_id = BCM5325_DEVICE_ID,
27                 .dev_name = "BCM5325",
28                 .vlans = 16,
29 -               .enabled_ports = 0x1f,
30 +               .enabled_ports = 0x3f,
31                 .arl_bins = 2,
32                 .arl_buckets = 1024,
33                 .imp_port = 5,
34 @@ -2311,7 +2311,7 @@ static const struct b53_chip_data b53_sw
35                 .chip_id = BCM5365_DEVICE_ID,
36                 .dev_name = "BCM5365",
37                 .vlans = 256,
38 -               .enabled_ports = 0x1f,
39 +               .enabled_ports = 0x3f,
40                 .arl_bins = 2,
41                 .arl_buckets = 1024,
42                 .imp_port = 5,
43 @@ -2322,7 +2322,7 @@ static const struct b53_chip_data b53_sw
44                 .chip_id = BCM5389_DEVICE_ID,
45                 .dev_name = "BCM5389",
46                 .vlans = 4096,
47 -               .enabled_ports = 0x1f,
48 +               .enabled_ports = 0x11f,
49                 .arl_bins = 4,
50                 .arl_buckets = 1024,
51                 .imp_port = 8,
52 @@ -2336,7 +2336,7 @@ static const struct b53_chip_data b53_sw
53                 .chip_id = BCM5395_DEVICE_ID,
54                 .dev_name = "BCM5395",
55                 .vlans = 4096,
56 -               .enabled_ports = 0x1f,
57 +               .enabled_ports = 0x11f,
58                 .arl_bins = 4,
59                 .arl_buckets = 1024,
60                 .imp_port = 8,
61 @@ -2350,7 +2350,7 @@ static const struct b53_chip_data b53_sw
62                 .chip_id = BCM5397_DEVICE_ID,
63                 .dev_name = "BCM5397",
64                 .vlans = 4096,
65 -               .enabled_ports = 0x1f,
66 +               .enabled_ports = 0x11f,
67                 .arl_bins = 4,
68                 .arl_buckets = 1024,
69                 .imp_port = 8,
70 @@ -2364,7 +2364,7 @@ static const struct b53_chip_data b53_sw
71                 .chip_id = BCM5398_DEVICE_ID,
72                 .dev_name = "BCM5398",
73                 .vlans = 4096,
74 -               .enabled_ports = 0x7f,
75 +               .enabled_ports = 0x17f,
76                 .arl_bins = 4,
77                 .arl_buckets = 1024,
78                 .imp_port = 8,
79 @@ -2378,7 +2378,7 @@ static const struct b53_chip_data b53_sw
80                 .chip_id = BCM53115_DEVICE_ID,
81                 .dev_name = "BCM53115",
82                 .vlans = 4096,
83 -               .enabled_ports = 0x1f,
84 +               .enabled_ports = 0x11f,
85                 .arl_bins = 4,
86                 .arl_buckets = 1024,
87                 .vta_regs = B53_VTA_REGS,
88 @@ -2392,7 +2392,7 @@ static const struct b53_chip_data b53_sw
89                 .chip_id = BCM53125_DEVICE_ID,
90                 .dev_name = "BCM53125",
91                 .vlans = 4096,
92 -               .enabled_ports = 0xff,
93 +               .enabled_ports = 0x1ff,
94                 .arl_bins = 4,
95                 .arl_buckets = 1024,
96                 .imp_port = 8,
97 @@ -2434,7 +2434,7 @@ static const struct b53_chip_data b53_sw
98                 .chip_id = BCM53010_DEVICE_ID,
99                 .dev_name = "BCM53010",
100                 .vlans = 4096,
101 -               .enabled_ports = 0x1f,
102 +               .enabled_ports = 0x1bf,
103                 .arl_bins = 4,
104                 .arl_buckets = 1024,
105                 .imp_port = 8,
106 @@ -2476,7 +2476,7 @@ static const struct b53_chip_data b53_sw
107                 .chip_id = BCM53018_DEVICE_ID,
108                 .dev_name = "BCM53018",
109                 .vlans = 4096,
110 -               .enabled_ports = 0x1f,
111 +               .enabled_ports = 0x1bf,
112                 .arl_bins = 4,
113                 .arl_buckets = 1024,
114                 .imp_port = 8,
115 @@ -2490,7 +2490,7 @@ static const struct b53_chip_data b53_sw
116                 .chip_id = BCM53019_DEVICE_ID,
117                 .dev_name = "BCM53019",
118                 .vlans = 4096,
119 -               .enabled_ports = 0x1f,
120 +               .enabled_ports = 0x1bf,
121                 .arl_bins = 4,
122                 .arl_buckets = 1024,
123                 .imp_port = 8,
124 @@ -2632,7 +2632,6 @@ static int b53_switch_init(struct b53_de
125                         dev->cpu_port = 5;
126         }
127  
128 -       dev->enabled_ports |= BIT(dev->cpu_port);
129         dev->num_ports = fls(dev->enabled_ports);
130  
131         dev->ds->num_ports = min_t(unsigned int, dev->num_ports, DSA_MAX_PORTS);