summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* remoteproc: Drop wait in __rproc_boot()Bjorn Andersson2016-12-091-19/+3
| | | | | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* remoteproc/ste: Delete unused driverJean Delvare2016-12-093-353/+0
| | | | | | | | | | | | | | | | | | | | Back in July 2014 I asked around what was the intended target platform for the STE Modem remoteproc driver, so that I could add the proper hardware dependency to its config option. The answer I got was that there was no known publicly available hardware needing it and it was unlikely that there ever would. So I think it's time to delete this driver to lower the maintenance burden. Signed-off-by: Jean Delvare <jdelvare@suse.de> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Ohad Ben-Cohen <ohad@wizery.com> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Suman Anna <s-anna@ti.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Loic Pallardy <loic.pallardy@st.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* remoteproc: Remove "experimental" warningBjorn Andersson2016-12-091-3/+0
| | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* remoteproc: qcom_adsp_pil: select qcom_scmArnd Bergmann2016-12-091-0/+1
| | | | | | | | | | | | | | | | | | The adsp-pil driver relies on SCM and causes a build error without it: ERROR: "qcom_scm_pas_supported" [drivers/remoteproc/qcom_adsp_pil.ko] undefined! ERROR: "qcom_scm_is_available" [drivers/remoteproc/qcom_adsp_pil.ko] undefined! ERROR: "qcom_scm_pas_auth_and_reset" [drivers/remoteproc/qcom_adsp_pil.ko] undefined! ERROR: "qcom_scm_pas_shutdown" [drivers/remoteproc/qcom_adsp_pil.ko] undefined! ERROR: "qcom_scm_pas_mem_setup" [drivers/remoteproc/qcom_adsp_pil.ko] undefined! ERROR: "qcom_scm_pas_init_image" [drivers/remoteproc/qcom_adsp_pil.ko] undefined! This adds a 'select', as SCM is a silent Kconfig symbol that gets enabled implicitly by all its users. Fixes: b9e718e950c3 ("remoteproc: Introduce Qualcomm ADSP PIL") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* dt-binding: soc: qcom: smd: Add label propertyBjorn Andersson2016-12-041-0/+7
| | | | | | | | | The label property can be used to specify a name of the edge, for consistent naming purposes. Acked-by: Rob Herring <robh@kernel.org> Acked-by: Andy Gross <andy.gross@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* remoteproc: qcom: mdt_loader: add include for sizesStanimir Varbanov2016-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add linux/sizes.h to prevent build failure on non ARM architectures as: CC [M] drivers/remoteproc/qcom_mdt_loader.o In file included from include/linux/cache.h:4:0, from include/linux/printk.h:8, from include/linux/kernel.h:13, from include/asm-generic/bug.h:13, from arch/x86/include/asm/bug.h:35, from include/linux/bug.h:4, from include/linux/thread_info.h:11, from arch/x86/include/asm/elf.h:7, from include/linux/elf.h:4, from drivers/remoteproc/qcom_mdt_loader.c:18: drivers/remoteproc/qcom_mdt_loader.c: In function ‘qcom_mdt_parse’: drivers/remoteproc/qcom_mdt_loader.c:90:52: error: ‘SZ_4K’ undeclared (first use in this function) Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* remoteproc: Update last rproc_put users to rproc_freeBjorn Andersson2016-11-192-4/+4
| | | | | | | | The transition from rproc_put to rproc_free raced with the review of the Qualcomm ADSP and ST SLIMproc drivers and these where not updated accordingly. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* remoteproc: qcom: adsp: Add missing MODULE_DEVICE_TABLEBjorn Andersson2016-11-191-0/+1
| | | | Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* remoteproc: wcnss-pil: add QCOM_SMD dependencyArnd Bergmann2016-11-181-0/+1
| | | | | | | | | | | | | | | | When qcom_smd is a loadable module and wcnss-pil is built-in, we get a link error: drivers/remoteproc/qcom_wcnss_pil.o: In function `wcnss_smd_remove': qcom_wcnss_iris.c:(.text.wcnss_smd_remove+0x10): undefined reference to `qcom_smd_unregister_edge' drivers/remoteproc/qcom_wcnss_pil.o: In function `wcnss_smd_probe': qcom_wcnss_iris.c:(.text.wcnss_smd_probe+0x12): undefined reference to `qcom_smd_register_edge' This adds a Kconfig dependency to avoid this. We can still allow build-testing with SMD disabled. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* Merge branch 'topic/st_fdma' of ↵Bjorn Andersson2016-11-181-0/+1
|\ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/slave-dma into rproc-next * 'topic/st_fdma' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/slave-dma: dmaengine: st_fdma: Revert: "Revert: Update st_fdma to 'depends on REMOTEPROC'"
| * dmaengine: st_fdma: Revert: "Revert: Update st_fdma to 'depends on REMOTEPROC'"Vinod Koul2016-11-171-0/+1
| | | | | | | | | | | | | | | | | | This reverts commit 6d066389d598b3c3818c3c841179c2f95bbfe702 "(dmaengine: st_fdma: Revert: Update st_fdma to 'depends on REMOTEPROC')" as the commit it reverted was fine. Reported-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
* | remoteproc: Add support for xo clockSarangdhar Joshi2016-11-161-1/+29
| | | | | | | | | | | | | | | | | | | | Add xo clock support required to boot up Qualcomm ADSP processor. The ADSP remoteproc driver keeps xo clock enabled until the driver receives "handover" irq, in order to allow ADSP processor to vote for xo clock with rpm. Signed-off-by: Sarangdhar Joshi <spjoshi@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: adsp-pil: fix recursive dependencyArnd Bergmann2016-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The newly added driver tries to 'select' a symbol that it has an implicit dependency on, which confuses Kconfig: subsection "Kconfig recursive dependency limitations" drivers/remoteproc/Kconfig:3: symbol REMOTEPROC is selected by QCOM_ADSP_PIL As REMOTEPROC is itself user-visible, we clearly should not select it from a driver, removing the line fixes the problem. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | Merge branch 'topic/st_fdma' of ↵Bjorn Andersson2016-11-1611-9/+1687
|\| | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/slave-dma into rproc-next
| * dmaengine: st_fdma: Revert: Update st_fdma to 'depends on REMOTEPROC'Vinod Koul2016-11-141-1/+0
| | | | | | | | | | | | | | | | This reverts commit 184e13969fe68e57f863be7b6daf202f2cc18818 ("dmaengine: st_fdma: Update st_fdma to 'depends on REMOTEPROC'") due to objection from Bjorn. Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * dmaengine: st_fdma: Update st_fdma to 'depends on REMOTEPROC'.Peter Griffin2016-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | During randconfig builds you can get the following warning "warning: (ST_FDMA) selects ST_SLIM_REMOTEPROC which has unmet direct dependencies (REMOTEPROC)" randconfig builds should always build without any warnings so update fdma to depend on REMOTEPROC so this can not happen. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reported-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * dmaengine: st_fdma: Fix the error return code in st_fdma_probe()Wei Yongjun2016-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | In case of error, the function st_slim_rproc_alloc() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Acked-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * dmaengine: st_fdma: fix uninitialized variable accessArnd Bergmann2016-10-191-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newly added st_fdma driver introduces a build warning for allmodconfig when we add '-Wmaybe-uninitialized': drivers/dma/st_fdma.c: In function 'st_fdma_probe': drivers/dma/st_fdma.c:777:5: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized] The warning is correct, though this can't happen in practice as the check is redundant (we don't get to this function if the pointer is NULL). Even if the function were called with a NULL of_node, the check is not needed because of_property_read_u32 can deal with a NULL argument by returning an error. Removing the unnecessary code simplifies the function and avoids the condition that we get the warning for. Fixes: 6b4cd727eaf1 ("dmaengine: st_fdma: Add STMicroelectronics FDMA engine driver support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * ARM: multi_v7_defconfig: Enable STi and simple-card drivers.Peter Griffin2016-10-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This patch enables the STi ALSA drivers found on STi platforms as well as the simple-card driver which is a dependency to have working sound. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Cc: arnaud.pouliquen@st.com Cc: broonie@kernel.org Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * ARM: multi_v7_defconfig: Enable STi FDMA driverPeter Griffin2016-10-181-0/+1
| | | | | | | | | | | | | | | | This DMA controller is found on all STi chipsets. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * ARM: multi_v7_defconfig: Enable st_remoteproc driver.Peter Griffin2016-10-181-0/+1
| | | | | | | | | | | | | | The st231 remote coprocessors are found on all STi chipsets. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * ARM: multi_v7_defconfig: Enable remoteproc corePeter Griffin2016-10-181-0/+1
| | | | | | | | | | | | | | | | Now that remoteproc core is selectable it needs to be enabled in the multi_v7 build. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * MAINTAINERS: Add FDMA driver files to STi section.Peter Griffin2016-10-181-0/+1
| | | | | | | | | | | | | | | | | | This patch adds the FDMA driver files to the STi section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * dmaengine: st_fdma: Add STMicroelectronics FDMA engine driver supportPeter Griffin2016-10-183-0/+913
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Flexible Direct Memory Access (FDMA) core driver. The FDMA is a slim core CPU with a dedicated firmware. It is a general purpose DMA controller capable of supporting 16 independent DMA channels. Data moves maybe from memory to memory or between memory and paced latency critical real time targets and it is found on al STi based chipsets. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * dmaengine: st_fdma: Add STMicroelectronics FDMA driver header filePeter Griffin2016-10-181-0/+249
| | | | | | | | | | | | | | | | | | This header file will also be used by the dma xbar driver in the future. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * dmaengine: st_fdma: Add STMicroelectronics FDMA DT binding documentationPeter Griffin2016-10-181-0/+87
| | | | | | | | | | | | | | | | | | | | This patch adds the DT binding documentation for the FDMA constroller found on STi based chipsets from STMicroelectronics. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * remoteproc: Update Kconfig setup to 'depends on REMOTEPROC'Peter Griffin2016-10-181-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make REMOTEPROC core a selectable kconfig option, and update remoteproc client drivers to 'depends on' the core. This avoids some nasty Kconfig recursive dependency issues. Also when using menuconfig client drivers will be hidden until the core has been enabled. Documentation/kbuild/kconfig-language.txt: Note: select should be used with care. select will force a symbol to a value without visiting the dependencies. By abusing select you are able to select a symbol FOO even if FOO depends on BAR that is not set. In general use select only for non-visible symbols (no prompts anywhere) and for symbols with no dependencies. That will limit the usefulness but on the other hand avoid the illegal configurations all over. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * MAINTAINERS: Add st slim core rproc driver to STi section.Peter Griffin2016-10-181-0/+2
| | | | | | | | | | | | | | | | | | This patch adds the slim core rproc driver to the STi section of the MAINTAINERS file. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
| * remoteproc: st_slim_rproc: add a slimcore rproc driverPeter Griffin2016-10-184-2/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | slim core is used as a basis for many IPs in the STi chipsets such as fdma and demux. To avoid duplicating the elf loading code in each device driver a slim rproc driver has been created. This driver is designed to be used by other device drivers such as fdma, or demux whose IP is based around a slim core. The device driver can call slim_rproc_alloc() to allocate a slim rproc and slim_rproc_put() when finished. This driver takes care of ioremapping the slim registers (dmem, imem, slimcore, peripherals), whose offsets and sizes can change between IP's. It also obtains and enables any clocks used by the device. This approach avoids having a double mapping of the registers as slim_rproc does not register its own platform device. It also maps well to device tree abstraction as it allows us to have one dt node for the whole device. All of the generic rproc elf loading code can be reused, and we provide start() stop() hooks to start and stop the slim core once the firmware has been loaded. This has been tested successfully with fdma driver. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
* | remoteproc: Introduce Qualcomm ADSP PILBjorn Andersson2016-11-153-0/+411
| | | | | | | | | | | | | | | | | | The Qualcomm ADSP Peripheral Image Loader is used on a variety of different Qualcomm platforms for loading firmware into and controlling the Hexagon based ADSP. Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | dt-binding: remoteproc: Introduce ADSP loader bindingBjorn Andersson2016-11-151-0/+98
| | | | | | | | | | | | | | | | | | This document defines the binding for a component that loads firmware and control the life cycle of the Qualcomm ADSP Hexagon core. Acked-by: Rob Herring <robh@kernel.org> Cc: Sarangdhar Joshi <spjoshi@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: qcom_wcnss: Fix circular module dependencyBjorn Andersson2016-11-145-16/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tie between the main WCNSS driver and the IRIS driver causes a circular dependency between the two modules. Neither part makes sense to have on their own so lets merge them into one module. For the sake of picking up the clock and regulator resources described in the iris of_node we need an associated struct device. But, to keep the size of the patch down we continue to represent the IRIS part as its own platform_driver, within the same module, rather than setting up a dummy device. Fixes: aed361adca9f ("remoteproc: qcom: Introduce WCNSS peripheral image loader") Reported-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Merge table_ptr and cached_table pointersBjorn Andersson2016-11-142-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Remove custom vdev handler listBjorn Andersson2016-11-141-11/+0
| | | | | | | | | | | | | | The vdev handler is now just another resource allocator, so handle all resource types in a single pass. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Update max_notifyid as we allocate vringsBjorn Andersson2016-11-141-10/+5
| | | | | | | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Decouple vdev resources and devicesBjorn Andersson2016-11-142-15/+25
| | | | | | | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Further extend the vdev life cycleBjorn Andersson2016-11-141-1/+6
| | | | | | | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: virtio: Anchor vring life cycle in vdevBjorn Andersson2016-11-142-6/+21
| | | | | | | | | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Assign kref to rproc_vdevBjorn Andersson2016-11-144-4/+20
| | | | | | | | | | | | No functional change Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | dt-binding: remoteproc: wcnss: Allow describing smd edgeBjorn Andersson2016-11-141-2/+28
| | | | | | | | | | | | | | | | | | | | Allow the associated smd edge to be described within the wcnss remoteproc node. This creates a bond between the remoteproc and the associated smd channels and devices, showing the interaction between the two parts and provides both a natural reference to the other. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Acked-by: Rob Herring <robh@kernel.org>
* | remoteproc: wcnss: Bond SMD edge to remoteprocBjorn Andersson2016-11-141-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | Allow the wcnss smd edge to be described as a child of the wcnss remoteproc node and make the edge life cycle follow the running state of the remoteproc. This bond is necessary to clean up the smd state when the remote processor is suddenly removed, and in some cases even when it shut down in a controlled fasion. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | rpmsg: smd: Expose edge registration functionsBjorn Andersson2016-11-142-0/+34
| | | | | | | | | | | | | | | | The edge registration functions is to be used from a remoteproc driver to register and unregister an edge as the remote processor comes and goes. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Introduce subdevicesBjorn Andersson2016-11-092-0/+94
| | | | | | | | | | | | | | | | | | 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: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: st: Fix error return code in st_rproc_probe()Wei Yongjun2016-10-311-1/+3
| | | | | | | | | | | | | | | | | | Fix to return a negative error code from the st_rproc_state() error handling case instead of 0, as done elsewhere in this function. Fixes: 63edb0310a5c ("remoteproc: Supply controller driver for ST's Remote Processors") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: debugfs: Remove state entry which is duplicated is sysfsMatt Redfearn2016-10-311-71/+0
| | | | | | | | | | | | | | | | Since there is now an always available state file in sysfs with the same function as this one in debugfs, remove the redundant entry. Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Add a sysfs interface for firmware and stateMatt Redfearn2016-10-315-0/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: Matt Redfearn <matt.redfearn@imgtec.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: qcom: wcnss_iris: Fix module autoloadJavier Martinez Canillas2016-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module. Export the module alias information using the MODULE_DEVICE_TABLE() macro. Before this patch: $ modinfo drivers/remoteproc/qcom_wcnss_iris.ko | grep alias $ After this patch: $ modinfo drivers/remoteproc/qcom_wcnss_iris.ko | grep alias alias: of:N*T*Cqcom,wcn3680C* alias: of:N*T*Cqcom,wcn3680 alias: of:N*T*Cqcom,wcn3660C* alias: of:N*T*Cqcom,wcn3660 alias: of:N*T*Cqcom,wcn3620C* alias: of:N*T*Cqcom,wcn3620 Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: qcom: wcnss: Fix module autoloadJavier Martinez Canillas2016-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module. Export the module alias information using the MODULE_DEVICE_TABLE() macro. Before this patch: $ modinfo drivers/remoteproc/qcom_wcnss.ko | grep alias $ After this patch: $ modinfo drivers/remoteproc/qcom_wcnss.ko | grep alias alias: of:N*T*Cqcom,pronto-v2-pilC* alias: of:N*T*Cqcom,pronto-v2-pil alias: of:N*T*Cqcom,pronto-v1-pilC* alias: of:N*T*Cqcom,pronto-v1-pil alias: of:N*T*Cqcom,riva-pilC* alias: of:N*T*Cqcom,riva-pil Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: qcom: q6v5_pil: Fix module autoloadJavier Martinez Canillas2016-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module. Export the module alias information using the MODULE_DEVICE_TABLE() macro. Before this patch: $ modinfo drivers/remoteproc/qcom_q6v5_pil.ko | grep alias $ After this patch: $ modinfo drivers/remoteproc/qcom_q6v5_pil.ko | grep alias alias: of:N*T*Cqcom,q6v5-pilC* alias: of:N*T*Cqcom,q6v5-pil Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* | remoteproc: Keep local copy of firmware nameMatt Redfearn2016-10-182-16/+17
|/ | | | | | | | | | | | | 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: Matt Redfearn <matt.redfearn@imgtec.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>