[v2,10/12] net/mvpp2: align documentation with MUSDK 18.09

Message ID 1536068953-9352-11-git-send-email-tdu@semihalf.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series net/mvpp2: add new features |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Tomasz Duszynski Sept. 4, 2018, 1:49 p.m. UTC
  From: Natalie Samsonov <nsamsono@marvell.com>

Update documentation to align with MUSDK 18.09.

Signed-off-by: Natalie Samsonov <nsamsono@marvell.com>
---
 doc/guides/nics/mvpp2.rst | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)
  

Comments

Ferruh Yigit Sept. 19, 2018, 5:15 p.m. UTC | #1
On 9/4/2018 2:49 PM, Tomasz Duszynski wrote:
> From: Natalie Samsonov <nsamsono@marvell.com>
> 
> Update documentation to align with MUSDK 18.09.
> 
> Signed-off-by: Natalie Samsonov <nsamsono@marvell.com>
> ---
>  doc/guides/nics/mvpp2.rst | 26 ++++++++++++--------------
>  1 file changed, 12 insertions(+), 14 deletions(-)
> 
> diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
> index a452c8a..3b3f8c6 100644
> --- a/doc/guides/nics/mvpp2.rst
> +++ b/doc/guides/nics/mvpp2.rst
> @@ -74,6 +74,7 @@ Features of the MVPP2 PMD are:
>  - QoS
>  - RX flow control
>  - TX queue start/stop
> +- Scattered TX frames
>  
>  
>  Limitations
> @@ -96,19 +97,19 @@ Prerequisites
>  
>    .. code-block:: console
>  
> -     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.52-armada-17.10
> +     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.120-armada-18.09

There is a strict dependency to MUSDK 18.09, dpdk18.11 won't compile with older
versions. It is hard to trace this dependency, what do you think having a matrix
in DPDK documentation showing which DPDK version supports which MUSDK?
  
Thomas Monjalon Sept. 23, 2018, 10:40 p.m. UTC | #2
19/09/2018 19:15, Ferruh Yigit:
> On 9/4/2018 2:49 PM, Tomasz Duszynski wrote:
> > From: Natalie Samsonov <nsamsono@marvell.com>
> > --- a/doc/guides/nics/mvpp2.rst
> > +++ b/doc/guides/nics/mvpp2.rst
> > -     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.52-armada-17.10
> > +     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.120-armada-18.09
> 
> There is a strict dependency to MUSDK 18.09, dpdk18.11 won't compile with older
> versions. It is hard to trace this dependency, what do you think having a matrix
> in DPDK documentation showing which DPDK version supports which MUSDK?

It does not compile even with MUSDK 18.09.

With MUSDK 18.09, the error is:
	drivers/crypto/mvsam/rte_mrvl_pmd.c:867:26: error: 'SAM_HW_RING_NUM' undeclared

The explanation is in MUSDK:
commit 9bf8b3ca4ddfa00619c0023dfb08ae1601054fce
Author: Dmitri Epshtein <dima@marvell.com>
Date:   Mon Nov 20 10:38:31 2017 +0200

    sam: remove SAM_HW_RING_NUM from APIs
    
    Use function:
    u32 sam_get_num_cios(u32 inst);

As a consequence, next-net cannot be pulled!
  
Ferruh Yigit Sept. 24, 2018, 11:36 a.m. UTC | #3
On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
> 19/09/2018 19:15, Ferruh Yigit:
>> On 9/4/2018 2:49 PM, Tomasz Duszynski wrote:
>>> From: Natalie Samsonov <nsamsono@marvell.com>
>>> --- a/doc/guides/nics/mvpp2.rst
>>> +++ b/doc/guides/nics/mvpp2.rst
>>> -     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.52-armada-17.10
>>> +     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.120-armada-18.09
>>
>> There is a strict dependency to MUSDK 18.09, dpdk18.11 won't compile with older
>> versions. It is hard to trace this dependency, what do you think having a matrix
>> in DPDK documentation showing which DPDK version supports which MUSDK?
> 
> It does not compile even with MUSDK 18.09.
> 
> With MUSDK 18.09, the error is:
> 	drivers/crypto/mvsam/rte_mrvl_pmd.c:867:26: error: 'SAM_HW_RING_NUM' undeclared

