• Hariprasad Kelam's avatar
    octeontx2-af: cn10kb: Add RPM_USX MAC support · b9d0fedc
    Hariprasad Kelam authored
    OcteonTx2's next gen platform the CN10KB has RPM_USX MAC which has a
    different serdes when compared to RPM MAC. Though the underlying
    HW is different, the CSR interface has been designed largely inline
    with RPM MAC, with few exceptions though. So we are using the same
    CGX driver for RPM_USX MAC as well and will have a different set of APIs
    for RPM_USX where ever necessary.
    
    The RPM and RPM_USX blocks support a different number of LMACS.
    RPM_USX support 8 LMACS per MAC block whereas legacy RPM supports only 4
    LMACS per MAC. with this RPM_USX support double the number of DMAC filters
    and fifo size.
    
    This patch adds initial support for CN10KB's RPM_USX  MAC i.e registering
    the driver and defining MAC operations (mac_ops). Adds the logic to
    configure internal loopback and pause frames and assign FIFO length to
    LMACS.
    
    Kernel reads lmac features like lmac type, autoneg, etc from shared
    firmware data this structure only supports 4 lmacs per MAC, this patch
    extends this structure to accommodate 8 lmacs.
    Signed-off-by: default avatarHariprasad Kelam <hkelam@marvell.com>
    Signed-off-by: default avatarSunil Kovvuri Goutham <sgoutham@marvell.com>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    b9d0fedc
rpm.c 16.7 KB