Lines Matching refs:dp

92 u16 dsa_tag_8021q_standalone_vid(const struct dsa_port *dp)
94 return DSA_8021Q_RSV | DSA_8021Q_SWITCH_ID(dp->ds->index) |
95 DSA_8021Q_PORT(dp->index);
142 static int dsa_port_do_tag_8021q_vlan_add(struct dsa_port *dp, u16 vid,
145 struct dsa_8021q_context *ctx = dp->ds->tag_8021q_ctx;
146 struct dsa_switch *ds = dp->ds;
148 int port = dp->index;
152 if (!(dsa_port_is_cpu(dp) || dsa_port_is_dsa(dp)))
179 static int dsa_port_do_tag_8021q_vlan_del(struct dsa_port *dp, u16 vid)
181 struct dsa_8021q_context *ctx = dp->ds->tag_8021q_ctx;
182 struct dsa_switch *ds = dp->ds;
184 int port = dp->index;
188 if (!(dsa_port_is_cpu(dp) || dsa_port_is_dsa(dp)))
211 dsa_port_tag_8021q_vlan_match(struct dsa_port *dp,
214 return dsa_port_is_dsa(dp) || dsa_port_is_cpu(dp) || dp == info->dp;
220 struct dsa_port *dp;
231 dsa_switch_for_each_port(dp, ds) {
232 if (dsa_port_tag_8021q_vlan_match(dp, info)) {
235 if (dsa_port_is_user(dp))
239 err = dsa_port_do_tag_8021q_vlan_add(dp, info->vid,
252 struct dsa_port *dp;
258 dsa_switch_for_each_port(dp, ds) {
259 if (dsa_port_tag_8021q_vlan_match(dp, info)) {
260 err = dsa_port_do_tag_8021q_vlan_del(dp, info->vid);
291 struct dsa_port *dp = dsa_to_port(ds, port);
298 standalone_vid = dsa_tag_8021q_standalone_vid(dp);
301 err = dsa_port_tag_8021q_vlan_add(dp, bridge_vid, true);
305 dsa_port_tag_8021q_vlan_del(dp, standalone_vid, false);
314 struct dsa_port *dp = dsa_to_port(ds, port);
321 standalone_vid = dsa_tag_8021q_standalone_vid(dp);
324 err = dsa_port_tag_8021q_vlan_add(dp, standalone_vid, false);
331 dsa_port_tag_8021q_vlan_del(dp, bridge_vid, true);
339 struct dsa_port *dp = dsa_to_port(ds, port);
340 u16 vid = dsa_tag_8021q_standalone_vid(dp);
347 if (!dsa_port_is_user(dp))
350 conduit = dsa_port_to_conduit(dp);
352 err = dsa_port_tag_8021q_vlan_add(dp, vid, false);
369 struct dsa_port *dp = dsa_to_port(ds, port);
370 u16 vid = dsa_tag_8021q_standalone_vid(dp);
376 if (!dsa_port_is_user(dp))
379 conduit = dsa_port_to_conduit(dp);
381 dsa_port_tag_8021q_vlan_del(dp, vid, false);
476 struct dsa_port *dp;
481 dsa_tree_for_each_user_port(dp, dst) {
482 if (!dp->bridge)
485 if (dp->stp_state != BR_STATE_LEARNING &&
486 dp->stp_state != BR_STATE_FORWARDING)
489 if (dp->cpu_dp != cpu_dp)
492 if (dsa_port_bridge_num_get(dp) == vbid)
493 return dp->user;