I confirm same error. I wasn't building with crypto PMD enabled so not caught it.

> 
> The explanation is in MUSDK:
> commit 9bf8b3ca4ddfa00619c0023dfb08ae1601054fce
> Author: Dmitri Epshtein <dima@marvell.com>
> Date:   Mon Nov 20 10:38:31 2017 +0200
> 
>     sam: remove SAM_HW_RING_NUM from APIs
>     
>     Use function:
>     u32 sam_get_num_cios(u32 inst);
> 
> As a consequence, next-net cannot be pulled!

Got it, should I drop the patchset from tree?
  
Marcin Wojtas Sept. 24, 2018, 11:51 a.m. UTC | #4
Hi Ferruh,

pon., 24 wrz 2018 o 13:38 Ferruh Yigit <ferruh.yigit@intel.com> napisał(a):
>
> On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
> > 19/09/2018 19:15, Ferruh Yigit:
> >> On 9/4/2018 2:49 PM, Tomasz Duszynski wrote:
> >>> From: Natalie Samsonov <nsamsono@marvell.com>
> >>> --- a/doc/guides/nics/mvpp2.rst
> >>> +++ b/doc/guides/nics/mvpp2.rst
> >>> -     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.52-armada-17.10
> >>> +     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.120-armada-18.09
> >>
> >> There is a strict dependency to MUSDK 18.09, dpdk18.11 won't compile with older
> >> versions. It is hard to trace this dependency, what do you think having a matrix
> >> in DPDK documentation showing which DPDK version supports which MUSDK?
> >
> > It does not compile even with MUSDK 18.09.
> >
> > With MUSDK 18.09, the error is:
> >       drivers/crypto/mvsam/rte_mrvl_pmd.c:867:26: error: 'SAM_HW_RING_NUM' undeclared
>
> I confirm same error. I wasn't building with crypto PMD enabled so not caught it.
>
> >
> > The explanation is in MUSDK:
> > commit 9bf8b3ca4ddfa00619c0023dfb08ae1601054fce
> > Author: Dmitri Epshtein <dima@marvell.com>
> > Date:   Mon Nov 20 10:38:31 2017 +0200
> >
> >     sam: remove SAM_HW_RING_NUM from APIs
> >
> >     Use function:
> >     u32 sam_get_num_cios(u32 inst);
> >
> > As a consequence, next-net cannot be pulled!
>
> Got it, should I drop the patchset from tree?

We're checking the error and will provide fix asap. Please let know if
this should be another version of the entire patchset or fix on top.
Sorry for the problems.

Best regards,
Marcin
  
Ferruh Yigit Sept. 24, 2018, 12:38 p.m. UTC | #5
On 9/24/2018 12:51 PM, Marcin Wojtas wrote:
> Hi Ferruh,
> 
> pon., 24 wrz 2018 o 13:38 Ferruh Yigit <ferruh.yigit@intel.com> napisał(a):
>>
>> On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
>>> 19/09/2018 19:15, Ferruh Yigit:
>>>> On 9/4/2018 2:49 PM, Tomasz Duszynski wrote:
>>>>> From: Natalie Samsonov <nsamsono@marvell.com>
>>>>> --- a/doc/guides/nics/mvpp2.rst
>>>>> +++ b/doc/guides/nics/mvpp2.rst
>>>>> -     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.52-armada-17.10
>>>>> +     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.120-armada-18.09
>>>>
>>>> There is a strict dependency to MUSDK 18.09, dpdk18.11 won't compile with older
>>>> versions. It is hard to trace this dependency, what do you think having a matrix
>>>> in DPDK documentation showing which DPDK version supports which MUSDK?
>>>
>>> It does not compile even with MUSDK 18.09.
>>>
>>> With MUSDK 18.09, the error is:
>>>       drivers/crypto/mvsam/rte_mrvl_pmd.c:867:26: error: 'SAM_HW_RING_NUM' undeclared
>>
>> I confirm same error. I wasn't building with crypto PMD enabled so not caught it.
>>
>>>
>>> The explanation is in MUSDK:
>>> commit 9bf8b3ca4ddfa00619c0023dfb08ae1601054fce
>>> Author: Dmitri Epshtein <dima@marvell.com>
>>> Date:   Mon Nov 20 10:38:31 2017 +0200
>>>
>>>     sam: remove SAM_HW_RING_NUM from APIs
>>>
>>>     Use function:
>>>     u32 sam_get_num_cios(u32 inst);
>>>
>>> As a consequence, next-net cannot be pulled!
>>
>> Got it, should I drop the patchset from tree?
> 
> We're checking the error and will provide fix asap. Please let know if
> this should be another version of the entire patchset or fix on top.

