2020-04-02 01:09:14

by Bjorn Andersson

[permalink] [raw]
Subject: [GIT PULL] remoteproc updates for v5.7

The following changes since commit bb6d3fb354c5ee8d6bde2d576eb7220ea09862b9:

Linux 5.6-rc1 (2020-02-09 16:08:48 -0800)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git tags/rproc-v5.7

for you to fetch changes up to a7084c3d47c4aaedcca217ce87b7b5b5fe3cfa35:

remoteproc/omap: Switch to SPDX license identifiers (2020-03-25 22:29:51 -0700)

----------------------------------------------------------------
remoteproc updates for v5.7

This introduces a range of improvements to the OMAP remoeteproc driver;
among other things adding devicetree, suspend/resume and watchdog
support, and adds support the remoteprocs in the DRA7xx SoC.

It introduces support for 64-bit firmware, extends the ELF loader to
support this and fixes for a number of race conditions in the recovery
handling.

It introduces a generic mechanism to allow remoteproc drivers to sync
state with remote processors during a panic, and uses this to prepare
Qualcomm remote processors for post mortem analysis.

Finally it introduces fixes to cleanly recover from crashes in the modem
firmware on production Qualcomm devices.

----------------------------------------------------------------
Ahmad Fatoum (1):
remoteproc: stm32: demote warning about optional property absence

Alex Elder (3):
remoteproc: re-check state in rproc_trigger_recovery()
remoteproc: remoteproc debugfs file fixes
remoteproc: return error for bad "recovery" debugfs input

Arnaud Pouliquen (1):
remoteproc: fix kernel-doc warnings

Bjorn Andersson (6):
remoteproc: qcom_q6v5_mss: Don't reassign mpss region on shutdown
remoteproc: qcom_q6v5_mss: Validate each segment during loading
remoteproc: Traverse rproc_list under RCU read lock
remoteproc: Introduce "panic" callback in ops
remoteproc: qcom: q6v5: Add common panic handler
remoteproc: qcom: Introduce panic handler for PAS and ADSP

Clement Leger (8):
remoteproc: Use size_t type for len in da_to_va
remoteproc: Use size_t instead of int for rproc_mem_entry len
remoteproc: Use u64 type for boot_addr
remoteproc: Add elf helpers to access elf64 and elf32 fields
remoteproc: Rename rproc_elf_sanity_check for elf32
remoteproc: Add elf64 support in elf loader
remoteproc: Allow overriding only sanity_check
remoteproc: Adapt coredump to generate correct elf type

Nathan Chancellor (1):
remoteproc/mediatek: Use size_t type for len in scp_da_to_va

Nikita Shubin (1):
remoteproc: Fix NULL pointer dereference in rproc_virtio_notify

Sibi Sankar (1):
remoteproc: qcom_q6v5_mss: Reload the mba region on coredump

Suman Anna (14):
dt-bindings: remoteproc: Add OMAP remoteproc bindings
remoteproc/omap: Add device tree support
remoteproc/omap: Add a sanity check for DSP boot address alignment
remoteproc/omap: Add support to parse internal memories from DT
remoteproc/omap: Add the rproc ops .da_to_va() implementation
remoteproc/omap: Initialize and assign reserved memory node
remoteproc/omap: Add support for DRA7xx remote processors
remoteproc/omap: Check for undefined mailbox messages
remoteproc/omap: Request a timer(s) for remoteproc usage
remoteproc/omap: Add support for system suspend/resume
remoteproc/omap: Add support for runtime auto-suspend/resume
remoteproc/omap: Report device exceptions and trigger recovery
remoteproc/omap: Add watchdog functionality for remote processors
remoteproc/omap: Switch to SPDX license identifiers

Tero Kristo (1):
remoteproc/omap: Remove the platform_data header

