• Subbaraya Sundeep's avatar
    octeontx2-pf: cn10k: Add mbox support for CN10K · facede82
    Subbaraya Sundeep authored
    Firmware allocates memory regions for PFs and VFs in DRAM.
    The PFs memory region is used for AF-PF and PF-VF mailbox.
    This mbox facilitate communication between AF-PF and PF-VF.
    
    On CN10K platform:
    The DRAM region allocated to PF is enumerated as PF BAR4 memory.
    PF BAR4 contains AF-PF mbox region followed by its VFs mbox region.
    AF-PF mbox region base address is configured at RVU_AF_PFX_BAR4_ADDR
    PF-VF mailbox base address is configured at
    RVU_PF(x)_VF_MBOX_ADDR = RVU_AF_PF()_BAR4_ADDR+64KB. PF access its
    mbox region via BAR4, whereas VF accesses PF-VF DRAM mailboxes via
    BAR2 indirect access.
    
    On CN9XX platform:
    Mailbox region in DRAM is divided into two parts AF-PF mbox region and
    PF-VF mbox region i.e all PFs mbox region is contiguous similarly all
    VFs.
    The base address of the AF-PF mbox region is configured at
    RVU_AF_PF_BAR4_ADDR.
    AF-PF1 mbox address can be calculated as RVU_AF_PF_BAR4_ADDR * mbox
    size.
    The base address of PF-VF mbox region for each PF is configure at
    RVU_AF_PF(0..15)_VF_BAR4_ADDR.PF access its mbox region via BAR4 and its
    VF mbox regions from RVU_PF_VF_BAR4_ADDR register, whereas VF access its
    mbox region via BAR4.
    
    This patch changes mbox initialization to support both CN9XX and CN10K
    platform.
    The patch also adds new hw_cap flag to setting hw features like TSO etc
    and removes platform specific name from the PF/VF driver name to make it
    appropriate for all supported platforms
    
    This patch also removes platform specific name from the PF/VF driver name
    to make it appropriate for all supported platforms
    Signed-off-by: default avatarSubbaraya Sundeep <sbhatta@marvell.com>
    Signed-off-by: default avatarGeetha sowjanya <gakula@marvell.com>
    Signed-off-by: default avatarSunil Goutham <sgoutham@marvell.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    facede82
Makefile 377 Bytes