net: dsa: add dsa_is_unused_port helper

As the comment above the chunk states, the b53 driver attempts to
disable the unused ports. But using ds->enabled_port_mask is misleading,
because this mask reports in fact the user ports.

To avoid confusion and fix this, this patch introduces an explicit
dsa_is_unused_port helper which ensures the corresponding bit is not
masked in any of the switch port masks.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Vivien Didelot 2017-10-26 11:22:51 -04:00 committed by David S. Miller
parent 5bca178eed
commit bff7b688d5
2 changed files with 8 additions and 1 deletions

View file

@ -254,6 +254,13 @@ struct dsa_switch {
struct dsa_port ports[];
};
static inline bool dsa_is_unused_port(struct dsa_switch *ds, int p)
{
u32 m = ds->enabled_port_mask | ds->dsa_port_mask | ds->cpu_port_mask;
return !(m & BIT(p));
}
static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p)
{
return !!(ds->cpu_port_mask & (1 << p));