.../bindings/remoteproc/ti,omap-remoteproc.yaml | 324 ++++++
Documentation/remoteproc.txt | 2 +-
drivers/remoteproc/Kconfig | 14 +-
drivers/remoteproc/imx_rproc.c | 11 +-
drivers/remoteproc/keystone_remoteproc.c | 4 +-
drivers/remoteproc/mtk_scp.c | 2 +-
drivers/remoteproc/omap_remoteproc.c | 1200 +++++++++++++++++++-
drivers/remoteproc/omap_remoteproc.h | 50 +-
drivers/remoteproc/qcom_q6v5.c | 20 +
drivers/remoteproc/qcom_q6v5.h | 1 +
drivers/remoteproc/qcom_q6v5_adsp.c | 10 +-
drivers/remoteproc/qcom_q6v5_mss.c | 133 ++-
drivers/remoteproc/qcom_q6v5_pas.c | 10 +-
drivers/remoteproc/qcom_q6v5_wcss.c | 2 +-
drivers/remoteproc/qcom_wcnss.c | 2 +-
drivers/remoteproc/remoteproc_core.c | 161 ++-
drivers/remoteproc/remoteproc_debugfs.c | 16 +-
drivers/remoteproc/remoteproc_elf_helpers.h | 96 ++
drivers/remoteproc/remoteproc_elf_loader.c | 189 ++-
drivers/remoteproc/remoteproc_internal.h | 16 +-
drivers/remoteproc/remoteproc_virtio.c | 8 +
drivers/remoteproc/st_remoteproc.c | 4 +-
drivers/remoteproc/st_slim_rproc.c | 6 +-
drivers/remoteproc/stm32_rproc.c | 4 +-
drivers/remoteproc/wkup_m3_rproc.c | 4 +-
include/linux/platform_data/remoteproc-omap.h | 51 -
include/linux/remoteproc.h | 16 +-
27 files changed, 2080 insertions(+), 276 deletions(-)
create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml
create mode 100644 drivers/remoteproc/remoteproc_elf_helpers.h
delete mode 100644 include/linux/platform_data/remoteproc-omap.h


2020-04-03 00:42:18

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] remoteproc updates for v5.7

The pull request you sent on Wed, 1 Apr 2020 18:08:12 -0700:

> https://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git tags/rproc-v5.7

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/c6570114316fbbce4ac5f970578adaf3cbf07ec3

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

2020-04-03 01:49:57

by Nathan Chancellor

[permalink] [raw]
Subject: [PATCH] remoteproc/omap: Fix set_load call in omap_rproc_request_timer

When building arm allyesconfig:

drivers/remoteproc/omap_remoteproc.c:174:44: error: too many arguments
to function call, expected 2, have 3
timer->timer_ops->set_load(timer->odt, 0, 0);
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
1 error generated.

