Message ID | 1516874011-8760-6-git-send-email-hemant.agrawal@nxp.com |
---|---|
State | New |
Headers | show |
Series | ARMv8: enable DPAA-X driver compilation | expand |
-----Original Message----- > Date: Thu, 25 Jan 2018 15:23:31 +0530 > From: Hemant Agrawal <hemant.agrawal@nxp.com> > To: dev@dpdk.org > CC: jerin.jacob@caviumnetworks.com > Subject: [PATCH 5/5] config: enable dpaaX drivers compilation for ARMv8 > X-Mailer: git-send-email 2.7.4 > > This patch enables the NXP DPAA & DPAA2 drivers for > ARMV8 targets. They can be used with standard armv8 config > with command line mempool argument or newly introduced > platform mempool internal registration mechanism. > > Note that the dpaa(x) specific config files are still preserved > to continue customer support. They also contain some of the ARM > performance tuning flags. e.g the default ARM cache size of 128 > is not optimal for NXP platforms. > > However, these configs will eventually be removed once a dynamic > mechanisms are developed to detect the performance settings. > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > --- > config/common_armv8a_linuxapp | 58 +++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 58 insertions(+) > > diff --git a/config/common_armv8a_linuxapp b/config/common_armv8a_linuxapp > index 790e716..572db11 100644 > --- a/config/common_armv8a_linuxapp > +++ b/config/common_armv8a_linuxapp > @@ -34,3 +34,61 @@ CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n > CONFIG_RTE_LIBRTE_AVP_PMD=n > > CONFIG_RTE_SCHED_VECTOR=n > + > +# > +# ARMv8 Specific driver compilation flags > +# Will it be better if it is enabled in generic config? If you have any assembly code then you just stub it for non arm64. Since these are integrate controllers, I guess, there is no issue in stubbing the non arm64 specific things. I believe in that way, it will be maintainable. i.e there will not any case where arm64 config failing but not non arm64 configs. On the upside, The common code(ethdev, cryptodev) changes will be build against your driver by all the developers. > + > +# > +# Compile NXP DPAA Bus > +# > +CONFIG_RTE_LIBRTE_DPAA_BUS=y > +CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n > + > +# > +# Compile NXP DPAA2 FSL-MC Bus > +# > +CONFIG_RTE_LIBRTE_FSLMC_BUS=y > + > +# > +# Compile NXP DPAA Mempool > +# > +CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=y > + > +# > +# Compile NXP DPAA2 Mempool > +# > +CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=y > + > +# > +# Compile bust-oriented NXP DPAA PMD > +# > +CONFIG_RTE_LIBRTE_DPAA_PMD=y > + > +# > +# Compile burst-oriented NXP DPAA2 PMD driver > +# > +CONFIG_RTE_LIBRTE_DPAA2_PMD=y > + > +# > +# Compile schedule-oriented NXP DPAA Event Dev PMD > +# > +CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=y > + > +# > +# Compile schedule-oriented NXP DPAA2 EVENTDEV driver > +# > +CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=y > + > +# > +# Compile NXP DPAA caam - crypto driver > +# > +CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=y > +CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4 > +CONFIG_RTE_DPAA_SEC_PMD_MAX_NB_SESSIONS=2048 > + > +# > +# Compile NXP DPAA2 crypto sec driver for CAAM HW > +# > +CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=y > +CONFIG_RTE_DPAA2_SEC_PMD_MAX_NB_SESSIONS=2048 > -- > 2.7.4 >
Hi Jerin, On 1/25/2018 4:51 PM, Jerin Jacob wrote: > -----Original Message----- >> Date: Thu, 25 Jan 2018 15:23:31 +0530 >> From: Hemant Agrawal <hemant.agrawal@nxp.com> >> To: dev@dpdk.org >> CC: jerin.jacob@caviumnetworks.com >> Subject: [PATCH 5/5] config: enable dpaaX drivers compilation for ARMv8 >> X-Mailer: git-send-email 2.7.4 >> >> This patch enables the NXP DPAA & DPAA2 drivers for >> ARMV8 targets. They can be used with standard armv8 config >> with command line mempool argument or newly introduced >> platform mempool internal registration mechanism. >> >> Note that the dpaa(x) specific config files are still preserved >> to continue customer support. They also contain some of the ARM >> performance tuning flags. e.g the default ARM cache size of 128 >> is not optimal for NXP platforms. >> >> However, these configs will eventually be removed once a dynamic >> mechanisms are developed to detect the performance settings. >> >> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> >> --- >> config/common_armv8a_linuxapp | 58 +++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 58 insertions(+) >> >> diff --git a/config/common_armv8a_linuxapp b/config/common_armv8a_linuxapp >> index 790e716..572db11 100644 >> --- a/config/common_armv8a_linuxapp >> +++ b/config/common_armv8a_linuxapp >> @@ -34,3 +34,61 @@ CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n >> CONFIG_RTE_LIBRTE_AVP_PMD=n >> >> CONFIG_RTE_SCHED_VECTOR=n >> + >> +# >> +# ARMv8 Specific driver compilation flags >> +# > > Will it be better if it is enabled in generic config? > > If you have any assembly code then you just stub it for non arm64. > Since these are integrate controllers, I guess, there is no issue in > stubbing the non arm64 specific things. > > I believe in that way, it will be maintainable. i.e there will not > any case where arm64 config failing but not non arm64 configs. > > On the upside, The common code(ethdev, cryptodev) changes will be build > against your driver by all the developers. It is a good suggestion and we did attempted it and realized that the amount of changes required are more than expected. We will attempt it for next release. However, if you are ok, please ack it in ARM for now.
On 1/30/2018 2:12 PM, Hemant Agrawal wrote: > Hi Jerin, > > On 1/25/2018 4:51 PM, Jerin Jacob wrote: >> -----Original Message----- >>> Date: Thu, 25 Jan 2018 15:23:31 +0530 >>> From: Hemant Agrawal <hemant.agrawal@nxp.com> >>> To: dev@dpdk.org >>> CC: jerin.jacob@caviumnetworks.com >>> Subject: [PATCH 5/5] config: enable dpaaX drivers compilation for ARMv8 >>> X-Mailer: git-send-email 2.7.4 >>> >>> This patch enables the NXP DPAA & DPAA2 drivers for >>> ARMV8 targets. They can be used with standard armv8 config >>> with command line mempool argument or newly introduced >>> platform mempool internal registration mechanism. >>> >>> Note that the dpaa(x) specific config files are still preserved >>> to continue customer support. They also contain some of the ARM >>> performance tuning flags. e.g the default ARM cache size of 128 >>> is not optimal for NXP platforms. >>> >>> However, these configs will eventually be removed once a dynamic >>> mechanisms are developed to detect the performance settings. >>> >>> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> >>> --- >>> config/common_armv8a_linuxapp | 58 >>> +++++++++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 58 insertions(+) >>> >>> diff --git a/config/common_armv8a_linuxapp >>> b/config/common_armv8a_linuxapp >>> index 790e716..572db11 100644 >>> --- a/config/common_armv8a_linuxapp >>> +++ b/config/common_armv8a_linuxapp >>> @@ -34,3 +34,61 @@ CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n >>> CONFIG_RTE_LIBRTE_AVP_PMD=n >>> CONFIG_RTE_SCHED_VECTOR=n >>> + >>> +# >>> +# ARMv8 Specific driver compilation flags >>> +# >> >> Will it be better if it is enabled in generic config? >> >> If you have any assembly code then you just stub it for non arm64. >> Since these are integrate controllers, I guess, there is no issue in >> stubbing the non arm64 specific things. >> >> I believe in that way, it will be maintainable. i.e there will not >> any case where arm64 config failing but not non arm64 configs. >> >> On the upside, The common code(ethdev, cryptodev) changes will be build >> against your driver by all the developers. > > It is a good suggestion and we did attempted it and realized that the > amount of changes required are more than expected. > We will attempt it for next release. > > However, if you are ok, please ack it in ARM for now. > > I take it back. I figured out easy changes to make it compile for x86 as well. We will submit the v2.
On 1/30/2018 3:03 PM, Hemant Agrawal wrote: > On 1/30/2018 2:12 PM, Hemant Agrawal wrote: >> Hi Jerin, >> >> On 1/25/2018 4:51 PM, Jerin Jacob wrote: >>> -----Original Message----- >>>> Date: Thu, 25 Jan 2018 15:23:31 +0530 >>>> From: Hemant Agrawal <hemant.agrawal@nxp.com> >>>> To: dev@dpdk.org >>>> CC: jerin.jacob@caviumnetworks.com >>>> Subject: [PATCH 5/5] config: enable dpaaX drivers compilation for ARMv8 >>>> X-Mailer: git-send-email 2.7.4 >>>> >>>> This patch enables the NXP DPAA & DPAA2 drivers for >>>> ARMV8 targets. They can be used with standard armv8 config >>>> with command line mempool argument or newly introduced >>>> platform mempool internal registration mechanism. >>>> >>>> Note that the dpaa(x) specific config files are still preserved >>>> to continue customer support. They also contain some of the ARM >>>> performance tuning flags. e.g the default ARM cache size of 128 >>>> is not optimal for NXP platforms. >>>> >>>> However, these configs will eventually be removed once a dynamic >>>> mechanisms are developed to detect the performance settings. >>>> >>>> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> >>>> --- >>>> config/common_armv8a_linuxapp | 58 >>>> +++++++++++++++++++++++++++++++++++++++++++ >>>> 1 file changed, 58 insertions(+) >>>> >>>> diff --git a/config/common_armv8a_linuxapp >>>> b/config/common_armv8a_linuxapp >>>> index 790e716..572db11 100644 >>>> --- a/config/common_armv8a_linuxapp >>>> +++ b/config/common_armv8a_linuxapp >>>> @@ -34,3 +34,61 @@ CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n >>>> CONFIG_RTE_LIBRTE_AVP_PMD=n >>>> CONFIG_RTE_SCHED_VECTOR=n >>>> + >>>> +# >>>> +# ARMv8 Specific driver compilation flags >>>> +# >>> >>> Will it be better if it is enabled in generic config? >>> >>> If you have any assembly code then you just stub it for non arm64. >>> Since these are integrate controllers, I guess, there is no issue in >>> stubbing the non arm64 specific things. >>> >>> I believe in that way, it will be maintainable. i.e there will not >>> any case where arm64 config failing but not non arm64 configs. >>> >>> On the upside, The common code(ethdev, cryptodev) changes will be build >>> against your driver by all the developers. >> >> It is a good suggestion and we did attempted it and realized that the >> amount of changes required are more than expected. >> We will attempt it for next release. >> >> However, if you are ok, please ack it in ARM for now. >> >> > I take it back. I figured out easy changes to make it compile for x86 as > well. > > We will submit the v2. > I think, we need to leave this patch as it is for this release. We are running into freebsd issue w.r.t common_base and 32 bit issues with common_linuxapp. We will do these changes incrementally in next release.
-----Original Message----- > Date: Tue, 30 Jan 2018 20:13:00 +0530 > From: Hemant Agrawal <hemant.agrawal@nxp.com> > To: Jerin Jacob <jerin.jacob@caviumnetworks.com> > CC: dev@dpdk.org > Subject: Re: [PATCH 5/5] config: enable dpaaX drivers compilation for ARMv8 > User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 > Thunderbird/52.6.0 > > On 1/30/2018 3:03 PM, Hemant Agrawal wrote: > > On 1/30/2018 2:12 PM, Hemant Agrawal wrote: > > > Hi Jerin, > > > > > > On 1/25/2018 4:51 PM, Jerin Jacob wrote: > > > > -----Original Message----- > > > > > Date: Thu, 25 Jan 2018 15:23:31 +0530 > > > > > From: Hemant Agrawal <hemant.agrawal@nxp.com> > > > > > To: dev@dpdk.org > > > > > CC: jerin.jacob@caviumnetworks.com > > > > > Subject: [PATCH 5/5] config: enable dpaaX drivers compilation for ARMv8 > > > > > X-Mailer: git-send-email 2.7.4 > > > > > > > > > > This patch enables the NXP DPAA & DPAA2 drivers for > > > > > ARMV8 targets. They can be used with standard armv8 config > > > > > with command line mempool argument or newly introduced > > > > > platform mempool internal registration mechanism. > > > > > > > > > > Note that the dpaa(x) specific config files are still preserved > > > > > to continue customer support. They also contain some of the ARM > > > > > performance tuning flags. e.g the default ARM cache size of 128 > > > > > is not optimal for NXP platforms. > > > > > > > > > > However, these configs will eventually be removed once a dynamic > > > > > mechanisms are developed to detect the performance settings. > > > > > > > > > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > > > > > --- > > > > > config/common_armv8a_linuxapp | 58 > > > > > +++++++++++++++++++++++++++++++++++++++++++ > > > > > 1 file changed, 58 insertions(+) > > > > > > > > > > diff --git a/config/common_armv8a_linuxapp > > > > > b/config/common_armv8a_linuxapp > > > > > index 790e716..572db11 100644 > > > > > --- a/config/common_armv8a_linuxapp > > > > > +++ b/config/common_armv8a_linuxapp > > > > > @@ -34,3 +34,61 @@ CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n > > > > > CONFIG_RTE_LIBRTE_AVP_PMD=n > > > > > CONFIG_RTE_SCHED_VECTOR=n > > > > > + > > > > > +# > > > > > +# ARMv8 Specific driver compilation flags > > > > > +# > > > > > > > > Will it be better if it is enabled in generic config? > > > > > > > > If you have any assembly code then you just stub it for non arm64. > > > > Since these are integrate controllers, I guess, there is no issue in > > > > stubbing the non arm64 specific things. > > > > > > > > I believe in that way, it will be maintainable. i.e there will not > > > > any case where arm64 config failing but not non arm64 configs. > > > > > > > > On the upside, The common code(ethdev, cryptodev) changes will be build > > > > against your driver by all the developers. > > > > > > It is a good suggestion and we did attempted it and realized that > > > the amount of changes required are more than expected. > > > We will attempt it for next release. > > > > > > However, if you are ok, please ack it in ARM for now. > > > > > > > > I take it back. I figured out easy changes to make it compile for x86 as > > well. > > > > We will submit the v2. > > > I think, we need to leave this patch as it is for this release. > > We are running into freebsd issue w.r.t common_base > and 32 bit issues with common_linuxapp. > > We will do these changes incrementally in next release. OK. Please make these changes in next release. Even in the context of meson build, it make sense to move common config. architecture specific config should be just arch specific things. Please move to common config in next release.
diff --git a/config/common_armv8a_linuxapp b/config/common_armv8a_linuxapp index 790e716..572db11 100644 --- a/config/common_armv8a_linuxapp +++ b/config/common_armv8a_linuxapp @@ -34,3 +34,61 @@ CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n CONFIG_RTE_LIBRTE_AVP_PMD=n CONFIG_RTE_SCHED_VECTOR=n + +# +# ARMv8 Specific driver compilation flags +# + +# +# Compile NXP DPAA Bus +# +CONFIG_RTE_LIBRTE_DPAA_BUS=y +CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n + +# +# Compile NXP DPAA2 FSL-MC Bus +# +CONFIG_RTE_LIBRTE_FSLMC_BUS=y + +# +# Compile NXP DPAA Mempool +# +CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=y + +# +# Compile NXP DPAA2 Mempool +# +CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=y + +# +# Compile bust-oriented NXP DPAA PMD +# +CONFIG_RTE_LIBRTE_DPAA_PMD=y + +# +# Compile burst-oriented NXP DPAA2 PMD driver +# +CONFIG_RTE_LIBRTE_DPAA2_PMD=y + +# +# Compile schedule-oriented NXP DPAA Event Dev PMD +# +CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=y + +# +# Compile schedule-oriented NXP DPAA2 EVENTDEV driver +# +CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=y + +# +# Compile NXP DPAA caam - crypto driver +# +CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=y +CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4 +CONFIG_RTE_DPAA_SEC_PMD_MAX_NB_SESSIONS=2048 + +# +# Compile NXP DPAA2 crypto sec driver for CAAM HW +# +CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=y +CONFIG_RTE_DPAA2_SEC_PMD_MAX_NB_SESSIONS=2048
This patch enables the NXP DPAA & DPAA2 drivers for ARMV8 targets. They can be used with standard armv8 config with command line mempool argument or newly introduced platform mempool internal registration mechanism. Note that the dpaa(x) specific config files are still preserved to continue customer support. They also contain some of the ARM performance tuning flags. e.g the default ARM cache size of 128 is not optimal for NXP platforms. However, these configs will eventually be removed once a dynamic mechanisms are developed to detect the performance settings. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> --- config/common_armv8a_linuxapp | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) -- 2.7.4