From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E1C6CA0588; Fri, 17 Apr 2020 06:54:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 911621DE42; Fri, 17 Apr 2020 06:54:56 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 448AA1DC7B for ; Fri, 17 Apr 2020 06:54:55 +0200 (CEST) IronPort-SDR: X7ahLiQo6WWuLy+EiFpzB+RX+XI43I/jBqmsc/lhFewLSrI1/ia/8YdrmPTkf23G5Amwkd0nIj ucT+u8+QG7HA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Apr 2020 21:54:54 -0700 IronPort-SDR: YFpgEsRZ7jRTsOpSyvwv/kuNwpv2kWlhy7a4/Gs7kcbr4ZBvnErRv6664dZ5YOgamaeZbWTN5X GEgiEaEDD07g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,393,1580803200"; d="scan'208";a="400910475" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.117.17]) by orsmga004.jf.intel.com with ESMTP; 16 Apr 2020 21:54:52 -0700 Date: Fri, 17 Apr 2020 12:50:44 +0800 From: Ye Xiaolong To: Haiyue Wang Cc: dev@dpdk.org, qi.z.zhang@intel.com, qiming.yang@intel.com Message-ID: <20200417045044.GD13374@intel.com> References: <20200416031122.59640-1-haiyue.wang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200416031122.59640-1-haiyue.wang@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v1] net/ice: check the DSN package file firstly X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 04/16, Haiyue Wang wrote: >Align the package file search sequence with PF only for DCF mode. Get >the DSN through the virtual channel firstly to check the package file >accessible. check the accessibility of the package file? > >Signed-off-by: Haiyue Wang >--- > drivers/net/ice/ice_dcf_parent.c | 30 ++++++++++++++++++++++++++---- > 1 file changed, 26 insertions(+), 4 deletions(-) > >diff --git a/drivers/net/ice/ice_dcf_parent.c b/drivers/net/ice/ice_dcf_parent.c >index e05b6b3e5..d4b4ededb 100644 >--- a/drivers/net/ice/ice_dcf_parent.c >+++ b/drivers/net/ice/ice_dcf_parent.c >@@ -226,12 +226,34 @@ ice_dcf_request_pkg_name(struct ice_hw *hw, char *pkg_name) > { > struct ice_dcf_adapter *dcf_adapter = > container_of(hw, struct ice_dcf_adapter, parent.hw); >+ struct virtchnl_pkg_info pkg_info; >+ struct dcf_virtchnl_cmd vc_cmd; >+ uint64_t dsn; > >- /* TODO: check with DSN firstly by iAVF */ >- PMD_INIT_LOG(DEBUG, >- "DCF VSI_ID = %u", >- dcf_adapter->real_hw.vsi_id); >+ vc_cmd.v_op = VIRTCHNL_OP_DCF_GET_PKG_INFO; >+ vc_cmd.req_msglen = 0; >+ vc_cmd.req_msg = NULL; >+ vc_cmd.rsp_buflen = sizeof(pkg_info); >+ vc_cmd.rsp_msgbuf = (uint8_t *)&pkg_info; > >+ if (ice_dcf_execute_virtchnl_cmd(&dcf_adapter->real_hw, &vc_cmd)) >+ goto pkg_file_direct; >+ >+ rte_memcpy(&dsn, pkg_info.dsn, sizeof(dsn)); Seems dsn var is redundant, what about using pkg_info.dsn directly? >+ >+ snprintf(pkg_name, ICE_MAX_PKG_FILENAME_SIZE, >+ ICE_PKG_FILE_SEARCH_PATH_UPDATES "ice-%016llX.pkg", >+ (unsigned long long)dsn); >+ if (!access(pkg_name, 0)) >+ return 0; >+ >+ snprintf(pkg_name, ICE_MAX_PKG_FILENAME_SIZE, >+ ICE_PKG_FILE_SEARCH_PATH_DEFAULT "ice-%016llX.pkg", >+ (unsigned long long)dsn); >+ if (!access(pkg_name, 0)) >+ return 0; >+ >+pkg_file_direct: > snprintf(pkg_name, > ICE_MAX_PKG_FILENAME_SIZE, "%s", ICE_PKG_FILE_UPDATES); > if (!access(pkg_name, 0)) >-- >2.26.1 >