This is due to commit 02e6d546e3bd ("clocksource/drivers/timer-ti-dm:
Enable autoreload in set_pwm") in the clockevents tree interacting with
commit e28edc571925 ("remoteproc/omap: Request a timer(s) for remoteproc
usage") from the rpmsg tree.

This should have been fixed during the merge of the remoteproc tree
since it happened after the clockevents tree merge; however, it does not
look like my email was noticed by either maintainer and I did not pay
attention when the pull was sent since I was on CC.

Fixes: c6570114316f ("Merge tag 'rproc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc")
Link: https://lore.kernel.org/lkml/20200327185055.GA22438@ubuntu-m2-xlarge-x86/
Signed-off-by: Nathan Chancellor <[email protected]>
---
drivers/remoteproc/omap_remoteproc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c
index cdb546f7232e..6955fab0a78b 100644
--- a/drivers/remoteproc/omap_remoteproc.c
+++ b/drivers/remoteproc/omap_remoteproc.c
@@ -171,7 +171,7 @@ static int omap_rproc_request_timer(struct device *dev, struct device_node *np,
}

/* clean counter, remoteproc code will set the value */
- timer->timer_ops->set_load(timer->odt, 0, 0);
+ timer->timer_ops->set_load(timer->odt, 0);

return 0;
}
--
2.26.0

2020-04-03 13:46:44

by Suman Anna

[permalink] [raw]
Subject: Re: [PATCH] remoteproc/omap: Fix set_load call in omap_rproc_request_timer

On 4/2/20 8:31 PM, Nathan Chancellor wrote:
> When building arm allyesconfig:

Thanks, Nathan. Also throws up with omap2plus_defconfig.

>
> drivers/remoteproc/omap_remoteproc.c:174:44: error: too many arguments
> to function call, expected 2, have 3
> timer->timer_ops->set_load(timer->odt, 0, 0);
> ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
> 1 error generated.
>
> This is due to commit 02e6d546e3bd ("clocksource/drivers/timer-ti-dm:
> Enable autoreload in set_pwm") in the clockevents tree interacting with
> commit e28edc571925 ("remoteproc/omap: Request a timer(s) for remoteproc
> usage") from the rpmsg tree.
>
> This should have been fixed during the merge of the remoteproc tree
> since it happened after the clockevents tree merge; however, it does not
> look like my email was noticed by either maintainer and I did not pay
> attention when the pull was sent since I was on CC.
>
> Fixes: c6570114316f ("Merge tag 'rproc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc")
> Link: https://lore.kernel.org/lkml/20200327185055.GA22438@ubuntu-m2-xlarge-x86/
> Signed-off-by: Nathan Chancellor <[email protected]>

Acked-by: Suman Anna <[email protected]>

> ---
> drivers/remoteproc/omap_remoteproc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c
> index cdb546f7232e..6955fab0a78b 100644
> --- a/drivers/remoteproc/omap_remoteproc.c
> +++ b/drivers/remoteproc/omap_remoteproc.c
> @@ -171,7 +171,7 @@ static int omap_rproc_request_timer(struct device *dev, struct device_node *np,
> }
>
> /* clean counter, remoteproc code will set the value */
> - timer->timer_ops->set_load(timer->odt, 0, 0);
> + timer->timer_ops->set_load(timer->odt, 0);
>
> return 0;
> }
>

2020-04-03 17:50:32

by Linus Torvalds

[permalink] [raw]
Subject: Re: [PATCH] remoteproc/omap: Fix set_load call in omap_rproc_request_timer

On Thu, Apr 2, 2020 at 6:32 PM Nathan Chancellor
<[email protected]> wrote:
>
> This is due to commit 02e6d546e3bd ("clocksource/drivers/timer-ti-dm:
> Enable autoreload in set_pwm") in the clockevents tree interacting with
> commit e28edc571925 ("remoteproc/omap: Request a timer(s) for remoteproc
> usage") from the rpmsg tree.
>
> This should have been fixed during the merge of the remoteproc tree
> since it happened after the clockevents tree merge; however, it does not
> look like my email was noticed by either maintainer and I did not pay
> attention when the pull was sent since I was on CC.

Thanks, I've taken this patch directly into my tree since it was my
merge that screwed up.

Linus

2020-04-03 21:20:19

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] remoteproc/omap: Fix set_load call in omap_rproc_request_timer

On Fri 03 Apr 10:48 PDT 2020, Linus Torvalds wrote:

> On Thu, Apr 2, 2020 at 6:32 PM Nathan Chancellor
> <[email protected]> wrote:
> >
> > This is due to commit 02e6d546e3bd ("clocksource/drivers/timer-ti-dm:
> > Enable autoreload in set_pwm") in the clockevents tree interacting with
> > commit e28edc571925 ("remoteproc/omap: Request a timer(s) for remoteproc
> > usage") from the rpmsg tree.
> >
> > This should have been fixed during the merge of the remoteproc tree
> > since it happened after the clockevents tree merge; however, it does not
> > look like my email was noticed by either maintainer and I did not pay
> > attention when the pull was sent since I was on CC.
>
> Thanks, I've taken this patch directly into my tree since it was my
> merge that screwed up.
>

Thanks Nathan, Suman and Linus.