- 31 1月, 2017 1 次提交
-
-
由 Sarangdhar Joshi 提交于
The "remoteproc{0,1...}" sysfs entries are added in rproc_add() and deleted in rproc_type_release() instead of in rproc_del(). That leaves these lingering entries sticking around after we return from rproc_del(). Move the rproc_delete_debug_dir() to rproc_del() to fix this. Signed-off-by: NSarangdhar Joshi <spjoshi@codeaurora.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 30 12月, 2016 2 次提交
-
-
由 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>
-
由 Loic Pallardy 提交于
Commit 2b45cef5 ("remoteproc: Further extend the vdev life cycle") extends kref support for vdev management. It introduces a regression when following sequence is executed: rproc_boot --> rproc_shutdown --> rproc_boot Second rproc_boot call crashes on register_virtio_device as device is already existing. Issue is previous vdev is never released when rproc is stop because associated refcount is too high. kref_get introduces is not needed as kref_init already initializes krefcount to 1 because it considers associated variable as used. This introduces a misalignment between kref_get and kref_put calls. Fixes: 2b45cef5 ("remoteproc: Further extend the vdev life cycle") Signed-off-by: NLoic Pallardy <loic.pallardy@st.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 10 12月, 2016 2 次提交
-
-
由 Bjorn Andersson 提交于
In the event that rproc_boot() is called before the firmware loaded completion has been flagged it will wait with the mutex held, obstructing the request_firmware_nowait() callback from completing the wait. As rproc_fw_config_virtio() has been reduced to only triggering auto-boot there is no longer a reason for waiting in rproc_boot(), so drop this. Cc: Sarangdhar Joshi <spjoshi@codeaurora.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Warning users that remoteproc and it's binary format are under development doesn't serve much of a purpose. Different drivers support different image formats and the resource table has a version field that would need to be bumped when incompatible changes are introduced. So lets drop this warning to clean up the kernel log. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 15 11月, 2016 7 次提交
-
-
由 Bjorn Andersson 提交于
As all vdev resources are allocated before we boot the remote processor we no longer need to support modifying the resource table while the remote is running. This saves us from the table_ptr dance, but more importantly allow the remote processor to enable security lock down of the loaded table memory region. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
The vdev handler is now just another resource allocator, so handle all resource types in a single pass. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Vrings are now allocated as we parse the resource table, before we boot the rproc or register any virtio devices, so it's safe to bump max_notifyid as part of this process. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Represent the virtio device part of the vdev resources as remoteproc subdevices to finalize the decoupling of the virtio resource and device handling. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Tie the vdev (and hence vring) life cycle to the resource parsing and resource cleanup operations, allowing us to safely register and unregister virtio devices on the go. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Instead of having the vrings being allocated and freed as they are requested by the virtio device tie their life cycle to the vdev resource. This allows us to decouple the vdev resource management from the virtio device management. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
No functional change Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 10 11月, 2016 1 次提交
-
-
由 Bjorn Andersson 提交于
A subdevice is an abstract entity that can be used to tie actions to the booting and shutting down of a remote processor. The subdevice object is expected to be embedded in concrete implementations, allowing for a variety of use cases to be implemented. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 01 11月, 2016 1 次提交
-
-
由 Matt Redfearn 提交于
This patch adds a sysfs interface to rproc allowing the firmware name and processor state to be changed dynamically. State was previously available in debugfs, and is replicated here. The firmware file allows retrieval of the running firmware name, and a new one to be specified at run time, so long as the remote processor has been stopped. Signed-off-by: NMatt Redfearn <matt.redfearn@imgtec.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 19 10月, 2016 1 次提交
-
-
由 Matt Redfearn 提交于
Storage of the firmware name was inconsistent, either storing a pointer to a name stored with unknown ownership, or a variable length tacked onto the end of the struct proc allocated in rproc_alloc. In preparation for allowing the firmware of an already allocated struct rproc to be changed, instead always keep a locally maintained copy of the firmware name. Signed-off-by: NMatt Redfearn <matt.redfearn@imgtec.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 03 10月, 2016 3 次提交
-
-
由 Bjorn Andersson 提交于
Lock the implementation as we hand out references to client drivers rather than when they try to boot the remote processor. This allows auto-booting remote processors to be shut down by unloading their module, in addition to first unbinding them. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
In order to be able to lock a rproc driver implementations only when used by a client, we must differ between the dereference operation of a client and the implementation itself. This patch brings no functional change. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
The freeing of resources will attempt to clear values previously set in the cached resource table, so make sure to free the table after we have cleaned up the resources. Fixes: 988d204c ("remoteproc: Move handling of cached table to boot/shutdown") Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 20 9月, 2016 1 次提交
-
-
由 Bjorn Andersson 提交于
rproc_alloc() will make sure that the "firmware" pointer is either a driver supplied value or pointing to a generated firmware filename, it can't be NULL. So drop the extra check in the rproc_boot() path. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 07 9月, 2016 1 次提交
-
-
由 Loic PALLARDY 提交于
In current implementation, struct fw_rsc_vdev_vring which describes vring resource in firmware resource table owns only device address, because it assumes that host is responsible of vring allocation and only device address is needed by coprocessor. But if vrings need to be fixed in system memory map for any reasons (security, SoC charactieristics...), physical address is needed exatly identified the memory chunck by host. For that let's transform reserved field of struct fw_rsc_vdev_vring to pa (physical address). Signed-off-by: NLoic Pallardy <loic.pallardy@st.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 19 8月, 2016 1 次提交
-
-
由 Bjorn Andersson 提交于
In the case that we have a resource table, but not a loaded one we should leave the table_ptr intact, as subsequent resource handling could otherwise dereference the NULL pointer. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 18 8月, 2016 4 次提交
-
-
由 Bjorn Andersson 提交于
As we moved the vdev handling to the main boot/shutdown code path we can further simplify the resource table handling by moving the parsing spet to boot as well. The lifespan of the resource table is changed to live from rproc_boot() to rproc_shutdown(). Cc: Lee Jones <lee.jones@linaro.org> Cc: Loic Pallardy <loic.pallardy@st.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
The newly introduced "always-on" flag allows us to stop giving the vdevs special treatment. The ordering of resource allocation and life cycle of the remote processor is kept intact. This allows us to mark a remote processor with vdevs to not boot unless explicitly requested to do so by a client driver. Cc: Lee Jones <lee.jones@linaro.org> Cc: Loic Pallardy <loic.pallardy@st.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
The calculation of max_notifyid must only be done before we call start() on the remoteproc drivers, so move the calculation to be part of the loading steps. Cc: Lee Jones <lee.jones@linaro.org> Cc: Loic Pallardy <loic.pallardy@st.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Introduce an "auto-boot" flag on rprocs to make it possible to flag remote processors without vdevs to automatically boot once the firmware is found. Preserve previous behavior of the wkup_m3 processor being explicitly booted by a consumer. Cc: Lee Jones <lee.jones@linaro.org> Cc: Loic Pallardy <loic.pallardy@st.com> Cc: Suman Anna <s-anna@ti.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 13 8月, 2016 5 次提交
-
-
由 Anna, Suman 提交于
There are couple of debug statements that are printing hexadecimal numbers without the leading 0x. Fix these and use the standard 0x%x format specifier so that there is no confusion when looking at the traces. Signed-off-by: NSuman Anna <s-anna@ti.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Anna, Suman 提交于
This patch fixes the existing alignment checkpatch check warnings of the type "Alignment should match open parenthesis" in the remoteproc core source files. Signed-off-by: NSuman Anna <s-anna@ti.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Anna, Suman 提交于
Fix the code formatting to use the kernel preferred style of using the actual variables to determize the size using the sizeof() operator. Signed-off-by: NSuman Anna <s-anna@ti.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Anna, Suman 提交于
Fix couple of minor mis-spelled words in all the remoteproc source files. Signed-off-by: NSuman Anna <s-anna@ti.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Anna, Suman 提交于
The dma_addr_t types can be printed properly using the %pad printk format-specifier, there is no need to resort to the unsigned long long type-casting to deal with different possible type sizes. Signed-off-by: NSuman Anna <s-anna@ti.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 11 8月, 2016 3 次提交
-
-
由 Lee Jones 提交于
These types of error prints are superfluous. The system will pick up on OOM issues and let the user know. Signed-off-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Lee Jones 提交于
Trivial patch to clean up a couple of minor misgivings. Signed-off-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Lee Jones 提交于
Before this patch, the dma_alloc_coherent() failure path printed out: "dma_alloc_coherent err: 16760832" ... alluding to the Linux error code being 16760832, but seeing as Linux error codes are all negative, this looks like a signed/unsigned issue. In fact, the message is trying to print the length of the requested memory region. Let's clear that up. While we're at it, let's standardise the way 'len' is printed. In all other locations 'len' is in hex prefixed by a '0x' for clarity. Signed-off-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 15 6月, 2016 1 次提交
-
-
由 Dave Gerlach 提交于
rproc_add adds the newly created remoteproc to a list for use by rproc_get_by_phandle and then does some additional processing to finish adding the remoteproc. This leaves a small window of time in which the rproc is available in the list but not yet fully initialized, so if another driver comes along and gets a handle to the rproc, it will be invalid. Rearrange the code in rproc_add to make sure the rproc is added to the list only after it has been successfuly initialized. Fixes: fec47d86 ("remoteproc: introduce rproc_get_by_phandle API") Cc: stable@vger.kernel.org Signed-off-by: NDave Gerlach <d-gerlach@ti.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 13 5月, 2016 2 次提交
-
-
由 Bjorn Andersson 提交于
The Qualcomm WCNSS can crash by watchdog or a fatal software error. Add these types to the list of remoteproc crash reasons. Signed-off-by: NBjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Remote processors like the ones found in the Qualcomm SoCs does not have a resource table passed to them, so make it optional by only populating it if it does exist. Signed-off-by: NBjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 07 5月, 2016 1 次提交
-
-
由 Lee Jones 提交于
By default, rproc_fw_boot() needs to wait for rproc to be configured, but a race may occur when using rpmsg/virtio. In this case, it can be called locally in a safe manor. This patch represents two usecases: - External call (via exported rproc_boot()), which waits - Internal call can use 'nowait' version of rproc_boot() Signed-off-by: NFabrice Gasnier <fabrice.gasnier@st.com> Signed-off-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 30 1月, 2016 1 次提交
-
-
由 Stefan Agner 提交于
Currently, if the resource table is completely missing in the firmware, powering up the remoteproc fails silently. Add a message indicating that the resource table is missing in the firmware. Signed-off-by: NStefan Agner <stefan@agner.ch> Acked-by: NSuman Anna <s-anna@ti.com> Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
-
- 26 11月, 2015 1 次提交
-
-
由 Suman Anna 提交于
The remoteproc core uses a static ida named rproc_dev_index for assigning an automatic index number to a registered remoteproc. The ida core may allocate some internal idr cache layers and ida bitmap upon any ida allocation, and all these layers are truely freed only upon the ida destruction. The rproc_dev_index ida is not destroyed at present, leading to a memory leak when using the remoteproc core as a module and atleast one rproc device is registered and unregistered. Fix this by invoking ida_destroy() in the remoteproc core module exit. Signed-off-by: NSuman Anna <s-anna@ti.com> Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
-
- 18 6月, 2015 1 次提交
-
-
由 Ohad Ben-Cohen 提交于
Fix this: drivers/remoteproc/remoteproc_core.c: In function 'rproc_get_by_phandle': >> drivers/remoteproc/remoteproc_core.c:1167:2: error: implicit declaration of function 'of_find_node_by_phandle' [-Werror=implicit-function-declaration] np = of_find_node_by_phandle(phandle); Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Cc: Dave Gerlach <d-gerlach@ti.com> Cc: Suman Anna <s-anna@ti.com> Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
-