git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
event/octeontx2: fix device reconfigure for single slot
[dpdk.git]
/
drivers
/
mempool
/
octeontx2
/
otx2_mempool.h
diff --git
a/drivers/mempool/octeontx2/otx2_mempool.h
b/drivers/mempool/octeontx2/otx2_mempool.h
index
41542cf
..
8aa5482
100644
(file)
--- a/
drivers/mempool/octeontx2/otx2_mempool.h
+++ b/
drivers/mempool/octeontx2/otx2_mempool.h
@@
-29,6
+29,11
@@
struct otx2_npa_qint {
uint8_t qintx;
};
uint8_t qintx;
};
+struct npa_aura_lim {
+ uint64_t ptr_start;
+ uint64_t ptr_end;
+};
+
struct otx2_npa_lf {
uint16_t qints;
uintptr_t base;
struct otx2_npa_lf {
uint16_t qints;
uintptr_t base;
@@
-42,6
+47,7
@@
struct otx2_npa_lf {
uint32_t stack_pg_ptrs;
uint32_t stack_pg_bytes;
struct rte_bitmap *npa_bmp;
uint32_t stack_pg_ptrs;
uint32_t stack_pg_bytes;
struct rte_bitmap *npa_bmp;
+ struct npa_aura_lim *aura_lim;
struct rte_pci_device *pci_dev;
struct rte_intr_handle *intr_handle;
};
struct rte_pci_device *pci_dev;
struct rte_intr_handle *intr_handle;
};
@@
-185,21
+191,31
@@
npa_lf_aura_op_range_set(uint64_t aura_handle, uint64_t start_iova,
uint64_t end_iova)
{
uint64_t reg = npa_lf_aura_handle_to_aura(aura_handle);
uint64_t end_iova)
{
uint64_t reg = npa_lf_aura_handle_to_aura(aura_handle);
+ struct otx2_npa_lf *lf = otx2_npa_lf_obj_get();
+ struct npa_aura_lim *lim = lf->aura_lim;
- otx2_store_pair(start_iova, reg,
+ lim[reg].ptr_start = RTE_MIN(lim[reg].ptr_start, start_iova);
+ lim[reg].ptr_end = RTE_MAX(lim[reg].ptr_end, end_iova);
+
+ otx2_store_pair(lim[reg].ptr_start, reg,
npa_lf_aura_handle_to_base(aura_handle) +
NPA_LF_POOL_OP_PTR_START0);
npa_lf_aura_handle_to_base(aura_handle) +
NPA_LF_POOL_OP_PTR_START0);
- otx2_store_pair(
end_iova
, reg,
+ otx2_store_pair(
lim[reg].ptr_end
, reg,
npa_lf_aura_handle_to_base(aura_handle) +
NPA_LF_POOL_OP_PTR_END0);
}
/* NPA LF */
npa_lf_aura_handle_to_base(aura_handle) +
NPA_LF_POOL_OP_PTR_END0);
}
/* NPA LF */
+__rte_internal
int otx2_npa_lf_init(struct rte_pci_device *pci_dev, void *otx2_dev);
int otx2_npa_lf_init(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
int otx2_npa_lf_fini(void);
/* IRQ */
int otx2_npa_register_irqs(struct otx2_npa_lf *lf);
void otx2_npa_unregister_irqs(struct otx2_npa_lf *lf);
int otx2_npa_lf_fini(void);
/* IRQ */
int otx2_npa_register_irqs(struct otx2_npa_lf *lf);
void otx2_npa_unregister_irqs(struct otx2_npa_lf *lf);
+/* Debug */
+int otx2_mempool_ctx_dump(struct otx2_npa_lf *lf);
+
#endif /* __OTX2_MEMPOOL_H__ */
#endif /* __OTX2_MEMPOOL_H__ */