lkml.org 
[lkml]   [2021]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [net-next PATCH RFC v6 11/16] net: dsa: qca8k: add tracking state of master port
    On Tue, Dec 14, 2021 at 11:44:04PM +0100, Ansuel Smith wrote:
    > MDIO/MIB Ethernet require the master port and the tagger availabale to
    > correctly work. Use the new api master_state_change to track when master
    > is operational or not and set a bool in qca8k_priv.
    > We cache the first cached master available and we check if other cpu
    > port are operational when the cached one goes down.
    > This cached master will later be used by mdio read/write and mib request to
    > correctly use the working function.
    >
    > qca8k implementation for MDIO/MIB Ethernet is bad. CPU port0 is the only
    > one that answers with the ack packet or sends MIB Ethernet packets. For
    > this reason the master_state_change ignore CPU port6 and checkes only
    > CPU port0 if it's operational and enables this mode.

    CPU port 0 may not always be wired, it depends on board design, right?
    So the Ethernet management protocol may or may not be available to all users.

    >
    > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
    > ---
    > diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
    > index ab4a417b25a9..6edd6adc3063 100644
    > --- a/drivers/net/dsa/qca8k.h
    > +++ b/drivers/net/dsa/qca8k.h
    > @@ -353,6 +353,7 @@ struct qca8k_priv {
    > struct dsa_switch_ops ops;
    > struct gpio_desc *reset_gpio;
    > unsigned int port_mtu[QCA8K_NUM_PORTS];
    > + const struct net_device *master; /* Track if mdio/mib Ethernet is available */

    Maybe "mgmt_master" would be a clearer naming scheme?

    > };
    >
    > struct qca8k_mib_desc {
    > --
    > 2.33.1
    >

    \
     
     \ /
      Last update: 2021-12-15 10:52    [W:2.031 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site