> -----Original Message----- > From: pbhagavat...@marvell.com <pbhagavat...@marvell.com> > Sent: Sunday, June 2, 2019 12:23 AM > To: Jerin Jacob Kollanukkaran <jer...@marvell.com>; Pavan Nikhilesh > Bhagavatula <pbhagavat...@marvell.com> > Cc: dev@dpdk.org > Subject: [dpdk-dev] [PATCH 06/44] event/octeontx2: allocate event inflight > buffers > > From: Pavan Nikhilesh <pbhagavat...@marvell.com> > > Allocate buffers in DRAM that hold inflight events. > > Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com> > --- > > +static int > +sso_xaq_allocate(struct otx2_sso_evdev *dev) { > + const struct rte_memzone *mz; > + struct npa_aura_s *aura; > + static int reconfig_cnt; > + char pool_name[30];
Use RTE_MEMZONE_NAMESIZE > + if (mz == NULL) { > + otx2_err("failed to allocate mem for fcmem"); > + return -ENOMEM; > + } > + > + dev->fc_iova = mz->iova; > + dev->fc_mem = mz->addr; > + > + aura = (struct npa_aura_s *)((uintptr_t)dev->fc_mem + OTX2_ALIGN); > + memset(aura, 0, sizeof(struct npa_aura_s)); > + > + aura->fc_ena = 1; > + aura->fc_addr = dev->fc_iova; > + aura->fc_hyst_bits = 0; /* Store count on all updates */ > + > + /* Taken from HRM 14.3.3(4) */ > + xaq_cnt = dev->nb_event_queues * OTX2_SSO_XAQ_CACHE_CNT; > + xaq_cnt += (dev->iue / dev->xae_waes) + > + (OTX2_SSO_XAQ_SLACK * dev->nb_event_queues); > + > + otx2_sso_dbg("configuring %d xaq buffers", xaq_cnt); > + /* Setup XAQ based on number of nb queues. */ > + snprintf(pool_name, 30, "otx2_xaq_buf_pool_%d", reconfig_cnt); > + dev->xaq_pool = (void *)rte_mempool_create_empty(pool_name, > + xaq_cnt, dev->xaq_buf_size, 0, 0, > + rte_socket_id(), 0); > + > + if (dev->xaq_pool == NULL) { > + otx2_err("unable to create empty mempool."); > + rte_memzone_free(mz); > + return -ENOMEM; > + } > + > + rc = rte_mempool_set_ops_byname(dev->xaq_pool, > + rte_mbuf_platform_mempool_ops(), > aura); > + if (rc != 0) { > + otx2_err("unable to set xaqpool ops."); > + goto alloc_fail; > + } > + > + rc = rte_mempool_populate_default(dev->xaq_pool); > + if (rc < 0) { > + otx2_err("unable to set populate xaqpool."); > + goto alloc_fail; > + } > + reconfig_cnt++; > + dev->xaq_lmt = xaq_cnt - (OTX2_SSO_XAQ_SLACK / 2 * > + dev->nb_event_queues); Add comment on why divide by 2.