DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Harman Kalra <hkalra@marvell.com>, Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	Jerin Jacob <jerinj@marvell.com>,
	 Nithin Dabilpuram <ndabilpuram@marvell.com>,
	John McNamara <john.mcnamara@intel.com>,
	 Marko Kovacevic <marko.kovacevic@intel.com>,
	Kiran Kumar K <kirankumark@marvell.com>, dpdk-dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2] net/octeontx2: add cn98xx support
Date: Thu, 25 Jun 2020 21:03:26 +0530	[thread overview]
Message-ID: <CALBAE1Obhn+yLF0HN8JKNJYDua8_dp4p0xZX0xphQJi=fN0PgQ@mail.gmail.com> (raw)
In-Reply-To: <1593002808-29161-1-git-send-email-hkalra@marvell.com>

On Wed, Jun 24, 2020 at 6:17 PM Harman Kalra <hkalra@marvell.com> wrote:
>
> New cn98xx SOC comes up with two NIX blocks wrt
> cn96xx, cn93xx, to achieve higher performance.
> Also the no of cores increased to 36 from 24.
>
> Adding support for cn98xx where need a logic to
> detect if the LF is attached to NIX0 or NIX1 and
> then accordingly use the respective NIX block.
>
> Signed-off-by: Harman Kalra <hkalra@marvell.com>



Acked-by: Jerin Jacob <jerinj@marvell.com>
Applied to dpdk-next-net-mrvl/master. Thanks

