1. 21 4月, 2020 2 次提交
  2. 20 4月, 2020 1 次提交
  3. 26 3月, 2020 5 次提交
  4. 30 6月, 2019 1 次提交
  5. 21 2月, 2019 2 次提交
    • L
      remoteproc: fix recovery procedure · d4c036fe
      Loic Pallardy 提交于
      Commit 7e83cab824a87e83cab824a8 ("remoteproc: Modify recovery path
      to use rproc_{start,stop}()") replaces rproc_{shutdown,boot}() with
      rproc_{stop,start}(), which skips destroy the virtio device at stop
      but re-initializes it again at start.
      
      Issue is that struct virtio_dev is not correctly reinitialized like done
      at initial allocation thanks to kzalloc() and kobject is considered as
      already initialized by kernel. That is due to the fact struct virtio_dev
      is allocated and released at vdev resource handling level managed and
      virtio device is registered and unregistered at rproc subdevices level.
      
      Moreover kernel documentation mentions that device struct must be
      zero initialized before calling device_initialize().
      
      This patch disentangles struct virtio_dev from struct rproc_vdev as
      the two struct don't have the same life-cycle.
      
      struct virtio_dev is now allocated on rproc_start() and released
      on rproc_stop().
      
      This patch applies on top of patch
      remoteproc: create vdev subdevice with specific dma memory pool [1]
      
      [1]: https://patchwork.kernel.org/patch/10755781/
      
      Fixes: 7e83cab8 ("remoteproc: Modify recovery path to use rproc_{start,stop}()")
      Reported-by: NXiang Xiao <xiaoxiang781216@gmail.com>
      Signed-off-by: NLoic Pallardy <loic.pallardy@st.com>
      Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      d4c036fe
    • L
      remoteproc: create vdev subdevice with specific dma memory pool · 086d0872
      Loic Pallardy 提交于
      This patch creates a dedicated vdev subdevice for each vdev declared
      in firmware resource table and associates carveout named "vdev%dbuffer"
      (with %d vdev index in resource table) if any as dma coherent memory pool.
      
      Then vdev subdevice is used as parent for virtio device.
      Signed-off-by: NLoic Pallardy <loic.pallardy@st.com>
      Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      086d0872
  6. 07 1月, 2019 1 次提交
  7. 20 10月, 2018 2 次提交
  8. 15 10月, 2018 1 次提交
    • L
      remoteproc: modify vring allocation to rely on centralized carveout allocator · c6aed238
      Loic Pallardy 提交于
      Current version of rproc_alloc_vring function supports only dynamic vring
      allocation.
      
      This patch allows to allocate vrings based on memory region declatation.
      Vrings are now manage like memory carveouts, to communize memory management
      code in rproc_alloc_registered_carveouts().
      
      Allocated buffer is retrieved in rp_find_vq() thanks to
      rproc_find_carveout_by_name() functions for.
      
      This patch sets vrings names to vdev"x"vring"y" with x vdev index in
      resource table and y vring index in vdev. This will be updated when
      name will be associated to vdev in firmware resource table.
      Signed-off-by: NLoic Pallardy <loic.pallardy@st.com>
      Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      c6aed238
  9. 10 10月, 2018 6 次提交
  10. 06 10月, 2018 1 次提交
  11. 27 6月, 2018 3 次提交
  12. 26 4月, 2018 1 次提交
  13. 13 2月, 2018 3 次提交
  14. 16 1月, 2018 6 次提交
  15. 02 9月, 2017 1 次提交
  16. 31 1月, 2017 2 次提交
    • S
      remoteproc: Drop firmware_loading_complete · 2099c77d
      Sarangdhar Joshi 提交于
      firmware_loading_complete is used to synchronize operations
      on rproc while asynchronous firmware loading is in progress.
      However, rproc_boot() no longer waits on
      firmware_loading_complete. Hence drop this completion
      variable altogether and handle the race between rproc_del()
      and rproc_boot() using new state RPROC_DELETED.
      
      The request_firmware_nowait() will hold the reference to
      rproc device by using a get_device()/put_device(), so the
      rproc struct will remain valid even when we return from
      rproc_del() before the asynchronous call to
      rproc_fw_config_virtio() completes.
      
      CC: Loic Pallardy <loic.pallardy@st.com>
      CC: Bjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: NSarangdhar Joshi <spjoshi@codeaurora.org>
      Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      2099c77d
    • S
      remoteproc: Add RPROC_DELETED state · 608d7921
      Sarangdhar Joshi 提交于
      Add new state RPROC_DELETED to handle synchronization
      between rproc_del() and other operations on rproc. This
      state represents the rproc device that has been "deleted".
      
      CC: Loic Pallardy <loic.pallardy@st.com>
      CC: Bjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: NSarangdhar Joshi <spjoshi@codeaurora.org>
      Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      608d7921
  17. 30 12月, 2016 1 次提交
    • B
      Revert "remoteproc: Merge table_ptr and cached_table pointers" · a0c10687
      Bjorn Andersson 提交于
      Following any fw_rsc_vdev entries in the resource table are two variable
      length arrays, the first one reference vring resources and the second
      one is the virtio config space.  The virtio config space is used by
      virtio to communicate status and configuration changes and must as such
      be shared with the remote.
      
      The reverted commit incorrectly made any changes to the virtio config
      space only affect the local copy, in an attempt to allowing memory
      protection of the shared resource table.
      
      This reverts commit cda85293.
      Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      a0c10687
  18. 15 11月, 2016 1 次提交