* [RFC 3/4] ARM: imx: add the platform related rpmsg implementation [not found] ` <DBXPR04MB2708826D9E8C16E8EFE492E8CDA0@DBXPR04MB270.eurprd04.prod.outlook.com> @ 2016-02-15 6:10 ` Shawn Guo 2016-02-15 6:44 ` Richard Zhu 0 siblings, 1 reply; 2+ messages in thread From: Shawn Guo @ 2016-02-15 6:10 UTC (permalink / raw) To: linux-arm-kernel +LAKML On Thu, Jan 28, 2016 at 02:17:21AM +0000, Richard Zhu wrote: > Hi Shawn: > Thanks for your comments. > Further review would copied to Stefan Agner. Please do not top-posting. > On Wed, Jan 06, 2016 at 04:06:43PM +0800, Richard Zhu wrote: > > From: Richard Zhu <Richard.Zhu@freescale.com> > > > > - add mu driver support, the irq and 4bytes msg of the mu module are > > as the interaction channel between A# core and the M4 core on imx amp > > platforms. > > - register one notify in isr of the mu's irq used by rpmsg. > > - instance the virtual processor, and fill up the virtio_config_ops in > > the platform related rpmsg implementation codes. > > - hard-code the vring storage shared by A# core and M# core on AMP > > SOCs. > > > > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> > > --- > > arch/arm/mach-imx/Kconfig | 12 ++ > > arch/arm/mach-imx/Makefile | 2 + > > arch/arm/mach-imx/imx_rpmsg.c | 364 ++++++++++++++++++++++++++++++++++++++++++ > > arch/arm/mach-imx/mu.c | 217 +++++++++++++++++++++++++ > > I'm not rpmsg expert, but it seems to me that the driver should be put into drivers/rpmsg/ rather than mach-imx. > [Richard] This part rpmsg codes are closed related to the platform. For example, kinds of ops callback functions. > Thus, these codes are placed into arch/arm/mach-imx/ folder. BTW, so does to omap rpmsg implementation. > http://omappedia.org/wiki/RPMsg_Kernel_Sources I just took a closer look at this. What the omappedia page above describes is an OMAP rpmsg implementation in a vendor tree which is in turn based on a relatively old kernel version, i.e. v3.0. I guess the implementation is a base of what mainline has today on remoteproc/rpmsg support, but they are somehow different. For example, on mainline kernel today, there is no remoteproc/rpmsg code in arch/arm/plat-omap. And, instead of handling rpmsg with a platform specific driver, remoteproc encapsulates the rpmsg support. You can find the details in commit ac8954a41393 (remoteproc: create rpmsg virtio device). I suggest you look at the mainline code today instead of any old implementation for reference. And in any case, with device tree support to populate platform device as needed, it's a wrong to put remoteproc/rpmsg related driver code into arch/arm/mach-imx. Shawn ^ permalink raw reply [flat|nested] 2+ messages in thread
* [RFC 3/4] ARM: imx: add the platform related rpmsg implementation 2016-02-15 6:10 ` [RFC 3/4] ARM: imx: add the platform related rpmsg implementation Shawn Guo @ 2016-02-15 6:44 ` Richard Zhu 0 siblings, 0 replies; 2+ messages in thread From: Richard Zhu @ 2016-02-15 6:44 UTC (permalink / raw) To: linux-arm-kernel > -----Original Message----- > From: Shawn Guo [mailto:shawnguo at kernel.org] > Sent: Monday, February 15, 2016 2:10 PM > To: Richard Zhu > Cc: ohad at wizery.com; Stefan Agner; linux-kernel at vger.kernel.org; linux-arm- > kernel at lists.infradead.org > Subject: Re: [RFC 3/4] ARM: imx: add the platform related rpmsg > implementation > > +LAKML > > On Thu, Jan 28, 2016 at 02:17:21AM +0000, Richard Zhu wrote: > > Hi Shawn: > > Thanks for your comments. > > Further review would copied to Stefan Agner. > > Please do not top-posting. > > > On Wed, Jan 06, 2016 at 04:06:43PM +0800, Richard Zhu wrote: > > > From: Richard Zhu <Richard.Zhu@freescale.com> > > > > > > - add mu driver support, the irq and 4bytes msg of the mu module are > > > as the interaction channel between A# core and the M4 core on imx > > > amp platforms. > > > - register one notify in isr of the mu's irq used by rpmsg. > > > - instance the virtual processor, and fill up the virtio_config_ops > > > in the platform related rpmsg implementation codes. > > > - hard-code the vring storage shared by A# core and M# core on AMP > > > SOCs. > > > > > > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> > > > --- > > > arch/arm/mach-imx/Kconfig | 12 ++ > > > arch/arm/mach-imx/Makefile | 2 + > > > arch/arm/mach-imx/imx_rpmsg.c | 364 > ++++++++++++++++++++++++++++++++++++++++++ > > > arch/arm/mach-imx/mu.c | 217 +++++++++++++++++++++++++ > > > > I'm not rpmsg expert, but it seems to me that the driver should be put into > drivers/rpmsg/ rather than mach-imx. > > [Richard] This part rpmsg codes are closed related to the platform. For > example, kinds of ops callback functions. > > Thus, these codes are placed into arch/arm/mach-imx/ folder. BTW, so does > to omap rpmsg implementation. > > http://omappedia.org/wiki/RPMsg_Kernel_Sources > > I just took a closer look at this. What the omappedia page above describes is > an OMAP rpmsg implementation in a vendor tree which is in turn based on a > relatively old kernel version, i.e. v3.0. > > I guess the implementation is a base of what mainline has today on > remoteproc/rpmsg support, but they are somehow different. For example, on > mainline kernel today, there is no remoteproc/rpmsg code in arch/arm/plat- > omap. And, instead of handling rpmsg with a platform specific driver, > remoteproc encapsulates the rpmsg support. You can find the details in > commit ac8954a41393 (remoteproc: create rpmsg virtio device). > > I suggest you look at the mainline code today instead of any old > implementation for reference. And in any case, with device tree support to > populate platform device as needed, it's a wrong to put remoteproc/rpmsg > related driver code into arch/arm/mach-imx. > > Shawn [Zhu hongxing] Thanks a lot for your advice. I would take look into it, and re-organize my patch-set. Best Regards hongxing zhu ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-02-15 6:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1452067604-10466-1-git-send-email-hongxing.zhu@nxp.com>
[not found] ` <1452067604-10466-4-git-send-email-hongxing.zhu@nxp.com>
[not found] ` <20160128013527.GA9070@tiger>
[not found] ` <DBXPR04MB2708826D9E8C16E8EFE492E8CDA0@DBXPR04MB270.eurprd04.prod.outlook.com>
2016-02-15 6:10 ` [RFC 3/4] ARM: imx: add the platform related rpmsg implementation Shawn Guo
2016-02-15 6:44 ` Richard Zhu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox