1. 09 9月, 2016 15 次提交
  2. 13 8月, 2016 5 次提交
  3. 11 8月, 2016 1 次提交
  4. 07 5月, 2016 1 次提交
  5. 13 1月, 2016 1 次提交
  6. 13 3月, 2015 1 次提交
  7. 27 11月, 2014 1 次提交
    • S
      rpmsg: use less buffers when vrings are small · b1b98914
      Suman Anna 提交于
      Adjust the number of rpmsg buffers to rely on the size of the
      vring, instead of using the hard coded value of 512 (256 per
      direction).
      
      This is needed when small vrings are being used, where 256
      buffers are too much to fit in a vring.
      
      While considering the vring size, keep using the 512 hard coded
      value as an upper limit to avoid wacky resource tables consuming
      unreasonable amount of memory.
      
      NOTE: The number of buffers is already assumed to be symmetrical
      in each direction, and that logic is unchanged.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      [edit commit message, small code and comment simplification]
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      b1b98914
  8. 30 4月, 2013 1 次提交
  9. 15 4月, 2013 1 次提交
  10. 20 3月, 2013 1 次提交
  11. 28 2月, 2013 2 次提交
  12. 09 1月, 2013 1 次提交
  13. 04 1月, 2013 1 次提交
    • G
      Drivers: misc: remove __dev* attributes. · 0fe763c5
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0fe763c5
  14. 18 12月, 2012 1 次提交
  15. 12 9月, 2012 1 次提交
  16. 17 7月, 2012 1 次提交
    • F
      rpmsg: fix dependency on initialization order · 96342526
      Federico Fuga 提交于
      When rpmsg drivers are built into the kernel, they must not initialize
      before the rpmsg bus does, otherwise they'd trigger a BUG() in
      drivers/base/driver.c line 169 (driver_register()).
      
      To fix that, and to stop depending on arbitrary linkage ordering of
      those built-in rpmsg drivers, we make the rpmsg bus initialize at
      subsys_initcall.
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NFederico Fuga <fuga@studiofuga.com>
      [ohad: rewrite the commit log]
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      96342526
  17. 06 7月, 2012 1 次提交
    • O
      remoteproc: maintain a generic child device for each rproc · b5ab5e24
      Ohad Ben-Cohen 提交于
      For each registered rproc, maintain a generic remoteproc device whose
      parent is the low level platform-specific device (commonly a pdev, but
      it may certainly be any other type of device too).
      
      With this in hand, the resulting device hierarchy might then look like:
      
      omap-rproc.0
       |
       - remoteproc0  <---- new !
          |
          - virtio0
          |
          - virtio1
             |
             - rpmsg0
             |
             - rpmsg1
             |
             - rpmsg2
      
      Where:
      - omap-rproc.0 is the low level device that's bound to the
        driver which invokes rproc_register()
      - remoteproc0 is the result of this patch, and will be added by the
        remoteproc framework when rproc_register() is invoked
      - virtio0 and virtio1 are vdevs that are registered by remoteproc
        when it realizes that they are supported by the firmware
        of the physical remote processor represented by omap-rproc.0
      - rpmsg0, rpmsg1 and rpmsg2 are rpmsg devices that represent rpmsg
        channels, and are registerd by the rpmsg bus when it gets notified
        about their existence
      
      Technically, this patch:
      - changes 'struct rproc' to contain this generic remoteproc.x device
      - creates a new "remoteproc" type, to which this new generic remoteproc.x
        device belong to.
      - adds a super simple enumeration method for the indices of the
        remoteproc.x devices
      - updates all dev_* messaging to use the generic remoteproc.x device
        instead of the low level platform-specific device
      - updates all dma_* allocations to use the parent of remoteproc.x (where
        the platform-specific memory pools, most commonly CMA, are to be found)
      
      Adding this generic device has several merits:
      - we can now add remoteproc runtime PM support simply by hooking onto the
        new "remoteproc" type
      - all remoteproc log messages will now carry a common name prefix
        instead of having a platform-specific one
      - having a device as part of the rproc struct makes it possible to simplify
        refcounting (see subsequent patch)
      
      Thanks to Stephen Boyd <sboyd@codeaurora.org> for suggesting and
      discussing these ideas in one of the remoteproc review threads and
      to Fernando Guzman Lugo <fernando.lugo@ti.com> for trying them out
      with the (upcoming) runtime PM support for remoteproc.
      
      Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
      Reviewed-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      b5ab5e24
  18. 04 7月, 2012 2 次提交
    • O
      rpmsg: make sure inflight messages don't invoke just-removed callbacks · 15fd943a
      Ohad Ben-Cohen 提交于
      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 <stable@vger.kernel.org>
      Reported-by: NFernando Guzman Lugo <fernando.lugo@ti.com>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      15fd943a
    • O
      rpmsg: avoid premature deallocation of endpoints · 5a081caa
      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 <stable@vger.kernel.org>
      Reported-by: NFernando Guzman Lugo <fernando.lugo@ti.com>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      5a081caa
  19. 04 3月, 2012 1 次提交
  20. 29 2月, 2012 1 次提交
    • O
      rpmsg: fix published buffer length in rpmsg_recv_done · f1d9e9c7
      Ohad Ben-Cohen 提交于
      After processing an incoming message, always publish the real size
      of its containing buffer when putting it back on the available rx ring.
      
      Using any different value might erroneously limit the remote processor
      (leading it to think the buffer is smaller than it really is).
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Mark Grosen <mgrosen@ti.com>
      Cc: Suman Anna <s-anna@ti.com>
      Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
      Cc: Rob Clark <rob@ti.com>
      Cc: Ludovic BARRE <ludovic.barre@stericsson.com>
      Cc: Loic PALLARDY <loic.pallardy@stericsson.com>
      Cc: Omar Ramirez Luna <omar.luna@linaro.org>
      f1d9e9c7