• Florian Fainelli's avatar
    net: phy: Maintain MDIO device and bus statistics · 080bb352
    Florian Fainelli authored
    We maintain global statistics for an entire MDIO bus, as well as broken
    down, per MDIO bus address statistics. Given that it is possible for
    MDIO devices such as switches to access MDIO bus addresses for which
    there is not a mdio_device instance created (therefore not a a
    corresponding device directory in sysfs either), we also maintain
    per-address statistics under the statistics folder. The layout looks
    like this:
    
    /sys/class/mdio_bus/../statistics/
    	transfers
    	errrors
    	writes
    	reads
    	transfers_<addr>
    	errors_<addr>
    	writes_<addr>
    	reads_<addr>
    
    When a mdio_device instance is registered, a statistics/ folder is
    created with the tranfers, errors, writes and reads attributes which
    point to the appropriate MDIO bus statistics structure.
    
    Statistics are 64-bit unsigned quantities and maintained through the
    u64_stats_sync.h helper functions.
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Tested-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    080bb352
mdio_bus.c 25.4 KB