* Re: [PATCH] powerpc/qe_lib: Share the qe_lib for the others architecture [not found] ` <8559CF98-88E4-4271-A873-1409359EFE5C@kernel.crashing.org> @ 2013-10-14 19:40 ` Kumar Gala 2013-10-14 20:09 ` Greg Kroah-Hartman 0 siblings, 1 reply; 4+ messages in thread From: Kumar Gala @ 2013-10-14 19:40 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Scott Wood, Xie Xiaobo, linuxppc-dev@lists.ozlabs.org list, Linux Kernel list On Oct 14, 2013, at 2:26 PM, Kumar Gala wrote: > > On Oct 14, 2013, at 6:37 AM, Xie Xiaobo wrote: > >> The QUICC Engine (QE) is a communications coprocessors on Freescale >> embedded processors. The QE had been applied in PowerPC architecture >> previously, and it will be applied in ARM architecture too. >> So move the qe_lib from arch/powerpc to driver/ firstly. >> >> Signed-off-by: Xie Xiaobo <X.Xie@freescale.com> >> --- >> arch/powerpc/Kconfig | 2 - >> arch/powerpc/include/asm/immap_qe.h | 491 ----------------- >> arch/powerpc/include/asm/qe.h | 740 ------------------------- >> arch/powerpc/include/asm/qe_ic.h | 144 ----- >> arch/powerpc/include/asm/ucc.h | 64 --- >> arch/powerpc/include/asm/ucc_fast.h | 244 -------- >> arch/powerpc/include/asm/ucc_slow.h | 290 ---------- >> arch/powerpc/platforms/85xx/mpc85xx_mds.c | 4 +- >> arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 4 +- >> arch/powerpc/platforms/Kconfig | 19 - >> arch/powerpc/sysdev/Makefile | 1 - >> arch/powerpc/sysdev/qe_lib/Kconfig | 27 - >> arch/powerpc/sysdev/qe_lib/Makefile | 10 - >> arch/powerpc/sysdev/qe_lib/gpio.c | 317 ----------- >> arch/powerpc/sysdev/qe_lib/qe.c | 708 ------------------------ >> arch/powerpc/sysdev/qe_lib/qe_ic.c | 501 ----------------- >> arch/powerpc/sysdev/qe_lib/qe_ic.h | 103 ---- >> arch/powerpc/sysdev/qe_lib/qe_io.c | 218 -------- >> arch/powerpc/sysdev/qe_lib/ucc.c | 213 ------- >> arch/powerpc/sysdev/qe_lib/ucc_fast.c | 364 ------------ >> arch/powerpc/sysdev/qe_lib/ucc_slow.c | 380 ------------- >> arch/powerpc/sysdev/qe_lib/usb.c | 56 -- >> drivers/Kconfig | 2 + >> drivers/Makefile | 3 + >> drivers/net/ethernet/freescale/fsl_pq_mdio.c | 2 +- >> drivers/net/ethernet/freescale/ucc_geth.c | 8 +- >> drivers/net/ethernet/freescale/ucc_geth.h | 8 +- >> drivers/qe/Kconfig | 51 ++ >> drivers/qe/Makefile | 10 + >> drivers/qe/gpio.c | 317 +++++++++++ >> drivers/qe/qe.c | 708 ++++++++++++++++++++++++ >> drivers/qe/qe_common.c | 187 +++++++ >> drivers/qe/qe_ic.c | 501 +++++++++++++++++ >> drivers/qe/qe_ic.h | 103 ++++ >> drivers/qe/qe_io.c | 218 ++++++++ >> drivers/qe/ucc.c | 213 +++++++ >> drivers/qe/ucc_fast.c | 364 ++++++++++++ >> drivers/qe/ucc_slow.c | 380 +++++++++++++ >> drivers/qe/usb.c | 56 ++ >> drivers/spi/spi-fsl-cpm.c | 2 +- >> drivers/tty/serial/ucc_uart.c | 2 +- >> include/qe/immap_qe.h | 491 +++++++++++++++++ >> include/qe/qe.h | 794 +++++++++++++++++++++++++++ >> include/qe/qe_ic.h | 144 +++++ >> include/qe/ucc.h | 64 +++ >> include/qe/ucc_fast.h | 244 ++++++++ >> include/qe/ucc_slow.h | 290 ++++++++++ >> 47 files changed, 5155 insertions(+), 4907 deletions(-) >> delete mode 100644 arch/powerpc/include/asm/immap_qe.h >> delete mode 100644 arch/powerpc/include/asm/qe.h >> delete mode 100644 arch/powerpc/include/asm/qe_ic.h >> delete mode 100644 arch/powerpc/include/asm/ucc.h >> delete mode 100644 arch/powerpc/include/asm/ucc_fast.h >> delete mode 100644 arch/powerpc/include/asm/ucc_slow.h >> delete mode 100644 arch/powerpc/sysdev/qe_lib/Kconfig >> delete mode 100644 arch/powerpc/sysdev/qe_lib/Makefile >> delete mode 100644 arch/powerpc/sysdev/qe_lib/gpio.c >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe.c >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe_ic.c >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe_ic.h >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe_io.c >> delete mode 100644 arch/powerpc/sysdev/qe_lib/ucc.c >> delete mode 100644 arch/powerpc/sysdev/qe_lib/ucc_fast.c >> delete mode 100644 arch/powerpc/sysdev/qe_lib/ucc_slow.c >> delete mode 100644 arch/powerpc/sysdev/qe_lib/usb.c >> create mode 100644 drivers/qe/Kconfig >> create mode 100644 drivers/qe/Makefile >> create mode 100644 drivers/qe/gpio.c >> create mode 100644 drivers/qe/qe.c >> create mode 100644 drivers/qe/qe_common.c >> create mode 100644 drivers/qe/qe_ic.c >> create mode 100644 drivers/qe/qe_ic.h >> create mode 100644 drivers/qe/qe_io.c >> create mode 100644 drivers/qe/ucc.c >> create mode 100644 drivers/qe/ucc_fast.c >> create mode 100644 drivers/qe/ucc_slow.c >> create mode 100644 drivers/qe/usb.c >> create mode 100644 include/qe/immap_qe.h >> create mode 100644 include/qe/qe.h >> create mode 100644 include/qe/qe_ic.h >> create mode 100644 include/qe/ucc.h >> create mode 100644 include/qe/ucc_fast.h >> create mode 100644 include/qe/ucc_slow.h > > Before this is moved you should address the PPC specific issues in the code. Use of PPC_LIB_RHEAP, the IO macros which are not cross platform, etc. > > Also, copy linux-kernel list as I'm not sure drivers/qe would be the recommendation location for this to end up at. Greg, Wondering your thoughts on drivers/qe vs something like drivers/soc/fsl/qe. The QuiccEngine (qe) is a communication core on some of the Freescale networking SoCs that provides the ability to do various networking/communication functionality. "Channels" on the QE can be used for various different things from ethernet, ATM, UART, or other functions. I've already commented that some of what is in qe_lib today needs to move to things like drivers/irqchip, drivers/pinctrl, drivers/gpio, etc. However, there will still be some qe specific code that doesn't have a natural home in drivers/ today. - k ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] powerpc/qe_lib: Share the qe_lib for the others architecture 2013-10-14 19:40 ` [PATCH] powerpc/qe_lib: Share the qe_lib for the others architecture Kumar Gala @ 2013-10-14 20:09 ` Greg Kroah-Hartman 2013-10-15 13:16 ` Gerhard Sittig 0 siblings, 1 reply; 4+ messages in thread From: Greg Kroah-Hartman @ 2013-10-14 20:09 UTC (permalink / raw) To: Kumar Gala Cc: Scott Wood, Xie Xiaobo, linuxppc-dev@lists.ozlabs.org list, Linux Kernel list On Mon, Oct 14, 2013 at 02:40:44PM -0500, Kumar Gala wrote: > > On Oct 14, 2013, at 2:26 PM, Kumar Gala wrote: > > > > > On Oct 14, 2013, at 6:37 AM, Xie Xiaobo wrote: > > > >> The QUICC Engine (QE) is a communications coprocessors on Freescale > >> embedded processors. The QE had been applied in PowerPC architecture > >> previously, and it will be applied in ARM architecture too. > >> So move the qe_lib from arch/powerpc to driver/ firstly. > >> > >> Signed-off-by: Xie Xiaobo <X.Xie@freescale.com> > >> --- > >> arch/powerpc/Kconfig | 2 - > >> arch/powerpc/include/asm/immap_qe.h | 491 ----------------- > >> arch/powerpc/include/asm/qe.h | 740 ------------------------- > >> arch/powerpc/include/asm/qe_ic.h | 144 ----- > >> arch/powerpc/include/asm/ucc.h | 64 --- > >> arch/powerpc/include/asm/ucc_fast.h | 244 -------- > >> arch/powerpc/include/asm/ucc_slow.h | 290 ---------- > >> arch/powerpc/platforms/85xx/mpc85xx_mds.c | 4 +- > >> arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 4 +- > >> arch/powerpc/platforms/Kconfig | 19 - > >> arch/powerpc/sysdev/Makefile | 1 - > >> arch/powerpc/sysdev/qe_lib/Kconfig | 27 - > >> arch/powerpc/sysdev/qe_lib/Makefile | 10 - > >> arch/powerpc/sysdev/qe_lib/gpio.c | 317 ----------- > >> arch/powerpc/sysdev/qe_lib/qe.c | 708 ------------------------ > >> arch/powerpc/sysdev/qe_lib/qe_ic.c | 501 ----------------- > >> arch/powerpc/sysdev/qe_lib/qe_ic.h | 103 ---- > >> arch/powerpc/sysdev/qe_lib/qe_io.c | 218 -------- > >> arch/powerpc/sysdev/qe_lib/ucc.c | 213 ------- > >> arch/powerpc/sysdev/qe_lib/ucc_fast.c | 364 ------------ > >> arch/powerpc/sysdev/qe_lib/ucc_slow.c | 380 ------------- > >> arch/powerpc/sysdev/qe_lib/usb.c | 56 -- > >> drivers/Kconfig | 2 + > >> drivers/Makefile | 3 + > >> drivers/net/ethernet/freescale/fsl_pq_mdio.c | 2 +- > >> drivers/net/ethernet/freescale/ucc_geth.c | 8 +- > >> drivers/net/ethernet/freescale/ucc_geth.h | 8 +- > >> drivers/qe/Kconfig | 51 ++ > >> drivers/qe/Makefile | 10 + > >> drivers/qe/gpio.c | 317 +++++++++++ > >> drivers/qe/qe.c | 708 ++++++++++++++++++++++++ > >> drivers/qe/qe_common.c | 187 +++++++ > >> drivers/qe/qe_ic.c | 501 +++++++++++++++++ > >> drivers/qe/qe_ic.h | 103 ++++ > >> drivers/qe/qe_io.c | 218 ++++++++ > >> drivers/qe/ucc.c | 213 +++++++ > >> drivers/qe/ucc_fast.c | 364 ++++++++++++ > >> drivers/qe/ucc_slow.c | 380 +++++++++++++ > >> drivers/qe/usb.c | 56 ++ > >> drivers/spi/spi-fsl-cpm.c | 2 +- > >> drivers/tty/serial/ucc_uart.c | 2 +- > >> include/qe/immap_qe.h | 491 +++++++++++++++++ > >> include/qe/qe.h | 794 +++++++++++++++++++++++++++ > >> include/qe/qe_ic.h | 144 +++++ > >> include/qe/ucc.h | 64 +++ > >> include/qe/ucc_fast.h | 244 ++++++++ > >> include/qe/ucc_slow.h | 290 ++++++++++ > >> 47 files changed, 5155 insertions(+), 4907 deletions(-) > >> delete mode 100644 arch/powerpc/include/asm/immap_qe.h > >> delete mode 100644 arch/powerpc/include/asm/qe.h > >> delete mode 100644 arch/powerpc/include/asm/qe_ic.h > >> delete mode 100644 arch/powerpc/include/asm/ucc.h > >> delete mode 100644 arch/powerpc/include/asm/ucc_fast.h > >> delete mode 100644 arch/powerpc/include/asm/ucc_slow.h > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/Kconfig > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/Makefile > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/gpio.c > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe.c > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe_ic.c > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe_ic.h > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/qe_io.c > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/ucc.c > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/ucc_fast.c > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/ucc_slow.c > >> delete mode 100644 arch/powerpc/sysdev/qe_lib/usb.c > >> create mode 100644 drivers/qe/Kconfig > >> create mode 100644 drivers/qe/Makefile > >> create mode 100644 drivers/qe/gpio.c > >> create mode 100644 drivers/qe/qe.c > >> create mode 100644 drivers/qe/qe_common.c > >> create mode 100644 drivers/qe/qe_ic.c > >> create mode 100644 drivers/qe/qe_ic.h > >> create mode 100644 drivers/qe/qe_io.c > >> create mode 100644 drivers/qe/ucc.c > >> create mode 100644 drivers/qe/ucc_fast.c > >> create mode 100644 drivers/qe/ucc_slow.c > >> create mode 100644 drivers/qe/usb.c > >> create mode 100644 include/qe/immap_qe.h > >> create mode 100644 include/qe/qe.h > >> create mode 100644 include/qe/qe_ic.h > >> create mode 100644 include/qe/ucc.h > >> create mode 100644 include/qe/ucc_fast.h > >> create mode 100644 include/qe/ucc_slow.h > > > > Before this is moved you should address the PPC specific issues in the code. Use of PPC_LIB_RHEAP, the IO macros which are not cross platform, etc. > > > > Also, copy linux-kernel list as I'm not sure drivers/qe would be the recommendation location for this to end up at. > > Greg, > > Wondering your thoughts on drivers/qe vs something like > drivers/soc/fsl/qe. The QuiccEngine (qe) is a communication core on > some of the Freescale networking SoCs that provides the ability to do > various networking/communication functionality. "Channels" on the QE > can be used for various different things from ethernet, ATM, UART, or > other functions. What makes the code "QE" specific? Are these devices that live on the QE "bus", or are they controlling the QE controller? It's hard to know what to do with code by just looking at a diffstat, sorry. > I've already commented that some of what is in qe_lib today needs to > move to things like drivers/irqchip, drivers/pinctrl, drivers/gpio, > etc. However, there will still be some qe specific code that doesn't > have a natural home in drivers/ today. Why not move it there now, instead of moving it twice? How will I know the move will ever happen if we accept it this way "for now"? greg k-h ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] powerpc/qe_lib: Share the qe_lib for the others architecture 2013-10-14 20:09 ` Greg Kroah-Hartman @ 2013-10-15 13:16 ` Gerhard Sittig 2013-10-16 18:12 ` Kumar Gala 0 siblings, 1 reply; 4+ messages in thread From: Gerhard Sittig @ 2013-10-15 13:16 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Kumar Gala, Scott Wood, linuxppc-dev@lists.ozlabs.org list, Linux Kernel list, Xie Xiaobo On Mon, Oct 14, 2013 at 13:09 -0700, Greg Kroah-Hartman wrote: > > On Mon, Oct 14, 2013 at 02:40:44PM -0500, Kumar Gala wrote: > > > > Greg, > > > > Wondering your thoughts on drivers/qe vs something like > > drivers/soc/fsl/qe. The QuiccEngine (qe) is a communication core on > > some of the Freescale networking SoCs that provides the ability to do > > various networking/communication functionality. "Channels" on the QE > > can be used for various different things from ethernet, ATM, UART, or > > other functions. > > What makes the code "QE" specific? Are these devices that live on the > QE "bus", or are they controlling the QE controller? You may think of the QUICC as a "programmable bitbang machine" if you like. The very same component runs arbitrary and rather different protocols depending on how you setup its parameters. There have been serial controllers capable of different protocols like UART or SPI or I2S, but all of them are "serial communication". There have been memory controllers which could bitbang different protocols (NAND, NOR/SRAM, DRAM), but all of them are "memory". The QUICC is just a little more versatile, and appears to cover cases which reside in different Linux kernel subsystems (like: it's neither serial nor network exclusively, but can be either and potentially more). IIUC the question which Kumar Gala was asking is where to put code for the component which is neither a strict subset of any subsystem. Please correct me if I'm wrong. virtually yours Gerhard Sittig -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr. 5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] powerpc/qe_lib: Share the qe_lib for the others architecture 2013-10-15 13:16 ` Gerhard Sittig @ 2013-10-16 18:12 ` Kumar Gala 0 siblings, 0 replies; 4+ messages in thread From: Kumar Gala @ 2013-10-16 18:12 UTC (permalink / raw) To: Gerhard Sittig Cc: Greg Kroah-Hartman, Scott Wood, linuxppc-dev@lists.ozlabs.org list, Linux Kernel list, Xie Xiaobo On Oct 15, 2013, at 8:16 AM, Gerhard Sittig wrote: > On Mon, Oct 14, 2013 at 13:09 -0700, Greg Kroah-Hartman wrote: >> >> On Mon, Oct 14, 2013 at 02:40:44PM -0500, Kumar Gala wrote: >>> >>> Greg, >>> >>> Wondering your thoughts on drivers/qe vs something like >>> drivers/soc/fsl/qe. The QuiccEngine (qe) is a communication core on >>> some of the Freescale networking SoCs that provides the ability to do >>> various networking/communication functionality. "Channels" on the QE >>> can be used for various different things from ethernet, ATM, UART, or >>> other functions. >> >> What makes the code "QE" specific? Are these devices that live on the >> QE "bus", or are they controlling the QE controller? > > You may think of the QUICC as a "programmable bitbang machine" if > you like. The very same component runs arbitrary and rather > different protocols depending on how you setup its parameters. > > There have been serial controllers capable of different protocols > like UART or SPI or I2S, but all of them are "serial > communication". There have been memory controllers which could > bitbang different protocols (NAND, NOR/SRAM, DRAM), but all of > them are "memory". > > The QUICC is just a little more versatile, and appears to cover > cases which reside in different Linux kernel subsystems (like: > it's neither serial nor network exclusively, but can be either > and potentially more). > > IIUC the question which Kumar Gala was asking is where to put > code for the component which is neither a strict subset of any > subsystem. Please correct me if I'm wrong. Thanks for the description. Yeah, the actual ethernet, usb, serial drivers that exist with QE live today in proper drivers/ dirs. This is the infrastructure that those drivers utilize that isn't quite related to an existing subsystem. Mostly set up of channel state/cfg/etc. - k ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-10-16 18:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1381750622-1150-1-git-send-email-X.Xie@freescale.com>
[not found] ` <8559CF98-88E4-4271-A873-1409359EFE5C@kernel.crashing.org>
2013-10-14 19:40 ` [PATCH] powerpc/qe_lib: Share the qe_lib for the others architecture Kumar Gala
2013-10-14 20:09 ` Greg Kroah-Hartman
2013-10-15 13:16 ` Gerhard Sittig
2013-10-16 18:12 ` Kumar Gala
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox