octeon_ep: PF-VF mailbox version support
Add PF-VF mailbox initial version support Signed-off-by: Shinas Rasheed <srasheed@marvell.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
cde29af9e6
commit
c130e589d5
@ -220,6 +220,7 @@ struct octep_iface_link_info {
|
||||
/* The Octeon VF device specific info data structure.*/
|
||||
struct octep_pfvf_info {
|
||||
u8 mac_addr[ETH_ALEN];
|
||||
u32 mbox_version;
|
||||
};
|
||||
|
||||
/* The Octeon device specific private data structure.
|
||||
|
@ -27,10 +27,18 @@ static void octep_pfvf_validate_version(struct octep_device *oct, u32 vf_id,
|
||||
{
|
||||
u32 vf_version = (u32)cmd.s_version.version;
|
||||
|
||||
if (vf_version <= OCTEP_PFVF_MBOX_VERSION_V1)
|
||||
rsp->s_version.type = OCTEP_PFVF_MBOX_TYPE_RSP_ACK;
|
||||
dev_dbg(&oct->pdev->dev, "VF id:%d VF version:%d PF version:%d\n",
|
||||
vf_id, vf_version, OCTEP_PFVF_MBOX_VERSION_CURRENT);
|
||||
if (vf_version < OCTEP_PFVF_MBOX_VERSION_CURRENT)
|
||||
rsp->s_version.version = vf_version;
|
||||
else
|
||||
rsp->s_version.type = OCTEP_PFVF_MBOX_TYPE_RSP_NACK;
|
||||
rsp->s_version.version = OCTEP_PFVF_MBOX_VERSION_CURRENT;
|
||||
|
||||
oct->vf_info[vf_id].mbox_version = rsp->s_version.version;
|
||||
dev_dbg(&oct->pdev->dev, "VF id:%d negotiated VF version:%d\n",
|
||||
vf_id, oct->vf_info[vf_id].mbox_version);
|
||||
|
||||
rsp->s_version.type = OCTEP_PFVF_MBOX_TYPE_RSP_ACK;
|
||||
}
|
||||
|
||||
static void octep_pfvf_get_link_status(struct octep_device *oct, u32 vf_id,
|
||||
@ -166,6 +174,7 @@ int octep_setup_pfvf_mbox(struct octep_device *oct)
|
||||
goto free_mbox;
|
||||
|
||||
memset(oct->mbox[ring], 0, sizeof(struct octep_mbox));
|
||||
memset(&oct->vf_info[i], 0, sizeof(struct octep_pfvf_info));
|
||||
mutex_init(&oct->mbox[ring]->lock);
|
||||
INIT_WORK(&oct->mbox[ring]->wk.work, octep_pfvf_mbox_work);
|
||||
oct->mbox[ring]->wk.ctxptr = oct->mbox[ring];
|
||||
|
@ -13,11 +13,15 @@
|
||||
#define OCTEON_SDP_16K_HW_FRS 16380UL
|
||||
#define OCTEON_SDP_64K_HW_FRS 65531UL
|
||||
|
||||
/* When a new command is implemented,PF Mbox version should be bumped.
|
||||
*/
|
||||
enum octep_pfvf_mbox_version {
|
||||
OCTEP_PFVF_MBOX_VERSION_V0,
|
||||
OCTEP_PFVF_MBOX_VERSION_V1,
|
||||
};
|
||||
|
||||
#define OCTEP_PFVF_MBOX_VERSION_CURRENT OCTEP_PFVF_MBOX_VERSION_V1
|
||||
|
||||
enum octep_pfvf_mbox_opcode {
|
||||
OCTEP_PFVF_MBOX_CMD_VERSION,
|
||||
OCTEP_PFVF_MBOX_CMD_SET_MTU,
|
||||
|
Loading…
x
Reference in New Issue
Block a user