- 29 7月, 2020 1 次提交
-
-
由 Alex Elder 提交于
The IPA code now uses the generic remoteproc SSR notification mechanism. This makes the original IPA notification code unused and unnecessary, so get rid of it. This is effectively a revert of commit d7f5f3c8 ("remoteproc: add IPA notification to q6v5 driver"). Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NAlex Elder <elder@linaro.org> Link: https://lore.kernel.org/r/20200724181142.13581-3-elder@linaro.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 28 7月, 2020 4 次提交
-
-
由 Sibi Sankar 提交于
Remove the redundant running state, as an equivalent is maintained in the common q6v5 resource handling helpers. Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Reviewed-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200602163257.26978-2-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
Add modem debug policy support which will enable coredumps and live debug support when the msadp firmware is present on secure devices. Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200722201047.12975-4-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
The following mem abort is observed when one of the modem blob firmware size exceeds the allocated mpss region. Fix this by restricting the copy size to segment size using request_firmware_into_buf before load. Err Logs: Unable to handle kernel paging request at virtual address Mem abort info: ... Call trace: __memcpy+0x110/0x180 rproc_start+0xd0/0x190 rproc_boot+0x404/0x550 state_store+0x54/0xf8 dev_attr_store+0x44/0x60 sysfs_kf_write+0x58/0x80 kernfs_fop_write+0x140/0x230 vfs_write+0xc4/0x208 ksys_write+0x74/0xf8 ... Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Fixes: 051fb70f ("remoteproc: qcom: Driver for the self-authenticating Hexagon v5") Cc: stable@vger.kernel.org Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200722201047.12975-3-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
The following mem abort is observed when the mba firmware size exceeds the allocated mba region. MBA firmware size is restricted to a maximum size of 1M and remaining memory region is used by modem debug policy firmware when available. Hence verify whether the MBA firmware size lies within the allocated memory region and is not greater than 1M before loading. Err Logs: Unable to handle kernel paging request at virtual address Mem abort info: ... Call trace: __memcpy+0x110/0x180 rproc_start+0x40/0x218 rproc_boot+0x5b4/0x608 state_store+0x54/0xf8 dev_attr_store+0x44/0x60 sysfs_kf_write+0x58/0x80 kernfs_fop_write+0x140/0x230 vfs_write+0xc4/0x208 ksys_write+0x74/0xf8 __arm64_sys_write+0x24/0x30 ... Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Fixes: 051fb70f ("remoteproc: qcom: Driver for the self-authenticating Hexagon v5") Cc: stable@vger.kernel.org Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200722201047.12975-2-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 22 7月, 2020 3 次提交
-
-
由 Sibi Sankar 提交于
On SC7180 the MBA firmware stores the bootup text logs in a 4K segment at the beginning of the MBA region. Add support to extract the logs which will be useful to debug mba boot/authentication issues. Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200721112935.25716-3-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Rishabh Bhatnagar 提交于
Change the segment dump API signature to include size and offset arguments. Refactor the qcom_q6v5_mss driver to use these arguments while copying the segment. Doing this lays the ground work for "inline" coredump functionality being added in the next patch. Tested-by: NSibi Sankar <sibis@codeaurora.org> Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Reviewed-by: NSibi Sankar <sibis@codeaurora.org> Reviewed-by: NMathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: NRishabh Bhatnagar <rishabhb@codeaurora.org> Link: https://lore.kernel.org/r/1594938035-7327-4-git-send-email-rishabhb@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
In order to land inline coredump support for mss, the dump_segment function would need to support granularities less than the segment size. This is achieved by replacing mask based tracking with size. Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NRishabh Bhatnagar <rishabhb@codeaurora.org> Link: https://lore.kernel.org/r/1594938035-7327-3-git-send-email-rishabhb@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 17 7月, 2020 1 次提交
-
-
由 Sibi Sankar 提交于
On secure devices there exists a race condition which could lock the MSS CONFIG AHB bus thus preventing access to BOOT_STATUS register during SSR. Switch to polling the MSS_STATUS register with an additional 10 us delay to reliably track boot completion. Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200716120514.21588-1-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 02 7月, 2020 1 次提交
-
-
由 Bjorn Andersson 提交于
Update the PIL relocation information in IMEM with information about where the firmware for various remoteprocs are loaded. Reviewed-by: NVinod Koul <vkoul@kernel.org> Reviewed-by: NStephen Boyd <swboyd@chromium.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20200622191942.255460-4-bjorn.andersson@linaro.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 13 5月, 2020 3 次提交
-
-
由 Sibi Sankar 提交于
Remove unsed q6v5_da_to_va function as the mss driver uses a per segment dump function. Tested-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200415071619.6052-2-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
The application processor accessing the mpss region when the Q6 modem is running will lead to an XPU violation. Fix this by un-mapping the mpss segments post copy during mpss authentication and coredumps. Tested-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200415071619.6052-1-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
7C retail devices using MSA based boot will result in a fuse combination which will prevent accesses to MSS PERPH register space where the mpss clocks and halt-nav reside. So drop all accesses to the MPSS PERPH register space. Issuing HALT NAV request and turning on the mss clocks as part of SSR will no longer be required since the modem firmware will have the necessary fixes to ensure that there are no pending NAV DMA transactions. Tested-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200415145110.20624-3-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 12 5月, 2020 1 次提交
-
-
由 Sibi Sankar 提交于
In the absence of mba and mpss sub-child extract the mba/mpss regions from the memory-region property. Tested-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200421143228.8981-5-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 08 5月, 2020 1 次提交
-
-
由 Bjorn Andersson 提交于
Pass ssr_name to glink subdevice in preparation for tying glink_ssr to the glink subdevice, rather than having its own "ssr subdevice". Acked-by: NChris Lew <clew@codeaurora.org> Acked-by: NMathieu Poirier <mathieu.poirier@linaro.org> Acked-by: NRishabh Bhatnagar <rishabhb@codeaurora.org> Link: https://lore.kernel.org/r/20200423003736.2027371-2-bjorn.andersson@linaro.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 20 4月, 2020 1 次提交
-
-
由 Clement Leger 提交于
Modify drivers which are using remoteproc coredump functionality to use rproc_coredump_set_elf_info in order to create correct elf coredump format. Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Reviewed-by: NMathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: NClement Leger <cleger@kalray.eu> Link: https://lore.kernel.org/r/20200410102433.2672-3-cleger@kalray.euSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 17 4月, 2020 2 次提交
-
-
由 Alex Elder 提交于
If an error occurs in q6v5_probe() after the proxy power domains are attached, but before qcom_add_ipa_notify_subdev() is called, qcom_remove_ipa_notify_subdev() is called in the error path, which is a bug. Fix this by having that call be reached through a different label. Additionally, if qcom_add_sysmon_subdev() returns an error, the subdevs that had already been added will not be properly removed. Fix this by having the added subdevs (including the IPA notify one) be removed in this case. Finally, arrange for the sysmon subdev to be removed before the rest in the event rproc_add() returns an error. Have cleanup activity done in q6v5_remove() be done in the reverse order they are set up in q6v5_probe() (the same order they're done in the q6v5_probe() error path). Use a local variable for the remoteproc pointer, which is used repeatedly. Remove errant semicolons at the end of two function blocks. Signed-off-by: NAlex Elder <elder@linaro.org> Link: https://lore.kernel.org/r/20200403175005.17130-4-elder@linaro.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Alex Elder 提交于
If looking up the DT "firmware-name" property fails in q6v6_probe(), the function returns without freeing the remoteproc structure that has been allocated. Fix this by jumping to the free_rproc label, which takes care of this. Signed-off-by: NAlex Elder <elder@linaro.org> Link: https://lore.kernel.org/r/20200403175005.17130-3-elder@linaro.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 26 3月, 2020 4 次提交
-
-
由 Clement Leger 提交于
With upcoming changes in elf loader for elf64 support, section size will be a u64. When used with da_to_va, this will potentially lead to overflow if using the current "int" type for len argument. Change da_to_va prototype to use a size_t for len and fix all users of this function. Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Reviewed-by: NMathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: NClement Leger <cleger@kalray.eu> Link: https://lore.kernel.org/r/20200302093902.27849-2-cleger@kalray.euSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
On secure devices after a wdog/fatal interrupt, the mba region has to be refreshed in order to prevent the following errors during mba load. Err Logs: remoteproc remoteproc2: stopped remote processor 4080000.remoteproc qcom-q6v5-mss 4080000.remoteproc: PBL returned unexpected status -284031232 qcom-q6v5-mss 4080000.remoteproc: PBL returned unexpected status -284031232 .... qcom-q6v5-mss 4080000.remoteproc: PBL returned unexpected status -284031232 qcom-q6v5-mss 4080000.remoteproc: MBA booted, loading mpss Fixes: 7dd8ade2 ("remoteproc: qcom: q6v5-mss: Add custom dump function for modem") Cc: stable@vger.kernel.org Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Tested-by: NBjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20200304194729.27979-4-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
The code used to sync with the MBA after each segment loaded and this is still what's done downstream. So reduce the delta towards downstream by switching to a model where the content is iteratively validated. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Tested-by: NBjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20200304194729.27979-3-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Bjorn Andersson 提交于
Trying to reclaim mpss memory while the mba is not running causes the system to crash on devices with security fuses blown, so leave it assigned to the remote on shutdown and recover it on a subsequent boot. Fixes: 6c5a9dc2 ("remoteproc: qcom: Make secure world call for mem ownership switch") Cc: stable@vger.kernel.org Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Tested-by: NBjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20200304194729.27979-2-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 09 3月, 2020 1 次提交
-
-
由 Alex Elder 提交于
Set up a subdev in the q6v5 modem remoteproc driver that generates event notifications for the IPA driver to use for initialization and recovery following a modem shutdown or crash. A pair of new functions provides a way for the IPA driver to register and deregister a notification callback function that will be called whenever modem events (about to boot, running, about to shut down, etc.) occur. A void pointer value (provided by the IPA driver at registration time) and an event type are supplied to the callback function. One event, MODEM_REMOVING, is signaled whenever the q6v5 driver is about to remove the notification subdevice. It requires the IPA driver de-register its callback. This sub-device is only used by the modem subsystem (MSS) driver, so the code that adds the new subdev and allows registration and deregistration of the notifier is found in "qcom_q6v6_mss.c". Signed-off-by: NAlex Elder <elder@linaro.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 25 1月, 2020 2 次提交
-
-
由 Sibi Sankar 提交于
Define AXI_GATING_VALID_OVERRIDE and fixup comments to improve readability of Q6 modem reset sequence on SC7180 SoCs. Reviewed-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200123131236.1078-3-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
Replace the loop for HALT_ACK detection with regmap_read_poll_timeout. Reviewed-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200123131236.1078-2-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 22 1月, 2020 2 次提交
-
-
由 Sibi Sankar 提交于
Rename the FSM timeout on SC7180 to BOOT_STATUS_TIMEOUT_US. Reviewed-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200117135130.3605-4-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
Define CLKEN and CLKOFF for improving readability of Q6SS clock handling. Reviewed-by: NEvan Green <evgreen@chromium.org> Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20200117135130.3605-3-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 21 12月, 2019 2 次提交
-
-
由 Sibi Sankar 提交于
Add the out of reset sequence support for modem sub-system on SC7180 SoCs. It requires access to an additional halt nav register to put the modem back into reset. Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20191219054506.20565-3-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
Currently the mem clk is voted upon from both the active and proxy pool on MSM8998 SoCs where only a proxy vote should suffice. Fix this by removing mem clk from the active pool. Fixes: 1665cbd5 ("remoteproc: qcom_q6v5_mss: Add support for MSM8998") Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Link: https://lore.kernel.org/r/20191218132217.28141-2-sibis@codeaurora.orgSigned-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 05 11月, 2019 1 次提交
-
-
由 Jeffrey Hugo 提交于
MSM8998 sits between MSM8996 and SDM845 in terms of functionality needed to boot the modem subsystem. Booting mss allows for servicing the traditional cellular usecases along with the wireless usecases such as wifi. Signed-off-by: NJeffrey Hugo <jeffrey.l.hugo@gmail.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 27 8月, 2019 1 次提交
-
-
由 Sibi Sankar 提交于
dev_pm_domain_attach_by_name will return NULL if the requested power-domain is not a part device node. This could result in NULL pointer de-reference in q6v5_pds_enable. Fix this by checking for IS_ERR_OR_NULL and forward the appropriate error code. Fixes: 4760a896 ("remoteproc: q6v5-mss: Vote for rpmh power domains") Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 02 7月, 2019 1 次提交
-
-
由 Bjorn Andersson 提交于
In some software releases the firmware images are not split up with each loadable segment in it's own file. Check the size of the loaded firmware to see if it still contains each segment to be loaded, before falling back to the split-out segments. Reviewed-by: NJeffrey Hugo <jeffrey.l.hugo@gmail.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 31 5月, 2019 1 次提交
-
-
由 Thomas Gleixner 提交于
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 655 file(s). Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Reviewed-by: NAllison Randal <allison@lohutok.net> Reviewed-by: NKate Stewart <kstewart@linuxfoundation.org> Reviewed-by: NRichard Fontana <rfontana@redhat.com> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070034.575739538@linutronix.deSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 31 1月, 2019 2 次提交
-
-
由 Bjorn Andersson 提交于
The SDM845 MSS needs the load_state powerdomain voted for during the duration of the MSS being powered on, to let the AOSS know that it may not perform certain power save measures. So vote for this. Tested-by: NSibi Sankar <sibis@codeaurora.org> Reviewed-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Rajendra Nayak 提交于
With rpmh ARC resources being modelled as power domains with performance state, we need to proxy vote on these for SDM845. Add support to vote on multiple of them, now that genpd supports associating mutliple power domains to a device. Tested-by: NSibi Sankar <sibis@codeaurora.org> Reviewed-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> [bjorn: Drop device link, improve error handling, name things "proxy"] Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 30 1月, 2019 2 次提交
-
-
由 Sibi Sankar 提交于
Add support for parsing "firmware-name" dt bindings which specifies the relative paths of mba/modem/pas image as strings. Fallback to the default paths for mba/modem/pas image on -EINVAL. Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Ramon Fried 提交于
Sometimes that rmtfs userspace module is not brought up fast enough and the modem crashes. disabling automated boot in the driver and triggering the boot from user-space sovles the problem. Acked-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NRamon Fried <ramon.fried@gmail.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 22 1月, 2019 1 次提交
-
-
由 Sibi Sankar 提交于
Add shutdown-ack irq handling required for sysmon shutdown for Q6V5 MSS on SDM845/MSM8996 and for WCSS Q6V5 on QCS404 SoC. Signed-off-by: NSibi Sankar <sibis@codeaurora.org> [bjorn: Revert back to qcom_add_sysmon_subdev returning a sysmon object] Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
- 07 1月, 2019 2 次提交
-
-
由 Sibi Sankar 提交于
Add proxy vote for pll supply on MSM8996 SoC. Fixes: 9f058fa2 ("remoteproc: qcom: Add support for mss remoteproc on msm8996") Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-
由 Sibi Sankar 提交于
Proxy vote for QDSS clock and remove vote on handover interrupt to provide MSS PBL with access to STM hardware registers during boot. Add "snoc_axi" and "mnoc_axi" to the active clock list. Rename "gpll0_mss_clk" to "gpll0_mss" for consistency across SoCs. Fixes: 9f058fa2 ("remoteproc: qcom: Add support for mss remoteproc on msm8996") Signed-off-by: NSibi Sankar <sibis@codeaurora.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
-