> ---
> *V2: updated make/meson configs with the increased no of
> cores.
>
>  config/arm/meson.build                        |  2 +-
>  config/defconfig_arm64-octeontx2-linuxapp-gcc |  2 +-
>  doc/guides/platform/octeontx2.rst             |  1 +
>  drivers/common/octeontx2/hw/otx2_rvu.h        |  3 ++-
>  drivers/net/octeontx2/otx2_ethdev.c           | 17 ++++++++++++++++-
>  5 files changed, 21 insertions(+), 4 deletions(-)
>
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index 6e75e6d97..8728051d5 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -82,7 +82,7 @@ flags_thunderx2_extra = [
>  flags_octeontx2_extra = [
>         ['RTE_MACHINE', '"octeontx2"'],
>         ['RTE_MAX_NUMA_NODES', 1],
> -       ['RTE_MAX_LCORE', 24],
> +       ['RTE_MAX_LCORE', 36],
>         ['RTE_ARM_FEATURE_ATOMICS', true],
>         ['RTE_EAL_IGB_UIO', false],
>         ['RTE_USE_C11_MEM_MODEL', true]]
> diff --git a/config/defconfig_arm64-octeontx2-linuxapp-gcc b/config/defconfig_arm64-octeontx2-linuxapp-gcc
> index 7cfb81872..0d83becf5 100644
> --- a/config/defconfig_arm64-octeontx2-linuxapp-gcc
> +++ b/config/defconfig_arm64-octeontx2-linuxapp-gcc
> @@ -7,7 +7,7 @@
>  CONFIG_RTE_MACHINE="octeontx2"
>
>  CONFIG_RTE_MAX_NUMA_NODES=1
> -CONFIG_RTE_MAX_LCORE=24
> +CONFIG_RTE_MAX_LCORE=36
>  CONFIG_RTE_ARM_FEATURE_ATOMICS=y
>
>  # Doesn't support NUMA
> diff --git a/doc/guides/platform/octeontx2.rst b/doc/guides/platform/octeontx2.rst
> index d38a4c1ed..7dd695175 100644
> --- a/doc/guides/platform/octeontx2.rst
> +++ b/doc/guides/platform/octeontx2.rst
> @@ -13,6 +13,7 @@ More information about OCTEON TX2 SoC can be found at `Marvell Official Website
>  Supported OCTEON TX2 SoCs
>  -------------------------
>
> +- CN98xx
>  - CN96xx
>  - CN93xx
>
> diff --git a/drivers/common/octeontx2/hw/otx2_rvu.h b/drivers/common/octeontx2/hw/otx2_rvu.h
> index f2037ec57..330bfb37f 100644
> --- a/drivers/common/octeontx2/hw/otx2_rvu.h
> +++ b/drivers/common/octeontx2/hw/otx2_rvu.h
> @@ -134,11 +134,12 @@
>  #define RVU_BLOCK_ADDR_RVUM                 (0x0ull)
>  #define RVU_BLOCK_ADDR_LMT                  (0x1ull)
>  #define RVU_BLOCK_ADDR_NPA                  (0x3ull)
> +#define RVU_BLOCK_ADDR_NIX0                 (0x4ull)
> +#define RVU_BLOCK_ADDR_NIX1                 (0x5ull)
>  #define RVU_BLOCK_ADDR_NPC                  (0x6ull)
>  #define RVU_BLOCK_ADDR_SSO                  (0x7ull)
>  #define RVU_BLOCK_ADDR_SSOW                 (0x8ull)
>  #define RVU_BLOCK_ADDR_TIM                  (0x9ull)
> -#define RVU_BLOCK_ADDR_NIX0                 (0x4ull)
>  #define RVU_BLOCK_ADDR_CPT0                 (0xaull)
>  #define RVU_BLOCK_ADDR_NDC0                 (0xcull)
>  #define RVU_BLOCK_ADDR_NDC1                 (0xdull)
> diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
> index 3f3f0a693..095506034 100644
> --- a/drivers/net/octeontx2/otx2_ethdev.c
> +++ b/drivers/net/octeontx2/otx2_ethdev.c
> @@ -2177,6 +2177,20 @@ otx2_eth_dev_is_sdp(struct rte_pci_device *pci_dev)
>         return false;
>  }
>
> +static inline uint64_t
> +nix_get_blkaddr(struct otx2_eth_dev *dev)
> +{
> +       uint64_t reg;
> +
> +       /* Reading the discovery register to know which NIX is the LF
> +        * attached to.
> +        */
> +       reg = otx2_read64(dev->bar2 +
> +                         RVU_PF_BLOCK_ADDRX_DISC(RVU_BLOCK_ADDR_NIX0));
> +
> +       return reg & 0x1FFULL ? RVU_BLOCK_ADDR_NIX0 : RVU_BLOCK_ADDR_NIX1;
> +}
> +
>  static int
>  otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
>  {
> @@ -2236,7 +2250,6 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
>         dev->configured = 0;
>         dev->drv_inited = true;
>         dev->ptype_disable = 0;
> -       dev->base = dev->bar2 + (RVU_BLOCK_ADDR_NIX0 << 20);
>         dev->lmt_addr = dev->bar2 + (RVU_BLOCK_ADDR_LMT << 20);
>
>         /* Attach NIX LF */
> @@ -2244,6 +2257,8 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
>         if (rc)
>                 goto otx2_npa_uninit;
>
> +       dev->base = dev->bar2 + (nix_get_blkaddr(dev) << 20);
> +
>         /* Get NIX MSIX offset */
>         rc = nix_lf_get_msix_offset(dev);
>         if (rc)
> --
> 2.18.0
>

  reply	other threads:[~2020-06-25 15:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-17 15:05 [dpdk-dev] [PATCH] " Harman Kalra
2020-06-24  8:59 ` Jerin Jacob
2020-06-24 12:46   ` [dpdk-dev] [PATCH v2] " Harman Kalra
2020-06-25 15:33     ` Jerin Jacob [this message]
2020-06-26  9:40     ` Ferruh Yigit
2020-06-26 13:34       ` [dpdk-dev] [EXT] " Harman Kalra
2020-06-26 13:45         ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALBAE1Obhn+yLF0HN8JKNJYDua8_dp4p0xZX0xphQJi=fN0PgQ@mail.gmail.com' \
    --to=jerinjacobk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=hkalra@marvell.com \
    --cc=jerinj@marvell.com \
    --cc=john.mcnamara@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=marko.kovacevic@intel.com \
    --cc=ndabilpuram@marvell.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).