• Vadim Pasternak's avatar
    mlxsw: core: Add ethtool support for QSFP-DD transceivers · 6af496ad
    Vadim Pasternak authored
    The Quad Small Form Factor Pluggable Double Density (QSFP-DD) hardware
    specification defines a form factor that supports up to 400 Gbps in
    aggregate over an 8x50-Gbps electrical interface. The QSFP-DD supports
    both optical and copper interfaces.
    
    Implementation is based on Common Management Interface Specification;
    Rev 4.0 May 8, 2019. Table 8-2 "Identifier and Status Summary (Lower
    Page)" from this spec defines "Id and Status" fields located at offsets
    00h - 02h. Bit 2 at offset 02h ("Flat_mem") specifies QSFP EEPROM memory
    mode, which could be "upper memory flat" or "paged". Flat memory mode is
    coded "1", and indicates that only page 00h is implemented in EEPROM.
    Paged memory is coded "0" and indicates that pages 00h, 01h, 02h, 10h
    and 11h are implemented. Pages 10h and 11h are currently not supported
    by the driver.
    
    "Flat" memory mode is used for the passive copper transceivers. For this
    type only page 00h (256 bytes) is available. "Paged" memory is used for
    the optical transceivers. For this type pages 00h (256 bytes), 01h (128
    bytes) and 02h (128 bytes) are available. Upper page 01h contains static
    advertising field, while upper page 02h contains the module-defined
    thresholds and lane-specific monitors.
    
    Extend enumerator 'mlxsw_reg_mcia_eeprom_module_info_id' with additional
    field 'MLXSW_REG_MCIA_EEPROM_MODULE_INFO_TYPE_ID'. This field is used to
    indicate for QSFP-DD transceiver type which memory mode is to be used.
    
    Expose 256 bytes buffer for QSFP-DD passive copper transceiver and
    512 bytes buffer for optical.
    Signed-off-by: default avatarVadim Pasternak <vadimp@mellanox.com>
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6af496ad
core_env.c 8.04 KB