There is another comment from Thomas (mvpp2_tm.png).

Both "fix on top" and "new version" is OK for me, pick whichever easy for you.
For "fix on top", I will squash fixes to original commits, so fixes should be
separate patches with a information which commit it targets.

But overall build should not be broken, it should be clear in which commit
dependency changed to 18.09. Let call the commit that switch happens X,
all commits before X should compile successfully with 17.10, commit X and all
following commits should be compile successfully with 18.09.

> Sorry for the problems.
> 
> Best regards,
> Marcin
>
  
Thomas Monjalon Sept. 24, 2018, 12:44 p.m. UTC | #6
24/09/2018 13:36, Ferruh Yigit:
> On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
> > As a consequence, next-net cannot be pulled!
> 
> Got it, should I drop the patchset from tree?

Yes I think it's better to re-consider this patchset later.
  
Marcin Wojtas Sept. 24, 2018, 12:48 p.m. UTC | #7
pon., 24 wrz 2018 o 14:44 Thomas Monjalon <thomas@monjalon.net> napisał(a):
>
> 24/09/2018 13:36, Ferruh Yigit:
> > On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
> > > As a consequence, next-net cannot be pulled!
> >
> > Got it, should I drop the patchset from tree?
>
> Yes I think it's better to re-consider this patchset later.
>
>

Ok, complete, new version of it will be re-sent to the lists.

Best regards,
Marcin
  
Ferruh Yigit Sept. 24, 2018, 12:50 p.m. UTC | #8
On 9/24/2018 1:48 PM, Marcin Wojtas wrote:
> pon., 24 wrz 2018 o 14:44 Thomas Monjalon <thomas@monjalon.net> napisał(a):
>>
>> 24/09/2018 13:36, Ferruh Yigit:
>>> On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
>>>> As a consequence, next-net cannot be pulled!
>>>
>>> Got it, should I drop the patchset from tree?
>>
>> Yes I think it's better to re-consider this patchset later.
>>
>>
> 
> Ok, complete, new version of it will be re-sent to the lists.

OK, patch will be dropped from the next-net for now.

> 
> Best regards,
> Marcin
>
  
Andrzej Ostruszka Sept. 24, 2018, 1:11 p.m. UTC | #9
On 24.09.2018 14:50, Ferruh Yigit wrote:
> On 9/24/2018 1:48 PM, Marcin Wojtas wrote:
>> pon., 24 wrz 2018 o 14:44 Thomas Monjalon <thomas@monjalon.net> napisał(a):
>>>
>>> 24/09/2018 13:36, Ferruh Yigit:
>>>> On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
>>>>> As a consequence, next-net cannot be pulled!
>>>>
>>>> Got it, should I drop the patchset from tree?
>>>
>>> Yes I think it's better to re-consider this patchset later.
>>>
>>>
>>
>> Ok, complete, new version of it will be re-sent to the lists.
> 
> OK, patch will be dropped from the next-net for now.

