Message ID | 20191101124210.14510-36-linux@rasmusvillemoes.dk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | QUICC Engine support on ARM | expand |
Le 01/11/2019 à 13:42, Rasmus Villemoes a écrit : > Currently, FSL_UCC_HDLC depends on QUICC_ENGINE, which in turn depends > on PPC32. As preparation for removing the latter and thus allowing the > core QE code to be built for other architectures, make FSL_UCC_HDLC > explicitly depend on PPC32. Is that really powerpc specific ? Can't the ARM QE perform HDLC on UCC ? Christophe > > Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> > --- > drivers/net/wan/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wan/Kconfig b/drivers/net/wan/Kconfig > index dd1a147f2971..78785d790bcc 100644 > --- a/drivers/net/wan/Kconfig > +++ b/drivers/net/wan/Kconfig > @@ -270,7 +270,7 @@ config FARSYNC > config FSL_UCC_HDLC > tristate "Freescale QUICC Engine HDLC support" > depends on HDLC > - depends on QUICC_ENGINE > + depends on QUICC_ENGINE && PPC32 > help > Driver for Freescale QUICC Engine HDLC controller. The driver > supports HDLC in NMSI and TDM mode. >
> -----Original Message----- > From: Christophe Leroy <christophe.leroy@c-s.fr> > Sent: Friday, November 1, 2019 11:30 AM > To: Rasmus Villemoes <linux@rasmusvillemoes.dk>; Qiang Zhao > <qiang.zhao@nxp.com>; Leo Li <leoyang.li@nxp.com> > Cc: linuxppc-dev@lists.ozlabs.org; linux-arm-kernel@lists.infradead.org; > linux-kernel@vger.kernel.org; Scott Wood <oss@buserror.net>; > netdev@vger.kernel.org > Subject: Re: [PATCH v3 35/36] net/wan: make FSL_UCC_HDLC explicitly > depend on PPC32 > > > > Le 01/11/2019 à 13:42, Rasmus Villemoes a écrit : > > Currently, FSL_UCC_HDLC depends on QUICC_ENGINE, which in turn > depends > > on PPC32. As preparation for removing the latter and thus allowing the > > core QE code to be built for other architectures, make FSL_UCC_HDLC > > explicitly depend on PPC32. > > Is that really powerpc specific ? Can't the ARM QE perform HDLC on UCC ? No. Actually the HDLC and TDM are the major reason to integrate a QE on the ARM based Layerscape SoCs. Since Rasmus doesn't have the hardware to test this feature Qiang Zhao probably can help verify the functionality of TDM and we can drop this patch. Regards, Leo > > Christophe > > > > > Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> > > --- > > drivers/net/wan/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/wan/Kconfig b/drivers/net/wan/Kconfig index > > dd1a147f2971..78785d790bcc 100644 > > --- a/drivers/net/wan/Kconfig > > +++ b/drivers/net/wan/Kconfig > > @@ -270,7 +270,7 @@ config FARSYNC > > config FSL_UCC_HDLC > > tristate "Freescale QUICC Engine HDLC support" > > depends on HDLC > > - depends on QUICC_ENGINE > > + depends on QUICC_ENGINE && PPC32 > > help > > Driver for Freescale QUICC Engine HDLC controller. The driver > > supports HDLC in NMSI and TDM mode. > >
On 01/11/2019 23.31, Leo Li wrote: > > >> -----Original Message----- >> From: Christophe Leroy <christophe.leroy@c-s.fr> >> Sent: Friday, November 1, 2019 11:30 AM >> To: Rasmus Villemoes <linux@rasmusvillemoes.dk>; Qiang Zhao >> <qiang.zhao@nxp.com>; Leo Li <leoyang.li@nxp.com> >> Cc: linuxppc-dev@lists.ozlabs.org; linux-arm-kernel@lists.infradead.org; >> linux-kernel@vger.kernel.org; Scott Wood <oss@buserror.net>; >> netdev@vger.kernel.org >> Subject: Re: [PATCH v3 35/36] net/wan: make FSL_UCC_HDLC explicitly >> depend on PPC32 >> >> >> >> Le 01/11/2019 à 13:42, Rasmus Villemoes a écrit : >>> Currently, FSL_UCC_HDLC depends on QUICC_ENGINE, which in turn >> depends >>> on PPC32. As preparation for removing the latter and thus allowing the >>> core QE code to be built for other architectures, make FSL_UCC_HDLC >>> explicitly depend on PPC32. >> >> Is that really powerpc specific ? Can't the ARM QE perform HDLC on UCC ? I think the driver would build on ARM. Whether it works I don't know. I know it does not build on 64 bit hosts (see kbuild report for v2,23/23). > No. Actually the HDLC and TDM are the major reason to integrate a QE on the ARM based Layerscape SoCs. [citation needed]. > Since Rasmus doesn't have the hardware to test this feature Qiang Zhao probably can help verify the functionality of TDM and we can drop this patch. No, this patch cannot be dropped. Please see the kbuild complaints for v2,23/23 about use of IS_ERR_VALUE on not-sizeof(long) entities. I see kbuild has complained about the same thing for v3 since apparently the same thing appears in ucc_slow.c. So I'll fix that. Moreover, as you say and know, I do not have the hardware to test it, so I'm not going to even attempt to fix up fsl_ucc_hdlc.c. If Qiang Zhao or somebody else can verify that it works just fine on ARM and fixes the allmodconfig problem(s), he/she is more than welcome to sign off on a patch that removes the CONFIG_PPC32 dependency or replaces it with something else. Rasmus
On Mon, Nov 4, 2019 at 2:39 AM Rasmus Villemoes <linux@rasmusvillemoes.dk> wrote: > > On 01/11/2019 23.31, Leo Li wrote: > > > > > >> -----Original Message----- > >> From: Christophe Leroy <christophe.leroy@c-s.fr> > >> Sent: Friday, November 1, 2019 11:30 AM > >> To: Rasmus Villemoes <linux@rasmusvillemoes.dk>; Qiang Zhao > >> <qiang.zhao@nxp.com>; Leo Li <leoyang.li@nxp.com> > >> Cc: linuxppc-dev@lists.ozlabs.org; linux-arm-kernel@lists.infradead.org; > >> linux-kernel@vger.kernel.org; Scott Wood <oss@buserror.net>; > >> netdev@vger.kernel.org > >> Subject: Re: [PATCH v3 35/36] net/wan: make FSL_UCC_HDLC explicitly > >> depend on PPC32 > >> > >> > >> > >> Le 01/11/2019 à 13:42, Rasmus Villemoes a écrit : > >>> Currently, FSL_UCC_HDLC depends on QUICC_ENGINE, which in turn > >> depends > >>> on PPC32. As preparation for removing the latter and thus allowing the > >>> core QE code to be built for other architectures, make FSL_UCC_HDLC > >>> explicitly depend on PPC32. > >> > >> Is that really powerpc specific ? Can't the ARM QE perform HDLC on UCC ? > > I think the driver would build on ARM. Whether it works I don't know. I > know it does not build on 64 bit hosts (see kbuild report for v2,23/23). The problem for arm64 can be easy to fix. Actually I don't think it is neccessarily to be compiled on all architectures except powerpc, arm and arm64. I am surprised that you made the core QE code compile for all architecture(although still have some kbuild warnings) > > > No. Actually the HDLC and TDM are the major reason to integrate a QE on the ARM based Layerscape SoCs. > > [citation needed]. I got this message from our marketing team. Also it is reflected on marketing materials like https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/layerscape-communication-process/qoriq-layerscape-1043a-and-1023a-multicore-communications-processors:LS1043A "The QorIQ LS1043A ... integrated QUICC Engine® for legacy glue-less HDLC, TDM or Profibus support." > > > Since Rasmus doesn't have the hardware to test this feature Qiang Zhao probably can help verify the functionality of TDM and we can drop this patch. > > No, this patch cannot be dropped. Please see the kbuild complaints for > v2,23/23 about use of IS_ERR_VALUE on not-sizeof(long) entities. I see > kbuild has complained about the same thing for v3 since apparently the > same thing appears in ucc_slow.c. So I'll fix that. When I made this comment I didn't notice you have removed all the architectural dependencies for CONFIG_QUICC_ENGINE. If the QUICC_ENGINE is only buidable on powerpc, arm and arm64, this change will not be needed. BTW, I'm not sure if it is a good idea to make it selectable on these unrelavent architectures. Real architectural dependencies and COMPILE_TEST dependency will be better if we really want to test the buildability on other platforms. Regards, Leo
On 01/11/2019 23:31, Rasmus Villemoes wrote : > -----Original Message----- > From: Rasmus Villemoes <linux@rasmusvillemoes.dk> > Sent: 2019年11月4日 16:38 > To: Leo Li <leoyang.li@nxp.com>; Christophe Leroy <christophe.leroy@c-s.fr>; > Qiang Zhao <qiang.zhao@nxp.com> > Cc: linuxppc-dev@lists.ozlabs.org; linux-arm-kernel@lists.infradead.org; > linux-kernel@vger.kernel.org; Scott Wood <oss@buserror.net>; > netdev@vger.kernel.org > Subject: Re: [PATCH v3 35/36] net/wan: make FSL_UCC_HDLC explicitly depend > on PPC32 > > On 01/11/2019 23.31, Leo Li wrote: > > > > > >> -----Original Message----- > >> From: Christophe Leroy <christophe.leroy@c-s.fr> > >> Sent: Friday, November 1, 2019 11:30 AM > >> To: Rasmus Villemoes <linux@rasmusvillemoes.dk>; Qiang Zhao > >> <qiang.zhao@nxp.com>; Leo Li <leoyang.li@nxp.com> > >> Cc: linuxppc-dev@lists.ozlabs.org; > >> linux-arm-kernel@lists.infradead.org; > >> linux-kernel@vger.kernel.org; Scott Wood <oss@buserror.net>; > >> netdev@vger.kernel.org > >> Subject: Re: [PATCH v3 35/36] net/wan: make FSL_UCC_HDLC explicitly > >> depend on PPC32 > >> > >> > >> > >> Le 01/11/2019 à 13:42, Rasmus Villemoes a écrit : > >>> Currently, FSL_UCC_HDLC depends on QUICC_ENGINE, which in turn > >> depends > >>> on PPC32. As preparation for removing the latter and thus allowing > >>> the core QE code to be built for other architectures, make > >>> FSL_UCC_HDLC explicitly depend on PPC32. > >> > >> Is that really powerpc specific ? Can't the ARM QE perform HDLC on UCC ? > > I think the driver would build on ARM. Whether it works I don't know. I know it > does not build on 64 bit hosts (see kbuild report for v2,23/23). > > > No. Actually the HDLC and TDM are the major reason to integrate a QE on > the ARM based Layerscape SoCs. > > [citation needed]. > > > Since Rasmus doesn't have the hardware to test this feature Qiang Zhao > probably can help verify the functionality of TDM and we can drop this patch. > > No, this patch cannot be dropped. Please see the kbuild complaints for > v2,23/23 about use of IS_ERR_VALUE on not-sizeof(long) entities. I see kbuild > has complained about the same thing for v3 since apparently the same thing > appears in ucc_slow.c. So I'll fix that. > > Moreover, as you say and know, I do not have the hardware to test it, so I'm > not going to even attempt to fix up fsl_ucc_hdlc.c. If Qiang Zhao or somebody > else can verify that it works just fine on ARM and fixes the allmodconfig > problem(s), he/she is more than welcome to sign off on a patch that removes > the CONFIG_PPC32 dependency or replaces it with something else. > I tested your v3 patches on ls1043ardb which is arm64 for fsl_ucc_hdlc, it can work, Only it will put a compile warning, I also made a patch to fix it. I can send a patch to remove PPC32 dependency when I send my patch to support ARM64. Or I add my patch in your patchset. Best Regards Qiang Zhao
On 04/11/2019 21.56, Li Yang wrote: >> No, this patch cannot be dropped. Please see the kbuild complaints for >> v2,23/23 about use of IS_ERR_VALUE on not-sizeof(long) entities. I see >> kbuild has complained about the same thing for v3 since apparently the >> same thing appears in ucc_slow.c. So I'll fix that. > > When I made this comment I didn't notice you have removed all the > architectural dependencies for CONFIG_QUICC_ENGINE. If the > QUICC_ENGINE is only buidable on powerpc, arm and arm64, this change > will not be needed. > > BTW, I'm not sure if it is a good idea to make it selectable on these > unrelavent architectures. Real architectural dependencies and > COMPILE_TEST dependency will be better if we really want to test the > buildability on other platforms. Well, making QUICC_ENGINE depend on PPC32 || ARM would certainly make things easier for me. Once you include ARM64 or any other 64 bit architecture the buildbot complaints start rolling in from the IS_ERR_VALUEs. And ARM64 should be supported as well, so there really isn't much difference between dropping all arch restrictions and listing the relevant archs in the Kconfig dependencies. Rasmus
On Tue, Nov 5, 2019 at 4:47 PM Rasmus Villemoes <linux@rasmusvillemoes.dk> wrote: > > On 04/11/2019 21.56, Li Yang wrote: > > >> No, this patch cannot be dropped. Please see the kbuild complaints for > >> v2,23/23 about use of IS_ERR_VALUE on not-sizeof(long) entities. I see > >> kbuild has complained about the same thing for v3 since apparently the > >> same thing appears in ucc_slow.c. So I'll fix that. > > > > When I made this comment I didn't notice you have removed all the > > architectural dependencies for CONFIG_QUICC_ENGINE. If the > > QUICC_ENGINE is only buidable on powerpc, arm and arm64, this change > > will not be needed. > > > > BTW, I'm not sure if it is a good idea to make it selectable on these > > unrelavent architectures. Real architectural dependencies and > > COMPILE_TEST dependency will be better if we really want to test the > > buildability on other platforms. > > Well, making QUICC_ENGINE depend on PPC32 || ARM would certainly make > things easier for me. Once you include ARM64 or any other 64 bit > architecture the buildbot complaints start rolling in from the > IS_ERR_VALUEs. And ARM64 should be supported as well, so there really > isn't much difference between dropping all arch restrictions and listing > the relevant archs in the Kconfig dependencies. I agree that it will be good to have the driver compile for all architectures for compile test. But list all the relevant architectures and CONFIG_COMPILE_TEST as dependencies will make it not really selected for these irrelevant architectures in real system. Regards, Leo
On 05/11/2019 07.16, Qiang Zhao wrote: > > I tested your v3 patches on ls1043ardb which is arm64 for fsl_ucc_hdlc, it can work, > Only it will put a compile warning, I also made a patch to fix it. > I can send a patch to remove PPC32 dependency when I send my patch to support ARM64. > Or I add my patch in your patchset. Please send your patch (without whatever Kconfig hunk you needed to add) with a proper changelog etc. If it looks reasonable (to me, reviewers of the whole thing obviously also need to agree), I'll include it in my series and drop adding the PPC32 addition to FSL_UCC_HDLC. Otherwise I'll keep that and then you can later drop the PPC32 dependency. Rasmus
diff --git a/drivers/net/wan/Kconfig b/drivers/net/wan/Kconfig index dd1a147f2971..78785d790bcc 100644 --- a/drivers/net/wan/Kconfig +++ b/drivers/net/wan/Kconfig @@ -270,7 +270,7 @@ config FARSYNC config FSL_UCC_HDLC tristate "Freescale QUICC Engine HDLC support" depends on HDLC - depends on QUICC_ENGINE + depends on QUICC_ENGINE && PPC32 help Driver for Freescale QUICC Engine HDLC controller. The driver supports HDLC in NMSI and TDM mode.
Currently, FSL_UCC_HDLC depends on QUICC_ENGINE, which in turn depends on PPC32. As preparation for removing the latter and thus allowing the core QE code to be built for other architectures, make FSL_UCC_HDLC explicitly depend on PPC32. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- drivers/net/wan/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)