* [dpdk-dev] [PATCH] net/octeontx_ep: Remove otx2 common dependency
@ 2021-10-26 15:39 Pradeep Nalla
2021-10-29 14:16 ` Jerin Jacob
0 siblings, 1 reply; 3+ messages in thread
From: Pradeep Nalla @ 2021-10-26 15:39 UTC (permalink / raw)
To: Nalla Pradeep, Radha Mohan Chintakuntla, Veerasenareddy Burru
Cc: jerinj, sburla, dev
octeontx_ep driver's dependency on octeontx2 common code is
removed as going forward ep driver will include files from
its own path.
Signed-off-by: Pradeep Nalla <pnalla@marvell.com>
---
drivers/net/octeontx_ep/meson.build | 2 -
drivers/net/octeontx_ep/otx2_ep_vf.c | 13 +--
drivers/net/octeontx_ep/otx2_ep_vf.h | 112 ++++++++++++++++++++++++
drivers/net/octeontx_ep/otx_ep_common.h | 3 +
drivers/net/octeontx_ep/otx_ep_ethdev.c | 1 -
5 files changed, 122 insertions(+), 9 deletions(-)
diff --git a/drivers/net/octeontx_ep/meson.build b/drivers/net/octeontx_ep/meson.build
index 89f88caff0..b15646b82a 100644
--- a/drivers/net/octeontx_ep/meson.build
+++ b/drivers/net/octeontx_ep/meson.build
@@ -2,7 +2,6 @@
# Copyright(C) 2021 Marvell.
#
-deps += ['common_octeontx2']
sources = files(
'otx_ep_ethdev.c',
'otx_ep_rxtx.c',
@@ -10,4 +9,3 @@ sources = files(
'otx2_ep_vf.c',
)
-includes += include_directories('../../common/octeontx2')
diff --git a/drivers/net/octeontx_ep/otx2_ep_vf.c b/drivers/net/octeontx_ep/otx2_ep_vf.c
index 64cd8731d3..0716beb9b1 100644
--- a/drivers/net/octeontx_ep/otx2_ep_vf.c
+++ b/drivers/net/octeontx_ep/otx2_ep_vf.c
@@ -2,7 +2,8 @@
* Copyright(C) 2021 Marvell.
*/
-#include "otx2_common.h"
+#include <rte_common.h>
+#include <rte_cycles.h>
#include "otx_ep_common.h"
#include "otx2_ep_vf.h"
@@ -215,7 +216,7 @@ otx2_vf_enable_iq(struct otx_ep_device *otx_ep, uint32_t q_no)
otx2_write64(reg_val, otx_ep->hw_addr + SDP_VF_R_IN_ENABLE(q_no));
- otx2_info("IQ[%d] enable done", q_no);
+ otx_ep_info("IQ[%d] enable done", q_no);
return 0;
}
@@ -229,7 +230,7 @@ otx2_vf_enable_oq(struct otx_ep_device *otx_ep, uint32_t q_no)
reg_val |= 0x1ull;
otx2_write64(reg_val, otx_ep->hw_addr + SDP_VF_R_OUT_ENABLE(q_no));
- otx2_info("OQ[%d] enable done", q_no);
+ otx_ep_info("OQ[%d] enable done", q_no);
return 0;
}
@@ -326,10 +327,10 @@ otx2_ep_vf_setup_device(struct otx_ep_device *otx_ep)
if (otx_ep->conf == NULL) {
otx_ep->conf = otx2_ep_get_defconf(otx_ep);
if (otx_ep->conf == NULL) {
- otx2_err("SDP VF default config not found");
+ otx_ep_err("SDP VF default config not found");
return -ENOENT;
}
- otx2_info("Default config is used");
+ otx_ep_info("Default config is used");
}
/* Get IOQs (RPVF] count */
@@ -338,7 +339,7 @@ otx2_ep_vf_setup_device(struct otx_ep_device *otx_ep)
otx_ep->sriov_info.rings_per_vf = ((reg_val >> SDP_VF_R_IN_CTL_RPVF_POS)
& SDP_VF_R_IN_CTL_RPVF_MASK);
- otx2_info("SDP RPVF: %d", otx_ep->sriov_info.rings_per_vf);
+ otx_ep_info("SDP RPVF: %d", otx_ep->sriov_info.rings_per_vf);
otx_ep->fn_list.setup_iq_regs = otx2_vf_setup_iq_regs;
otx_ep->fn_list.setup_oq_regs = otx2_vf_setup_oq_regs;
diff --git a/drivers/net/octeontx_ep/otx2_ep_vf.h b/drivers/net/octeontx_ep/otx2_ep_vf.h
index 5e5aefbc1c..9326925025 100644
--- a/drivers/net/octeontx_ep/otx2_ep_vf.h
+++ b/drivers/net/octeontx_ep/otx2_ep_vf.h
@@ -4,6 +4,118 @@
#ifndef _OTX2_EP_VF_H_
#define _OTX2_EP_VF_H_
+#include <rte_io.h>
+
+#define SDP_VF_R_IN_CTL_IDLE (0x1ull << 28)
+#define SDP_VF_R_IN_CTL_RDSIZE (0x3ull << 25) /* Setting to max(4) */
+#define SDP_VF_R_IN_CTL_IS_64B (0x1ull << 24)
+#define SDP_VF_R_IN_CTL_ESR (0x1ull << 1)
+
+#define SDP_VF_BUSY_LOOP_COUNT (10000)
+
+/* SDP VF OQ Masks */
+#define SDP_VF_R_OUT_CTL_IDLE (1ull << 40)
+#define SDP_VF_R_OUT_CTL_ES_I (1ull << 34)
+#define SDP_VF_R_OUT_CTL_NSR_I (1ull << 33)
+#define SDP_VF_R_OUT_CTL_ROR_I (1ull << 32)
+#define SDP_VF_R_OUT_CTL_ES_D (1ull << 30)
+#define SDP_VF_R_OUT_CTL_NSR_D (1ull << 29)
+#define SDP_VF_R_OUT_CTL_ROR_D (1ull << 28)
+#define SDP_VF_R_OUT_CTL_ES_P (1ull << 26)
+#define SDP_VF_R_OUT_CTL_NSR_P (1ull << 25)
+#define SDP_VF_R_OUT_CTL_ROR_P (1ull << 24)
+#define SDP_VF_R_OUT_CTL_IMODE (1ull << 23)
+
+/* SDP VF Register definitions */
+#define SDP_VF_RING_OFFSET (0x1ull << 17)
+
+/* SDP VF IQ Registers */
+#define SDP_VF_R_IN_CONTROL_START (0x10000)
+#define SDP_VF_R_IN_ENABLE_START (0x10010)
+#define SDP_VF_R_IN_INSTR_BADDR_START (0x10020)
+#define SDP_VF_R_IN_INSTR_RSIZE_START (0x10030)
+#define SDP_VF_R_IN_INSTR_DBELL_START (0x10040)
+#define SDP_VF_R_IN_CNTS_START (0x10050)
+#define SDP_VF_R_IN_INT_LEVELS_START (0x10060)
+#define SDP_VF_R_IN_PKT_CNT_START (0x10080)
+#define SDP_VF_R_IN_BYTE_CNT_START (0x10090)
+
+#define SDP_VF_R_IN_CONTROL(ring) \
+ (SDP_VF_R_IN_CONTROL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_ENABLE(ring) \
+ (SDP_VF_R_IN_ENABLE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INSTR_BADDR(ring) \
+ (SDP_VF_R_IN_INSTR_BADDR_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INSTR_RSIZE(ring) \
+ (SDP_VF_R_IN_INSTR_RSIZE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INSTR_DBELL(ring) \
+ (SDP_VF_R_IN_INSTR_DBELL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_CNTS(ring) \
+ (SDP_VF_R_IN_CNTS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INT_LEVELS(ring) \
+ (SDP_VF_R_IN_INT_LEVELS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_PKT_CNT(ring) \
+ (SDP_VF_R_IN_PKT_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_BYTE_CNT(ring) \
+ (SDP_VF_R_IN_BYTE_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+/* SDP VF OQ Registers */
+#define SDP_VF_R_OUT_CNTS_START (0x10100)
+#define SDP_VF_R_OUT_INT_LEVELS_START (0x10110)
+#define SDP_VF_R_OUT_SLIST_BADDR_START (0x10120)
+#define SDP_VF_R_OUT_SLIST_RSIZE_START (0x10130)
+#define SDP_VF_R_OUT_SLIST_DBELL_START (0x10140)
+#define SDP_VF_R_OUT_CONTROL_START (0x10150)
+#define SDP_VF_R_OUT_ENABLE_START (0x10160)
+#define SDP_VF_R_OUT_PKT_CNT_START (0x10180)
+#define SDP_VF_R_OUT_BYTE_CNT_START (0x10190)
+
+#define SDP_VF_R_OUT_CONTROL(ring) \
+ (SDP_VF_R_OUT_CONTROL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_ENABLE(ring) \
+ (SDP_VF_R_OUT_ENABLE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_SLIST_BADDR(ring) \
+ (SDP_VF_R_OUT_SLIST_BADDR_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_SLIST_RSIZE(ring) \
+ (SDP_VF_R_OUT_SLIST_RSIZE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_SLIST_DBELL(ring) \
+ (SDP_VF_R_OUT_SLIST_DBELL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_CNTS(ring) \
+ (SDP_VF_R_OUT_CNTS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_INT_LEVELS(ring) \
+ (SDP_VF_R_OUT_INT_LEVELS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_PKT_CNT(ring) \
+ (SDP_VF_R_OUT_PKT_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_BYTE_CNT(ring) \
+ (SDP_VF_R_OUT_BYTE_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+/* SDP VF IQ Masks */
+#define SDP_VF_R_IN_CTL_RPVF_MASK (0xF)
+#define SDP_VF_R_IN_CTL_RPVF_POS (48)
+
+/* IO Access */
+#define otx2_read64(addr) rte_read64_relaxed((void *)(addr))
+#define otx2_write64(val, addr) rte_write64_relaxed((val), (void *)(addr))
+
+#define PCI_DEVID_OCTEONTX2_EP_NET_VF 0xB203 /* OCTEON TX2 EP mode */
+#define PCI_DEVID_CN98XX_EP_NET_VF 0xB103
+
int
otx2_ep_vf_setup_device(struct otx_ep_device *sdpvf);
diff --git a/drivers/net/octeontx_ep/otx_ep_common.h b/drivers/net/octeontx_ep/otx_ep_common.h
index 5d0b30a1f0..fd5e8ed263 100644
--- a/drivers/net/octeontx_ep/otx_ep_common.h
+++ b/drivers/net/octeontx_ep/otx_ep_common.h
@@ -504,5 +504,8 @@ struct otx_ep_buf_free_info {
#define OTX_EP_CLEAR_SLIST_DBELL 0xFFFFFFFF
#define OTX_EP_CLEAR_SDP_OUT_PKT_CNT 0xFFFFFFFFF
+/* PCI IDs */
+#define PCI_VENDOR_ID_CAVIUM 0x177D
+
extern int otx_net_ep_logtype;
#endif /* _OTX_EP_COMMON_H_ */
diff --git a/drivers/net/octeontx_ep/otx_ep_ethdev.c b/drivers/net/octeontx_ep/otx_ep_ethdev.c
index 698d22e226..5e371595a5 100644
--- a/drivers/net/octeontx_ep/otx_ep_ethdev.c
+++ b/drivers/net/octeontx_ep/otx_ep_ethdev.c
@@ -4,7 +4,6 @@
#include <ethdev_pci.h>
-#include "otx2_common.h"
#include "otx_ep_common.h"
#include "otx_ep_vf.h"
#include "otx2_ep_vf.h"
--
2.17.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] [PATCH] net/octeontx_ep: Remove otx2 common dependency
2021-10-26 15:39 [dpdk-dev] [PATCH] net/octeontx_ep: Remove otx2 common dependency Pradeep Nalla
@ 2021-10-29 14:16 ` Jerin Jacob
0 siblings, 0 replies; 3+ messages in thread
From: Jerin Jacob @ 2021-10-29 14:16 UTC (permalink / raw)
To: Pradeep Nalla
Cc: Radha Mohan Chintakuntla, Veerasenareddy Burru, Jerin Jacob,
Satananda Burla, dpdk-dev
On Tue, Oct 26, 2021 at 9:10 PM Pradeep Nalla <pnalla@marvell.com> wrote:
>
> octeontx_ep driver's dependency on octeontx2 common code is
> removed as going forward ep driver will include files from
> its own path.
>
> Signed-off-by: Pradeep Nalla <pnalla@marvell.com>
Updated as
net/octeontx_ep: remove octeontx2 dependency
octeontx_ep driver's dependency on octeontx2 common code is
removed as going forward ep driver will include files from
its own path.
Signed-off-by: Pradeep Nalla <pnalla@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Applied to dpdk-next-net-mrvl/for-next-net. Thanks
> ---
> drivers/net/octeontx_ep/meson.build | 2 -
> drivers/net/octeontx_ep/otx2_ep_vf.c | 13 +--
> drivers/net/octeontx_ep/otx2_ep_vf.h | 112 ++++++++++++++++++++++++
> drivers/net/octeontx_ep/otx_ep_common.h | 3 +
> drivers/net/octeontx_ep/otx_ep_ethdev.c | 1 -
> 5 files changed, 122 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/octeontx_ep/meson.build b/drivers/net/octeontx_ep/meson.build
> index 89f88caff0..b15646b82a 100644
> --- a/drivers/net/octeontx_ep/meson.build
> +++ b/drivers/net/octeontx_ep/meson.build
> @@ -2,7 +2,6 @@
> # Copyright(C) 2021 Marvell.
> #
>
> -deps += ['common_octeontx2']
> sources = files(
> 'otx_ep_ethdev.c',
> 'otx_ep_rxtx.c',
> @@ -10,4 +9,3 @@ sources = files(
> 'otx2_ep_vf.c',
> )
>
> -includes += include_directories('../../common/octeontx2')
> diff --git a/drivers/net/octeontx_ep/otx2_ep_vf.c b/drivers/net/octeontx_ep/otx2_ep_vf.c
> index 64cd8731d3..0716beb9b1 100644
> --- a/drivers/net/octeontx_ep/otx2_ep_vf.c
> +++ b/drivers/net/octeontx_ep/otx2_ep_vf.c
> @@ -2,7 +2,8 @@
> * Copyright(C) 2021 Marvell.
> */
>
> -#include "otx2_common.h"
> +#include <rte_common.h>
> +#include <rte_cycles.h>
> #include "otx_ep_common.h"
> #include "otx2_ep_vf.h"
>
> @@ -215,7 +216,7 @@ otx2_vf_enable_iq(struct otx_ep_device *otx_ep, uint32_t q_no)
>
> otx2_write64(reg_val, otx_ep->hw_addr + SDP_VF_R_IN_ENABLE(q_no));
>
> - otx2_info("IQ[%d] enable done", q_no);
> + otx_ep_info("IQ[%d] enable done", q_no);
>
> return 0;
> }
> @@ -229,7 +230,7 @@ otx2_vf_enable_oq(struct otx_ep_device *otx_ep, uint32_t q_no)
> reg_val |= 0x1ull;
> otx2_write64(reg_val, otx_ep->hw_addr + SDP_VF_R_OUT_ENABLE(q_no));
>
> - otx2_info("OQ[%d] enable done", q_no);
> + otx_ep_info("OQ[%d] enable done", q_no);
>
> return 0;
> }
> @@ -326,10 +327,10 @@ otx2_ep_vf_setup_device(struct otx_ep_device *otx_ep)
> if (otx_ep->conf == NULL) {
> otx_ep->conf = otx2_ep_get_defconf(otx_ep);
> if (otx_ep->conf == NULL) {
> - otx2_err("SDP VF default config not found");
> + otx_ep_err("SDP VF default config not found");
> return -ENOENT;
> }
> - otx2_info("Default config is used");
> + otx_ep_info("Default config is used");
> }
>
> /* Get IOQs (RPVF] count */
> @@ -338,7 +339,7 @@ otx2_ep_vf_setup_device(struct otx_ep_device *otx_ep)
> otx_ep->sriov_info.rings_per_vf = ((reg_val >> SDP_VF_R_IN_CTL_RPVF_POS)
> & SDP_VF_R_IN_CTL_RPVF_MASK);
>
> - otx2_info("SDP RPVF: %d", otx_ep->sriov_info.rings_per_vf);
> + otx_ep_info("SDP RPVF: %d", otx_ep->sriov_info.rings_per_vf);
>
> otx_ep->fn_list.setup_iq_regs = otx2_vf_setup_iq_regs;
> otx_ep->fn_list.setup_oq_regs = otx2_vf_setup_oq_regs;
> diff --git a/drivers/net/octeontx_ep/otx2_ep_vf.h b/drivers/net/octeontx_ep/otx2_ep_vf.h
> index 5e5aefbc1c..9326925025 100644
> --- a/drivers/net/octeontx_ep/otx2_ep_vf.h
> +++ b/drivers/net/octeontx_ep/otx2_ep_vf.h
> @@ -4,6 +4,118 @@
> #ifndef _OTX2_EP_VF_H_
> #define _OTX2_EP_VF_H_
>
> +#include <rte_io.h>
> +
> +#define SDP_VF_R_IN_CTL_IDLE (0x1ull << 28)
> +#define SDP_VF_R_IN_CTL_RDSIZE (0x3ull << 25) /* Setting to max(4) */
> +#define SDP_VF_R_IN_CTL_IS_64B (0x1ull << 24)
> +#define SDP_VF_R_IN_CTL_ESR (0x1ull << 1)
> +
> +#define SDP_VF_BUSY_LOOP_COUNT (10000)
> +
> +/* SDP VF OQ Masks */
> +#define SDP_VF_R_OUT_CTL_IDLE (1ull << 40)
> +#define SDP_VF_R_OUT_CTL_ES_I (1ull << 34)
> +#define SDP_VF_R_OUT_CTL_NSR_I (1ull << 33)
> +#define SDP_VF_R_OUT_CTL_ROR_I (1ull << 32)
> +#define SDP_VF_R_OUT_CTL_ES_D (1ull << 30)
> +#define SDP_VF_R_OUT_CTL_NSR_D (1ull << 29)
> +#define SDP_VF_R_OUT_CTL_ROR_D (1ull << 28)
> +#define SDP_VF_R_OUT_CTL_ES_P (1ull << 26)
> +#define SDP_VF_R_OUT_CTL_NSR_P (1ull << 25)
> +#define SDP_VF_R_OUT_CTL_ROR_P (1ull << 24)
> +#define SDP_VF_R_OUT_CTL_IMODE (1ull << 23)
> +
> +/* SDP VF Register definitions */
> +#define SDP_VF_RING_OFFSET (0x1ull << 17)
> +
> +/* SDP VF IQ Registers */
> +#define SDP_VF_R_IN_CONTROL_START (0x10000)
> +#define SDP_VF_R_IN_ENABLE_START (0x10010)
> +#define SDP_VF_R_IN_INSTR_BADDR_START (0x10020)
> +#define SDP_VF_R_IN_INSTR_RSIZE_START (0x10030)
> +#define SDP_VF_R_IN_INSTR_DBELL_START (0x10040)
> +#define SDP_VF_R_IN_CNTS_START (0x10050)
> +#define SDP_VF_R_IN_INT_LEVELS_START (0x10060)
> +#define SDP_VF_R_IN_PKT_CNT_START (0x10080)
> +#define SDP_VF_R_IN_BYTE_CNT_START (0x10090)
> +
> +#define SDP_VF_R_IN_CONTROL(ring) \
> + (SDP_VF_R_IN_CONTROL_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_ENABLE(ring) \
> + (SDP_VF_R_IN_ENABLE_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_INSTR_BADDR(ring) \
> + (SDP_VF_R_IN_INSTR_BADDR_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_INSTR_RSIZE(ring) \
> + (SDP_VF_R_IN_INSTR_RSIZE_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_INSTR_DBELL(ring) \
> + (SDP_VF_R_IN_INSTR_DBELL_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_CNTS(ring) \
> + (SDP_VF_R_IN_CNTS_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_INT_LEVELS(ring) \
> + (SDP_VF_R_IN_INT_LEVELS_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_PKT_CNT(ring) \
> + (SDP_VF_R_IN_PKT_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_IN_BYTE_CNT(ring) \
> + (SDP_VF_R_IN_BYTE_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +/* SDP VF OQ Registers */
> +#define SDP_VF_R_OUT_CNTS_START (0x10100)
> +#define SDP_VF_R_OUT_INT_LEVELS_START (0x10110)
> +#define SDP_VF_R_OUT_SLIST_BADDR_START (0x10120)
> +#define SDP_VF_R_OUT_SLIST_RSIZE_START (0x10130)
> +#define SDP_VF_R_OUT_SLIST_DBELL_START (0x10140)
> +#define SDP_VF_R_OUT_CONTROL_START (0x10150)
> +#define SDP_VF_R_OUT_ENABLE_START (0x10160)
> +#define SDP_VF_R_OUT_PKT_CNT_START (0x10180)
> +#define SDP_VF_R_OUT_BYTE_CNT_START (0x10190)
> +
> +#define SDP_VF_R_OUT_CONTROL(ring) \
> + (SDP_VF_R_OUT_CONTROL_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_ENABLE(ring) \
> + (SDP_VF_R_OUT_ENABLE_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_SLIST_BADDR(ring) \
> + (SDP_VF_R_OUT_SLIST_BADDR_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_SLIST_RSIZE(ring) \
> + (SDP_VF_R_OUT_SLIST_RSIZE_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_SLIST_DBELL(ring) \
> + (SDP_VF_R_OUT_SLIST_DBELL_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_CNTS(ring) \
> + (SDP_VF_R_OUT_CNTS_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_INT_LEVELS(ring) \
> + (SDP_VF_R_OUT_INT_LEVELS_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_PKT_CNT(ring) \
> + (SDP_VF_R_OUT_PKT_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +#define SDP_VF_R_OUT_BYTE_CNT(ring) \
> + (SDP_VF_R_OUT_BYTE_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
> +
> +/* SDP VF IQ Masks */
> +#define SDP_VF_R_IN_CTL_RPVF_MASK (0xF)
> +#define SDP_VF_R_IN_CTL_RPVF_POS (48)
> +
> +/* IO Access */
> +#define otx2_read64(addr) rte_read64_relaxed((void *)(addr))
> +#define otx2_write64(val, addr) rte_write64_relaxed((val), (void *)(addr))
> +
> +#define PCI_DEVID_OCTEONTX2_EP_NET_VF 0xB203 /* OCTEON TX2 EP mode */
> +#define PCI_DEVID_CN98XX_EP_NET_VF 0xB103
> +
> int
> otx2_ep_vf_setup_device(struct otx_ep_device *sdpvf);
>
> diff --git a/drivers/net/octeontx_ep/otx_ep_common.h b/drivers/net/octeontx_ep/otx_ep_common.h
> index 5d0b30a1f0..fd5e8ed263 100644
> --- a/drivers/net/octeontx_ep/otx_ep_common.h
> +++ b/drivers/net/octeontx_ep/otx_ep_common.h
> @@ -504,5 +504,8 @@ struct otx_ep_buf_free_info {
> #define OTX_EP_CLEAR_SLIST_DBELL 0xFFFFFFFF
> #define OTX_EP_CLEAR_SDP_OUT_PKT_CNT 0xFFFFFFFFF
>
> +/* PCI IDs */
> +#define PCI_VENDOR_ID_CAVIUM 0x177D
> +
> extern int otx_net_ep_logtype;
> #endif /* _OTX_EP_COMMON_H_ */
> diff --git a/drivers/net/octeontx_ep/otx_ep_ethdev.c b/drivers/net/octeontx_ep/otx_ep_ethdev.c
> index 698d22e226..5e371595a5 100644
> --- a/drivers/net/octeontx_ep/otx_ep_ethdev.c
> +++ b/drivers/net/octeontx_ep/otx_ep_ethdev.c
> @@ -4,7 +4,6 @@
>
> #include <ethdev_pci.h>
>
> -#include "otx2_common.h"
> #include "otx_ep_common.h"
> #include "otx_ep_vf.h"
> #include "otx2_ep_vf.h"
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [dpdk-dev] [PATCH] net/octeontx_ep: Remove otx2 common dependency
@ 2021-10-28 4:11 Pradeep Nalla
0 siblings, 0 replies; 3+ messages in thread
From: Pradeep Nalla @ 2021-10-28 4:11 UTC (permalink / raw)
To: thomas, david.marchand, Nalla Pradeep, Radha Mohan Chintakuntla,
Veerasenareddy Burru
Cc: jerinj, sburla, dev
octeontx_ep driver's dependency on octeontx2 common code is
removed as going forward ep driver will include files from
its own path.
Signed-off-by: Pradeep Nalla <pnalla@marvell.com>
---
drivers/net/octeontx_ep/meson.build | 2 -
drivers/net/octeontx_ep/otx2_ep_vf.c | 13 +--
drivers/net/octeontx_ep/otx2_ep_vf.h | 112 ++++++++++++++++++++++++
drivers/net/octeontx_ep/otx_ep_common.h | 3 +
drivers/net/octeontx_ep/otx_ep_ethdev.c | 1 -
5 files changed, 122 insertions(+), 9 deletions(-)
diff --git a/drivers/net/octeontx_ep/meson.build b/drivers/net/octeontx_ep/meson.build
index 89f88caff0..b15646b82a 100644
--- a/drivers/net/octeontx_ep/meson.build
+++ b/drivers/net/octeontx_ep/meson.build
@@ -2,7 +2,6 @@
# Copyright(C) 2021 Marvell.
#
-deps += ['common_octeontx2']
sources = files(
'otx_ep_ethdev.c',
'otx_ep_rxtx.c',
@@ -10,4 +9,3 @@ sources = files(
'otx2_ep_vf.c',
)
-includes += include_directories('../../common/octeontx2')
diff --git a/drivers/net/octeontx_ep/otx2_ep_vf.c b/drivers/net/octeontx_ep/otx2_ep_vf.c
index 64cd8731d3..0716beb9b1 100644
--- a/drivers/net/octeontx_ep/otx2_ep_vf.c
+++ b/drivers/net/octeontx_ep/otx2_ep_vf.c
@@ -2,7 +2,8 @@
* Copyright(C) 2021 Marvell.
*/
-#include "otx2_common.h"
+#include <rte_common.h>
+#include <rte_cycles.h>
#include "otx_ep_common.h"
#include "otx2_ep_vf.h"
@@ -215,7 +216,7 @@ otx2_vf_enable_iq(struct otx_ep_device *otx_ep, uint32_t q_no)
otx2_write64(reg_val, otx_ep->hw_addr + SDP_VF_R_IN_ENABLE(q_no));
- otx2_info("IQ[%d] enable done", q_no);
+ otx_ep_info("IQ[%d] enable done", q_no);
return 0;
}
@@ -229,7 +230,7 @@ otx2_vf_enable_oq(struct otx_ep_device *otx_ep, uint32_t q_no)
reg_val |= 0x1ull;
otx2_write64(reg_val, otx_ep->hw_addr + SDP_VF_R_OUT_ENABLE(q_no));
- otx2_info("OQ[%d] enable done", q_no);
+ otx_ep_info("OQ[%d] enable done", q_no);
return 0;
}
@@ -326,10 +327,10 @@ otx2_ep_vf_setup_device(struct otx_ep_device *otx_ep)
if (otx_ep->conf == NULL) {
otx_ep->conf = otx2_ep_get_defconf(otx_ep);
if (otx_ep->conf == NULL) {
- otx2_err("SDP VF default config not found");
+ otx_ep_err("SDP VF default config not found");
return -ENOENT;
}
- otx2_info("Default config is used");
+ otx_ep_info("Default config is used");
}
/* Get IOQs (RPVF] count */
@@ -338,7 +339,7 @@ otx2_ep_vf_setup_device(struct otx_ep_device *otx_ep)
otx_ep->sriov_info.rings_per_vf = ((reg_val >> SDP_VF_R_IN_CTL_RPVF_POS)
& SDP_VF_R_IN_CTL_RPVF_MASK);
- otx2_info("SDP RPVF: %d", otx_ep->sriov_info.rings_per_vf);
+ otx_ep_info("SDP RPVF: %d", otx_ep->sriov_info.rings_per_vf);
otx_ep->fn_list.setup_iq_regs = otx2_vf_setup_iq_regs;
otx_ep->fn_list.setup_oq_regs = otx2_vf_setup_oq_regs;
diff --git a/drivers/net/octeontx_ep/otx2_ep_vf.h b/drivers/net/octeontx_ep/otx2_ep_vf.h
index 5e5aefbc1c..9326925025 100644
--- a/drivers/net/octeontx_ep/otx2_ep_vf.h
+++ b/drivers/net/octeontx_ep/otx2_ep_vf.h
@@ -4,6 +4,118 @@
#ifndef _OTX2_EP_VF_H_
#define _OTX2_EP_VF_H_
+#include <rte_io.h>
+
+#define SDP_VF_R_IN_CTL_IDLE (0x1ull << 28)
+#define SDP_VF_R_IN_CTL_RDSIZE (0x3ull << 25) /* Setting to max(4) */
+#define SDP_VF_R_IN_CTL_IS_64B (0x1ull << 24)
+#define SDP_VF_R_IN_CTL_ESR (0x1ull << 1)
+
+#define SDP_VF_BUSY_LOOP_COUNT (10000)
+
+/* SDP VF OQ Masks */
+#define SDP_VF_R_OUT_CTL_IDLE (1ull << 40)
+#define SDP_VF_R_OUT_CTL_ES_I (1ull << 34)
+#define SDP_VF_R_OUT_CTL_NSR_I (1ull << 33)
+#define SDP_VF_R_OUT_CTL_ROR_I (1ull << 32)
+#define SDP_VF_R_OUT_CTL_ES_D (1ull << 30)
+#define SDP_VF_R_OUT_CTL_NSR_D (1ull << 29)
+#define SDP_VF_R_OUT_CTL_ROR_D (1ull << 28)
+#define SDP_VF_R_OUT_CTL_ES_P (1ull << 26)
+#define SDP_VF_R_OUT_CTL_NSR_P (1ull << 25)
+#define SDP_VF_R_OUT_CTL_ROR_P (1ull << 24)
+#define SDP_VF_R_OUT_CTL_IMODE (1ull << 23)
+
+/* SDP VF Register definitions */
+#define SDP_VF_RING_OFFSET (0x1ull << 17)
+
+/* SDP VF IQ Registers */
+#define SDP_VF_R_IN_CONTROL_START (0x10000)
+#define SDP_VF_R_IN_ENABLE_START (0x10010)
+#define SDP_VF_R_IN_INSTR_BADDR_START (0x10020)
+#define SDP_VF_R_IN_INSTR_RSIZE_START (0x10030)
+#define SDP_VF_R_IN_INSTR_DBELL_START (0x10040)
+#define SDP_VF_R_IN_CNTS_START (0x10050)
+#define SDP_VF_R_IN_INT_LEVELS_START (0x10060)
+#define SDP_VF_R_IN_PKT_CNT_START (0x10080)
+#define SDP_VF_R_IN_BYTE_CNT_START (0x10090)
+
+#define SDP_VF_R_IN_CONTROL(ring) \
+ (SDP_VF_R_IN_CONTROL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_ENABLE(ring) \
+ (SDP_VF_R_IN_ENABLE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INSTR_BADDR(ring) \
+ (SDP_VF_R_IN_INSTR_BADDR_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INSTR_RSIZE(ring) \
+ (SDP_VF_R_IN_INSTR_RSIZE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INSTR_DBELL(ring) \
+ (SDP_VF_R_IN_INSTR_DBELL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_CNTS(ring) \
+ (SDP_VF_R_IN_CNTS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_INT_LEVELS(ring) \
+ (SDP_VF_R_IN_INT_LEVELS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_PKT_CNT(ring) \
+ (SDP_VF_R_IN_PKT_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_IN_BYTE_CNT(ring) \
+ (SDP_VF_R_IN_BYTE_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+/* SDP VF OQ Registers */
+#define SDP_VF_R_OUT_CNTS_START (0x10100)
+#define SDP_VF_R_OUT_INT_LEVELS_START (0x10110)
+#define SDP_VF_R_OUT_SLIST_BADDR_START (0x10120)
+#define SDP_VF_R_OUT_SLIST_RSIZE_START (0x10130)
+#define SDP_VF_R_OUT_SLIST_DBELL_START (0x10140)
+#define SDP_VF_R_OUT_CONTROL_START (0x10150)
+#define SDP_VF_R_OUT_ENABLE_START (0x10160)
+#define SDP_VF_R_OUT_PKT_CNT_START (0x10180)
+#define SDP_VF_R_OUT_BYTE_CNT_START (0x10190)
+
+#define SDP_VF_R_OUT_CONTROL(ring) \
+ (SDP_VF_R_OUT_CONTROL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_ENABLE(ring) \
+ (SDP_VF_R_OUT_ENABLE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_SLIST_BADDR(ring) \
+ (SDP_VF_R_OUT_SLIST_BADDR_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_SLIST_RSIZE(ring) \
+ (SDP_VF_R_OUT_SLIST_RSIZE_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_SLIST_DBELL(ring) \
+ (SDP_VF_R_OUT_SLIST_DBELL_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_CNTS(ring) \
+ (SDP_VF_R_OUT_CNTS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_INT_LEVELS(ring) \
+ (SDP_VF_R_OUT_INT_LEVELS_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_PKT_CNT(ring) \
+ (SDP_VF_R_OUT_PKT_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+#define SDP_VF_R_OUT_BYTE_CNT(ring) \
+ (SDP_VF_R_OUT_BYTE_CNT_START + ((ring) * SDP_VF_RING_OFFSET))
+
+/* SDP VF IQ Masks */
+#define SDP_VF_R_IN_CTL_RPVF_MASK (0xF)
+#define SDP_VF_R_IN_CTL_RPVF_POS (48)
+
+/* IO Access */
+#define otx2_read64(addr) rte_read64_relaxed((void *)(addr))
+#define otx2_write64(val, addr) rte_write64_relaxed((val), (void *)(addr))
+
+#define PCI_DEVID_OCTEONTX2_EP_NET_VF 0xB203 /* OCTEON TX2 EP mode */
+#define PCI_DEVID_CN98XX_EP_NET_VF 0xB103
+
int
otx2_ep_vf_setup_device(struct otx_ep_device *sdpvf);
diff --git a/drivers/net/octeontx_ep/otx_ep_common.h b/drivers/net/octeontx_ep/otx_ep_common.h
index 5d0b30a1f0..fd5e8ed263 100644
--- a/drivers/net/octeontx_ep/otx_ep_common.h
+++ b/drivers/net/octeontx_ep/otx_ep_common.h
@@ -504,5 +504,8 @@ struct otx_ep_buf_free_info {
#define OTX_EP_CLEAR_SLIST_DBELL 0xFFFFFFFF
#define OTX_EP_CLEAR_SDP_OUT_PKT_CNT 0xFFFFFFFFF
+/* PCI IDs */
+#define PCI_VENDOR_ID_CAVIUM 0x177D
+
extern int otx_net_ep_logtype;
#endif /* _OTX_EP_COMMON_H_ */
diff --git a/drivers/net/octeontx_ep/otx_ep_ethdev.c b/drivers/net/octeontx_ep/otx_ep_ethdev.c
index 698d22e226..5e371595a5 100644
--- a/drivers/net/octeontx_ep/otx_ep_ethdev.c
+++ b/drivers/net/octeontx_ep/otx_ep_ethdev.c
@@ -4,7 +4,6 @@
#include <ethdev_pci.h>
-#include "otx2_common.h"
#include "otx_ep_common.h"
#include "otx_ep_vf.h"
#include "otx2_ep_vf.h"
--
2.17.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-10-29 14:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-26 15:39 [dpdk-dev] [PATCH] net/octeontx_ep: Remove otx2 common dependency Pradeep Nalla
2021-10-29 14:16 ` Jerin Jacob
2021-10-28 4:11 Pradeep Nalla
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).