I will provide the new patchset shortly with following patch:
http://patches.dpdk.org/patch/44255/
already "squashed"/applied.  This is the patch for updating mvsam to
MUSDK 18.09 which solves the problem you experience but I guess it goes
to next-crypto.  That way I hope there would be no problem with merging
next-crypto and next-net will be able to compile.

Best regards
Andrzej
  

Patch

diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index a452c8a..3b3f8c6 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -74,6 +74,7 @@  Features of the MVPP2 PMD are:
 - QoS
 - RX flow control
 - TX queue start/stop
+- Scattered TX frames
 
 
 Limitations
@@ -96,19 +97,19 @@  Prerequisites
 
   .. code-block:: console
 
-     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.52-armada-17.10
+     git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.120-armada-18.09
 
 - Out of tree `mvpp2x_sysfs` kernel module sources
 
   .. code-block:: console
 
-     git clone https://github.com/MarvellEmbeddedProcessors/mvpp2x-marvell.git -b mvpp2x-armada-17.10
+     git clone https://github.com/MarvellEmbeddedProcessors/mvpp2x-marvell.git -b mvpp2x-armada-18.09
 
 - MUSDK (Marvell User-Space SDK) sources
 
   .. code-block:: console
 
-     git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git -b musdk-armada-17.10
+     git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git -b musdk-armada-18.09
 
   MUSDK is a light-weight library that provides direct access to Marvell's
   PPv2 (Packet Processor v2). Alternatively prebuilt MUSDK library can be
@@ -119,12 +120,6 @@  Prerequisites
   To get better understanding of the library one can consult documentation
   available in the ``doc`` top level directory of the MUSDK sources.
 
-  MUSDK must be configured with the following features:
-
-  .. code-block:: console
-
-     --enable-bpool-dma=64
-
 - DPDK environment
 
   Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
@@ -140,6 +135,9 @@  The following options can be modified in the ``config`` file.
 
     Toggle compilation of the librte mvpp2 driver.
 
+    .. Note::
+
+       When MVPP2 PMD is enabled ``CONFIG_RTE_LIBRTE_MVNETA_PMD`` must be disabled
 
 QoS Configuration
 -----------------
@@ -314,7 +312,7 @@  Driver needs precompiled MUSDK library during compilation.
 
    export CROSS_COMPILE=<toolchain>/bin/aarch64-linux-gnu-
    ./bootstrap
-   ./configure --host=aarch64-linux-gnu --enable-bpool-dma=64
+   ./configure --host=aarch64-linux-gnu
    make install
 
 MUSDK will be installed to `usr/local` under current directory.
@@ -328,7 +326,8 @@  the path to the MUSDK installation directory needs to be exported.
    export LIBMUSDK_PATH=<musdk>/usr/local
    export CROSS=aarch64-linux-gnu-
    make config T=arm64-armv8a-linuxapp-gcc
-   sed -ri 's,(MVPP2_PMD=)n,\1y,' build/.config
+   sed -i "s/MVNETA_PMD=y/MVNETA_PMD=n/" build/.config
+   sed -i "s/MVPP2_PMD=n/MVPP2_PMD=y/" build/.config
    make
 
 Flow API
@@ -500,15 +499,14 @@  Usage Example
 -------------
 
 MVPP2 PMD requires extra out of tree kernel modules to function properly.
-`musdk_uio` and `mv_pp_uio` sources are part of the MUSDK. Please consult
+`musdk_cma` sources are part of the MUSDK. Please consult
 ``doc/musdk_get_started.txt`` for the detailed build instructions.
 For `mvpp2x_sysfs` please consult ``Documentation/pp22_sysfs.txt`` for the
 detailed build instructions.
 
 .. code-block:: console
 
-   insmod musdk_uio.ko
-   insmod mv_pp_uio.ko
+   insmod musdk_cma.ko
    insmod mvpp2x_sysfs.ko
 
 Additionally interfaces used by DPDK application need to be put up: