• Volodymyr Mytnyk's avatar
    net: marvell: prestera: add firmware v4.0 support · bb5dbf2c
    Volodymyr Mytnyk authored
    Add firmware (FW) version 4.0 support for Marvell Prestera
    driver.
    
    Major changes have been made to new v4.0 FW ABI to add support
    of new features, introduce the stability of the FW ABI and ensure
    better forward compatibility for the future driver vesrions.
    
    Current v4.0 FW feature set support does not expect any changes
    to ABI, as it was defined and tested through long period of time.
    The ABI may be extended in case of new features, but it will not
    break the backward compatibility.
    
    ABI major changes done in v4.0:
    - L1 ABI, where MAC and PHY API configuration are split.
    - ACL has been split to low-level TCAM and Counters ABI
      to provide more HW ACL capabilities for future driver
      versions.
    
    To support backward support, the addition compatibility layer is
    required in the driver which will have two different codebase under
    "if FW-VER elif FW-VER else" conditions that will be removed
    in the future anyway, So, the idea was to break backward support
    and focus on more stable FW instead of supporting old version
    with very minimal and limited set of features/capabilities.
    
    Improve FW msg validation:
     * Use __le64, __le32, __le16 types in msg to/from FW to
       catch endian mismatch by sparse.
     * Use BUILD_BUG_ON for structures sent/recv to/from FW.
    Co-developed-by: default avatarVadym Kochan <vkochan@marvell.com>
    Signed-off-by: default avatarVadym Kochan <vkochan@marvell.com>
    Signed-off-by: default avatarYevhen Orlov <yevhen.orlov@plvision.eu>
    Signed-off-by: default avatarTaras Chornyi <tchornyi@marvell.com>
    Signed-off-by: default avatarVolodymyr Mytnyk <vmytnyk@marvell.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bb5dbf2c
prestera.h 6.18 KB