Re: [EXT] Re: [RFC 2/2] rpmsg: imx: add the initial imx rpmsg support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Richard,

On 08.07.19 12:17, Richard Zhu wrote:
Hi Oleksij:
Thanks for your comments.


-----Original Message-----
From: Oleksij Rempel [mailto:o.rempel@xxxxxxxxxxxxxx]
Sent: 2019年7月4日 17:36
To: Richard Zhu <hongxing.zhu@xxxxxxx>; ohad@xxxxxxxxxx;
bjorn.andersson@xxxxxxxxxx; linux-remoteproc@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; Fabien DESSENNE
<fabien.dessenne@xxxxxx>; loic.pallardy@xxxxxx; arnaud.pouliquen@xxxxxx;
s-anna@xxxxxx; elder@xxxxxxxxxx
Subject: [EXT] Re: [RFC 2/2] rpmsg: imx: add the initial imx rpmsg support

Caution: EXT Email

Hi Richard,

On 01.07.19 10:34, Richard Zhu wrote:
Based on "virtio_rpmsg_bus" driver, This patch-set is used to set up
the communication mechanism between A core and M core on i.MX AMP
SOCs.

Add the initial imx rpmsg support glue driver and one pingpong demo,
demonstrated the data transactions between A core and remote M core.
Distributed framework is used in IMX RPMSG implementation, refer to
the following requirements:
    - The CAN functions contained in M core and RTOS should be ready and
      complete functional in 50ms after AMP system is turned on.
    - Partition reset. System wouldn't be stalled by the exceptions (e.x
      the reset triggered by the system hang) occurred at the other side.
      And the RPMSG mechanism should be recovered automactilly after
the
      partition reset is completed.
In this scenario, the M core and RTOS would be kicked off by
bootloader firstly, then A core and Linux would be loaded later. Both
M core/RTOS and A core/Linux are running independly.

One physical memory region used to store the vring is mandatory
required to pre-reserved and well-knowned by both A core and M core

I don't see any thing imx specific in this patch. We already have remoteproc
which would parse firmware header and create needed devices. This driver is
only needed for the case where firmware was stared by the bootloader.

[Richard Zhu] Bootloader starts the firmware is mandatory required in these scenario
refer to the reasons listed in the commit.
Thus, the distributed framework has to be used, and both A core/Linux and remote core/RTOS
works independently.

I personally would prefer to have generic driver or extend the remoteproc
framework. So we can notify kernel about work already done by bootloader.

[Richard Zhu] Thanks for your suggestions.
Regarding to my understand, it seems that master/slave mode is used in the remoteproc currently.
A core/Linux acts as master, to controls/manipulates remote core/RTOS.
It isn't applicable for the scenario described by this patch-set.

In general, some more issues should be solved:
- Handle or not touch idle clocks for different node used by M core and not
main system.
- pin control
- regulators

ST devs already tried to solve this issues by creating "remoteproc: add system
resource manager device" patch. I don't know what is current state of it (/me
adding ST devs to CC).

[Richard Zhu] Yes, it is. Many contributions have been made by Fabien.
IMHO, there are some different behaviors on iMX8QXP/QM platforms, the
  resources (e.x IP modules) had been assigned and managed by the XRDC.
In the other words, the HW resources would be assigned and managed would
  be transparent to SW.

Thus, both A core/Linux and M core/RTOS can work real independently.
System wouldn't be stalled by the exceptions (e.x the reset triggered by the
system hang) occurred at the other side. And the RPMSG mechanism should
  be recovered automatically after the partition reset is completed.

It is exactly the way I did understood it in the firs mail. Any way, i'm ok
with this driver. Just rename imx to some thing generic. This driver can and will be reused on other platforms as well.

Kind regards,
Oleksij Rempel

--
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux