From patchwork Fri Sep 6 21:52:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rahul Lakkireddy X-Patchwork-Id: 58902 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 794521F48F; Fri, 6 Sep 2019 23:59:39 +0200 (CEST) Received: from stargate.chelsio.com (stargate.chelsio.com [12.32.117.8]) by dpdk.org (Postfix) with ESMTP id 24E3D1F48B; Fri, 6 Sep 2019 23:59:37 +0200 (CEST) Received: from localhost (scalar.blr.asicdesigners.com [10.193.185.94]) by stargate.chelsio.com (8.13.8/8.13.8) with ESMTP id x86LxXTO004190; Fri, 6 Sep 2019 14:59:34 -0700 From: Rahul Lakkireddy To: dev@dpdk.org Cc: nirranjan@chelsio.com, stable@dpdk.org Date: Sat, 7 Sep 2019 03:22:22 +0530 Message-Id: X-Mailer: git-send-email 2.5.3 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH 01/12] net/cxgbe: add cxgbe_ prefix to global functions 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" To avoid name collisions, add cxgbe_ prefix to some global functions. Also, make some local functions static in cxgbe_filter.c. Cc: stable@dpdk.org Fixes: ee61f5113b17 ("net/cxgbe: parse and validate flows") Fixes: 9eb2c9a48072 ("net/cxgbe: implement flow create operation") Fixes: 3a381a4116ed ("net/cxgbe: query firmware for HASH filter resources") Fixes: af44a577988b ("net/cxgbe: support to offload flows to HASH region") Fixes: 41dc98b0827a ("net/cxgbe: support to delete flows in HASH region") Fixes: 23af667f1507 ("net/cxgbe: add API to program hardware layer 2 table") Signed-off-by: Rahul Lakkireddy --- drivers/net/cxgbe/cxgbe_filter.c | 30 ++++++++++++++++-------------- drivers/net/cxgbe/cxgbe_filter.h | 19 +++++++++---------- drivers/net/cxgbe/cxgbe_flow.c | 6 +++--- drivers/net/cxgbe/cxgbe_main.c | 10 +++++----- drivers/net/cxgbe/l2t.c | 3 ++- drivers/net/cxgbe/l2t.h | 3 ++- 6 files changed, 37 insertions(+), 34 deletions(-) diff --git a/drivers/net/cxgbe/cxgbe_filter.c b/drivers/net/cxgbe/cxgbe_filter.c index 7fcee5c0a..cc8774c1d 100644 --- a/drivers/net/cxgbe/cxgbe_filter.c +++ b/drivers/net/cxgbe/cxgbe_filter.c @@ -14,7 +14,7 @@ /** * Initialize Hash Filters */ -int init_hash_filter(struct adapter *adap) +int cxgbe_init_hash_filter(struct adapter *adap) { unsigned int n_user_filters; unsigned int user_filter_perc; @@ -53,7 +53,8 @@ int init_hash_filter(struct adapter *adap) * Validate if the requested filter specification can be set by checking * if the requested features have been enabled */ -int validate_filter(struct adapter *adapter, struct ch_filter_specification *fs) +int cxgbe_validate_filter(struct adapter *adapter, + struct ch_filter_specification *fs) { u32 fconf; @@ -133,7 +134,7 @@ static unsigned int get_filter_steerq(struct rte_eth_dev *dev, } /* Return an error number if the indicated filter isn't writable ... */ -int writable_filter(struct filter_entry *f) +static int writable_filter(struct filter_entry *f) { if (f->locked) return -EPERM; @@ -214,7 +215,7 @@ static inline void mk_set_tcb_field_ulp(struct filter_entry *f, /** * Check if entry already filled. */ -bool is_filter_set(struct tid_info *t, int fidx, int family) +bool cxgbe_is_filter_set(struct tid_info *t, int fidx, int family) { bool result = FALSE; int i, max; @@ -527,7 +528,7 @@ static int cxgbe_set_hash_filter(struct rte_eth_dev *dev, int atid, size; int ret = 0; - ret = validate_filter(adapter, fs); + ret = cxgbe_validate_filter(adapter, fs); if (ret) return ret; @@ -618,7 +619,7 @@ static int cxgbe_set_hash_filter(struct rte_eth_dev *dev, * Clear a filter and release any of its resources that we own. This also * clears the filter's "pending" status. */ -void clear_filter(struct filter_entry *f) +static void clear_filter(struct filter_entry *f) { if (f->clipt) cxgbe_clip_release(f->dev, f->clipt); @@ -690,7 +691,7 @@ static int del_filter_wr(struct rte_eth_dev *dev, unsigned int fidx) return 0; } -int set_filter_wr(struct rte_eth_dev *dev, unsigned int fidx) +static int set_filter_wr(struct rte_eth_dev *dev, unsigned int fidx) { struct adapter *adapter = ethdev2adap(dev); struct filter_entry *f = &adapter->tids.ftid_tab[fidx]; @@ -868,7 +869,7 @@ int cxgbe_del_filter(struct rte_eth_dev *dev, unsigned int filter_id, chip_ver = CHELSIO_CHIP_VERSION(adapter->params.chip); - ret = is_filter_set(&adapter->tids, filter_id, fs->type); + ret = cxgbe_is_filter_set(&adapter->tids, filter_id, fs->type); if (!ret) { dev_warn(adap, "%s: could not find filter entry: %u\n", __func__, filter_id); @@ -940,7 +941,7 @@ int cxgbe_set_filter(struct rte_eth_dev *dev, unsigned int filter_id, chip_ver = CHELSIO_CHIP_VERSION(adapter->params.chip); - ret = validate_filter(adapter, fs); + ret = cxgbe_validate_filter(adapter, fs); if (ret) return ret; @@ -951,7 +952,7 @@ int cxgbe_set_filter(struct rte_eth_dev *dev, unsigned int filter_id, if (fs->type) filter_id &= ~(0x3); - ret = is_filter_set(&adapter->tids, filter_id, fs->type); + ret = cxgbe_is_filter_set(&adapter->tids, filter_id, fs->type); if (ret) return -EBUSY; @@ -1091,7 +1092,8 @@ int cxgbe_set_filter(struct rte_eth_dev *dev, unsigned int filter_id, /** * Handle a Hash filter write reply. */ -void hash_filter_rpl(struct adapter *adap, const struct cpl_act_open_rpl *rpl) +void cxgbe_hash_filter_rpl(struct adapter *adap, + const struct cpl_act_open_rpl *rpl) { struct tid_info *t = &adap->tids; struct filter_entry *f; @@ -1159,7 +1161,7 @@ void hash_filter_rpl(struct adapter *adap, const struct cpl_act_open_rpl *rpl) /** * Handle a LE-TCAM filter write/deletion reply. */ -void filter_rpl(struct adapter *adap, const struct cpl_set_tcb_rpl *rpl) +void cxgbe_filter_rpl(struct adapter *adap, const struct cpl_set_tcb_rpl *rpl) { struct filter_entry *f = NULL; unsigned int tid = GET_TID(rpl); @@ -1357,8 +1359,8 @@ int cxgbe_clear_filter_count(struct adapter *adapter, unsigned int fidx, /** * Handle a Hash filter delete reply. */ -void hash_del_filter_rpl(struct adapter *adap, - const struct cpl_abort_rpl_rss *rpl) +void cxgbe_hash_del_filter_rpl(struct adapter *adap, + const struct cpl_abort_rpl_rss *rpl) { struct tid_info *t = &adap->tids; struct filter_entry *f; diff --git a/drivers/net/cxgbe/cxgbe_filter.h b/drivers/net/cxgbe/cxgbe_filter.h index 0c67d2d15..1964730ba 100644 --- a/drivers/net/cxgbe/cxgbe_filter.h +++ b/drivers/net/cxgbe/cxgbe_filter.h @@ -248,11 +248,8 @@ cxgbe_bitmap_find_free_region(struct rte_bitmap *bmap, unsigned int size, return idx; } -bool is_filter_set(struct tid_info *, int fidx, int family); -void filter_rpl(struct adapter *adap, const struct cpl_set_tcb_rpl *rpl); -void clear_filter(struct filter_entry *f); -int set_filter_wr(struct rte_eth_dev *dev, unsigned int fidx); -int writable_filter(struct filter_entry *f); +bool cxgbe_is_filter_set(struct tid_info *, int fidx, int family); +void cxgbe_filter_rpl(struct adapter *adap, const struct cpl_set_tcb_rpl *rpl); int cxgbe_set_filter(struct rte_eth_dev *dev, unsigned int filter_id, struct ch_filter_specification *fs, struct filter_ctx *ctx); @@ -260,11 +257,13 @@ int cxgbe_del_filter(struct rte_eth_dev *dev, unsigned int filter_id, struct ch_filter_specification *fs, struct filter_ctx *ctx); int cxgbe_alloc_ftid(struct adapter *adap, unsigned int family); -int init_hash_filter(struct adapter *adap); -void hash_filter_rpl(struct adapter *adap, const struct cpl_act_open_rpl *rpl); -void hash_del_filter_rpl(struct adapter *adap, - const struct cpl_abort_rpl_rss *rpl); -int validate_filter(struct adapter *adap, struct ch_filter_specification *fs); +int cxgbe_init_hash_filter(struct adapter *adap); +void cxgbe_hash_filter_rpl(struct adapter *adap, + const struct cpl_act_open_rpl *rpl); +void cxgbe_hash_del_filter_rpl(struct adapter *adap, + const struct cpl_abort_rpl_rss *rpl); +int cxgbe_validate_filter(struct adapter *adap, + struct ch_filter_specification *fs); int cxgbe_get_filter_count(struct adapter *adapter, unsigned int fidx, u64 *c, int hash, bool get_byte); int cxgbe_clear_filter_count(struct adapter *adapter, unsigned int fidx, diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c index d3de689c3..848c61f02 100644 --- a/drivers/net/cxgbe/cxgbe_flow.c +++ b/drivers/net/cxgbe/cxgbe_flow.c @@ -309,7 +309,7 @@ static int cxgbe_validate_fidxondel(struct filter_entry *f, unsigned int fidx) dev_err(adap, "invalid flow index %d.\n", fidx); return -EINVAL; } - if (!is_filter_set(&adap->tids, fidx, fs.type)) { + if (!cxgbe_is_filter_set(&adap->tids, fidx, fs.type)) { dev_err(adap, "Already free fidx:%d f:%p\n", fidx, f); return -EINVAL; } @@ -321,7 +321,7 @@ static int cxgbe_validate_fidxonadd(struct ch_filter_specification *fs, struct adapter *adap, unsigned int fidx) { - if (is_filter_set(&adap->tids, fidx, fs->type)) { + if (cxgbe_is_filter_set(&adap->tids, fidx, fs->type)) { dev_err(adap, "filter index: %d is busy.\n", fidx); return -EBUSY; } @@ -1019,7 +1019,7 @@ cxgbe_flow_validate(struct rte_eth_dev *dev, return ret; } - if (validate_filter(adap, &flow->fs)) { + if (cxgbe_validate_filter(adap, &flow->fs)) { t4_os_free(flow); return rte_flow_error_set(e, EINVAL, RTE_FLOW_ERROR_TYPE_HANDLE, NULL, diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c index 620f60b4d..c3e6b9557 100644 --- a/drivers/net/cxgbe/cxgbe_main.c +++ b/drivers/net/cxgbe/cxgbe_main.c @@ -92,19 +92,19 @@ static int fwevtq_handler(struct sge_rspq *q, const __be64 *rsp, } else if (opcode == CPL_ABORT_RPL_RSS) { const struct cpl_abort_rpl_rss *p = (const void *)rsp; - hash_del_filter_rpl(q->adapter, p); + cxgbe_hash_del_filter_rpl(q->adapter, p); } else if (opcode == CPL_SET_TCB_RPL) { const struct cpl_set_tcb_rpl *p = (const void *)rsp; - filter_rpl(q->adapter, p); + cxgbe_filter_rpl(q->adapter, p); } else if (opcode == CPL_ACT_OPEN_RPL) { const struct cpl_act_open_rpl *p = (const void *)rsp; - hash_filter_rpl(q->adapter, p); + cxgbe_hash_filter_rpl(q->adapter, p); } else if (opcode == CPL_L2T_WRITE_RPL) { const struct cpl_l2t_write_rpl *p = (const void *)rsp; - do_l2t_write_rpl(q->adapter, p); + cxgbe_do_l2t_write_rpl(q->adapter, p); } else { dev_err(adapter, "unexpected CPL %#x on FW event queue\n", opcode); @@ -1179,7 +1179,7 @@ static int adap_init0(struct adapter *adap) if ((caps_cmd.niccaps & cpu_to_be16(FW_CAPS_CONFIG_NIC_HASHFILTER)) && is_t6(adap->params.chip)) { - if (init_hash_filter(adap) < 0) + if (cxgbe_init_hash_filter(adap) < 0) goto bye; } diff --git a/drivers/net/cxgbe/l2t.c b/drivers/net/cxgbe/l2t.c index 6faf624f7..f9d651fe0 100644 --- a/drivers/net/cxgbe/l2t.c +++ b/drivers/net/cxgbe/l2t.c @@ -22,7 +22,8 @@ void cxgbe_l2t_release(struct l2t_entry *e) * Process a CPL_L2T_WRITE_RPL. Note that the TID in the reply is really * the L2T index it refers to. */ -void do_l2t_write_rpl(struct adapter *adap, const struct cpl_l2t_write_rpl *rpl) +void cxgbe_do_l2t_write_rpl(struct adapter *adap, + const struct cpl_l2t_write_rpl *rpl) { struct l2t_data *d = adap->l2t; unsigned int tid = GET_TID(rpl); diff --git a/drivers/net/cxgbe/l2t.h b/drivers/net/cxgbe/l2t.h index 326abfde4..2c489e4aa 100644 --- a/drivers/net/cxgbe/l2t.h +++ b/drivers/net/cxgbe/l2t.h @@ -53,5 +53,6 @@ void t4_cleanup_l2t(struct adapter *adap); struct l2t_entry *cxgbe_l2t_alloc_switching(struct rte_eth_dev *dev, u16 vlan, u8 port, u8 *dmac); void cxgbe_l2t_release(struct l2t_entry *e); -void do_l2t_write_rpl(struct adapter *p, const struct cpl_l2t_write_rpl *rpl); +void cxgbe_do_l2t_write_rpl(struct adapter *p, + const struct cpl_l2t_write_rpl *rpl); #endif /* _CXGBE_L2T_H_ */