From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rasesh Mody Subject: [PATCH 1/5] bnx2x: SR-IOV VF driver changes to support OOB PF driver Date: Fri, 11 Sep 2015 17:42:52 -0700 Message-ID: <1442018576-19981-2-git-send-email-rasesh.mody@qlogic.com> References: <1442018576-19981-1-git-send-email-rasesh.mody@qlogic.com> Mime-Version: 1.0 Content-Type: text/plain Cc: sony.chacko@qlogic.com To: Return-path: Received: from mx0a-0016ce01.pphosted.com (mx0a-0016ce01.pphosted.com [67.231.148.157]) by dpdk.org (Postfix) with ESMTP id 8E84C8E62 for ; Sat, 12 Sep 2015 02:43:30 +0200 (CEST) Received: from pps.filterd (m0045602.ppops.net [127.0.0.1]) by mx0a-0016ce01.pphosted.com (8.15.0.59/8.15.0.59) with SMTP id t8C0hMYk017799 for ; Fri, 11 Sep 2015 17:43:29 -0700 Received: from avcashub1.qlogic.com (avcashub1.qlogic.com [198.70.193.115]) by mx0a-0016ce01.pphosted.com with ESMTP id 1wqyhvsqqy-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for ; Fri, 11 Sep 2015 17:43:29 -0700 In-Reply-To: <1442018576-19981-1-git-send-email-rasesh.mody@qlogic.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Harish Patil Signed-off-by: Harish Patil --- drivers/net/bnx2x/bnx2x_vfpf.c | 11 +++++++++-- drivers/net/bnx2x/bnx2x_vfpf.h | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x_vfpf.c b/drivers/net/bnx2x/bnx2x_vfpf.c index 661f0a5..39fd59a 100644 --- a/drivers/net/bnx2x/bnx2x_vfpf.c +++ b/drivers/net/bnx2x/bnx2x_vfpf.c @@ -257,8 +257,15 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_ acq->bulletin_addr = sc->pf2vf_bulletin_mapping.paddr; - BNX2X_TLV_APPEND(acq, acq->first_tlv.length, BNX2X_VF_TLV_LIST_END, - sizeof(struct channel_list_end_tlv)); + /* Request physical port identifier */ + BNX2X_TLV_APPEND(acq, acq->first_tlv.length, + BNX2X_VF_TLV_PHYS_PORT_ID, + sizeof(struct channel_tlv)); + + BNX2X_TLV_APPEND(acq, + (acq->first_tlv.length + sizeof(struct channel_tlv)), + BNX2X_VF_TLV_LIST_END, + sizeof(struct channel_list_end_tlv)); /* requesting the resources in loop */ obtain_status = bnx2x_loop_obtain_resources(sc); diff --git a/drivers/net/bnx2x/bnx2x_vfpf.h b/drivers/net/bnx2x/bnx2x_vfpf.h index 94ce9f0..4f25321 100644 --- a/drivers/net/bnx2x/bnx2x_vfpf.h +++ b/drivers/net/bnx2x/bnx2x_vfpf.h @@ -34,12 +34,24 @@ struct vf_resource_query { #define BNX2X_VF_Q_FLAG_DHC 0x0200 #define BNX2X_VF_Q_FLAG_LEADING_RSS 0x0400 +#define TLV_BUFFER_SIZE 1024 + +/* general tlv header (used for both vf->pf request and pf->vf response) */ +struct channel_tlv { + uint16_t type; + uint16_t length; +}; + struct vf_first_tlv { uint16_t type; uint16_t length; uint32_t reply_offset; }; +struct tlv_buffer_size { + uint8_t tlv_buffer[TLV_BUFFER_SIZE]; +}; + /* tlv struct for all PF replies except acquire */ struct vf_common_reply_tlv { uint16_t type; @@ -244,12 +256,14 @@ union query_tlvs { struct vf_release_tlv release; struct vf_rss_tlv update_rss; struct channel_list_end_tlv list_end; + struct tlv_buffer_size tlv_buf_size; }; union resp_tlvs { struct vf_common_reply_tlv common_reply; struct vf_acquire_resp_tlv acquire_resp; struct channel_list_end_tlv list_end; + struct tlv_buffer_size tlv_buf_size; }; /* struct allocated by VF driver, PF sends updates to VF via bulletin */ @@ -300,6 +314,7 @@ enum channel_tlvs { BNX2X_VF_TLV_PF_SET_MAC, BNX2X_VF_TLV_PF_SET_VLAN, BNX2X_VF_TLV_UPDATE_RSS, + BNX2X_VF_TLV_PHYS_PORT_ID, BNX2X_VF_TLV_MAX }; -- 1.7.10.3