12 Feb, 2019

1 commit

  • Add i.MX8 SCFW API support.

    Based on below commit:

    (fcd0efb5f2550712bd7d27f1279e51f7f687f71d)
    Fix MX8 MU driver to follow Linux coding conventions.
    Remove unused functions.

    Signed-off-by: Anson Huang
    Signed-off-by: Ranjani Vaidyanathan

    Added to drivers/soc/imx instead of drivers/soc/imx8
    Skipped imx8 imx_rpmsg code

    Signed-off-by: Leonard Crestez

    Anson Huang
     

19 Jan, 2017

1 commit


01 Nov, 2016

2 commits


09 Sep, 2016

10 commits


13 Aug, 2016

2 commits


07 May, 2016

2 commits

  • This patch introduces the module_rpmsg_driver macro which is a
    convenience macro for rpmsg driver modules similar to
    module_platform_driver. It is intended to be used by drivers which
    init/exit section does nothing but register/unregister the rpmsg driver.
    By using this macro it is possible to eliminate a few lines of
    boilerplate code per rpmsg driver.

    Signed-off-by: Andrew F. Davis
    Signed-off-by: Bjorn Andersson

    Andrew F. Davis
     
  • Add register_rpmsg_driver helper macro that adds THIS_MODULE to
    rpmsg_driver for the registering driver. We rename and modify
    the existing register_rpmsg_driver to enable this.

    Signed-off-by: Andrew F. Davis
    Acked-by: Suman Anna
    Signed-off-by: Bjorn Andersson

    Andrew F. Davis
     

04 Jul, 2012

2 commits

  • When inbound messages arrive, rpmsg core looks up their associated
    endpoint (by destination address) and then invokes their callback.

    We've made sure that endpoints will never be de-allocated after they
    were found by rpmsg core, but we also need to protect against the
    (rare) scenario where the rpmsg driver was just removed, and its
    callback function isn't available anymore.

    This is achieved by introducing a callback mutex, which must be taken
    before the callback is invoked, and, obviously, before it is removed.

    Cc: stable
    Reported-by: Fernando Guzman Lugo
    Signed-off-by: Ohad Ben-Cohen

    Ohad Ben-Cohen
     
  • When an inbound message arrives, the rpmsg core looks up its
    associated endpoint and invokes the registered callback.

    If a message arrives while its endpoint is being removed (because
    the rpmsg driver was removed, or a recovery of a remote processor
    has kicked in) we must ensure atomicity, i.e.:

    - Either the ept is removed before it is found

    or

    - The ept is found but will not be freed until the callback returns

    This is achieved by maintaining a per-ept reference count, which,
    when drops to zero, will trigger deallocation of the ept.

    With this in hand, it is now forbidden to directly deallocate
    epts once they have been added to the endpoints idr.

    Cc: stable
    Reported-by: Fernando Guzman Lugo
    Signed-off-by: Ohad Ben-Cohen

    Ohad Ben-Cohen
     

09 Feb, 2012

1 commit

  • Add a virtio-based inter-processor communication bus, which enables
    kernel drivers to communicate with entities, running on remote
    processors, over shared memory using a simple messaging protocol.

    Every pair of AMP processors share two vrings, which are used to send
    and receive the messages over shared memory.

    The header of every message sent on the rpmsg bus contains src and dst
    addresses, which make it possible to multiplex several rpmsg channels on
    the same vring.

    Every rpmsg channel is a device on this bus. When a channel is added,
    and an appropriate rpmsg driver is found and probed, it is also assigned
    a local rpmsg address, which is then bound to the driver's callback.

    When inbound messages carry the local address of a bound driver,
    its callback is invoked by the bus.

    This patch provides a kernel interface only; user space interfaces
    will be later exposed by kernel users of this rpmsg bus.

    Designed with Brian Swetland .

    Signed-off-by: Ohad Ben-Cohen
    Acked-by: Rusty Russell (virtio_ids.h)
    Cc: Brian Swetland
    Cc: Arnd Bergmann
    Cc: Grant Likely
    Cc: Tony Lindgren
    Cc: Russell King
    Cc: Andrew Morton
    Cc: Greg KH
    Cc: Stephen Boyd

    Ohad Ben-Cohen