[GIT PULL] remoteproc updates for v5.9

From: Bjorn Andersson
Date: Tue Aug 11 2020 - 01:32:06 EST


The following changes since commit b3a9e3b9622ae10064826dccb4f7a52bd88c7407:

Linux 5.8-rc1 (2020-06-14 12:45:04 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 62b8f9e99329c92286534d05dac9dc0a6e0ba0cf:

remoteproc: core: Register the character device interface (2020-08-04 20:17:08 -0700)

----------------------------------------------------------------
remoteproc updates for v5.9

This introduces a new "detached" state for remote processors that are
deemed to be running at the time Linux boots and the infrastructure for
"attaching" to these. It then introduces the support for performing this
operation for the STM32 platform.

The coredump functionality is moved out from the core file and gains
support for an optional mode where the recovery phase awaits the
notification from devcoredump that the dump should be released. This
allows userspace to grab the coredump in scenarios where vmalloc space
is too low for creating a complete copy of the coredump before handing
this to devcoredump.

A new character device based interface is introduced to allow tying the
stoppage of a remote processor to the termination of a user space
process. This is useful in situations when such process provides crucial
resources/operations for the firmware running on the remote processor.

The Texas Instrument K3 driver gains support for the C66x and C71x DSPs.

Qualcomm remoteprocs gains support for stashing relocation information
in IMEM, to aid post mortem debugging and the crash notification
mechanism is generalized to be reusable in cases where loosely coupled
drivers needs to know about the status of a remote processor. One such
example is the IPA hardware block, which is jointly owned with the
modem and migrated to this improved interface.

It also introduces a number of bug fixes and debug improvements for the
Qualcomm modem remoteproc driver.

And it cleans up the inconsistent interface for remoteproc drivers to
implement power management.

----------------------------------------------------------------
Alex Elder (2):
net: ipa: new notification infrastructure
remoteproc: kill IPA notify code

Bjorn Andersson (4):
dt-bindings: remoteproc: Add Qualcomm PIL info binding
remoteproc: qcom: Introduce helper to store pil info in IMEM
remoteproc: qcom: Update PIL relocation info on load
remoteproc: qcom: pil-info: Fix shift overflow

Guennadi Liakhovetski (1):
rpmsg: update documentation

Kefeng Wang (1):
remoteproc: qcom: Add missing slab.h

Lee Jones (2):
remoteproc: remoteproc_core: Use 'gnu_printf' format notation
remoteproc: qcom_sysmon: Solve function header bitrot issues

Mathieu Poirier (22):
remoteproc: ingenic: Move clock handling to prepare/unprepare callbacks
Revert "remoteproc: Add support for runtime PM"
remoteproc: Add new RPROC_DETACHED state
remoteproc: Add new attach() remoteproc operation
remoteproc: Introducing function rproc_attach()
remoteproc: Introducing function rproc_actuate()
remoteproc: Introducing function rproc_validate()
remoteproc: Refactor function rproc_boot()
remoteproc: Refactor function rproc_trigger_auto_boot()
remoteproc: Refactor function rproc_free_vring()
remoteproc: Properly handle firmware name when attaching
remoteproc: stm32: Decouple rproc from memory translation
remoteproc: stm32: Request IRQ with platform device
remoteproc: stm32: Decouple rproc from DT parsing
remoteproc: stm32: Remove memory translation from DT parsing
remoteproc: stm32: Parse syscon that will manage M4 synchronisation
remoteproc: stm32: Properly set co-processor state when attaching
remoteproc: Make function rproc_resource_cleanup() public
remoteproc: stm32: Parse memory regions when attaching to M4
remoteproc: stm32: Properly handle the resource table when attaching
remoteproc: stm32: Introduce new attach() operation
remoteproc: stm32: Update M4 state in stm32_rproc_stop()

Rishabh Bhatnagar (6):
remoteproc: qcom: Add per subsystem SSR notification
remoteproc: qcom: Add notification types to SSR
remoteproc: Move coredump functionality to a new file
remoteproc: Pass size and offset as arguments to segment dump function
remoteproc: Add inline coredump functionality
remoteproc: Add coredump debugfs entry

Sibi Sankar (8):
remoteproc: qcom_q6v5_mss: Monitor MSS_STATUS for boot completion
remoteproc: qcom_q6v5_mss: Replace mask based tracking with size
remoteproc: qcom_q6v5_mss: Add MBA log extraction support
remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load
remoteproc: qcom_q6v5_mss: Validate modem blob firmware size before load
remoteproc: qcom_q6v5_mss: Add modem debug policy support
remoteproc: qcom: q6v5: Update running state before requesting stop
remoteproc: qcom_q6v5_mss: Remove redundant running state

Siddharth Gupta (2):
remoteproc: Add remoteproc character device interface
remoteproc: core: Register the character device interface

Suman Anna (8):
dt-bindings: arm: keystone: Add common TI SCI bindings
remoteproc: Introduce rproc_of_parse_firmware() helper
remoteproc: k3: Add TI-SCI processor control helper functions
dt-bindings: remoteproc: Add bindings for C66x DSPs on TI K3 SoCs
remoteproc: k3-dsp: Add a remoteproc driver of K3 C66x DSPs
remoteproc: k3-dsp: Add support for L2RAM loading on C66x DSPs
dt-bindings: remoteproc: k3-dsp: Update bindings for C71x DSPs
remoteproc: k3-dsp: Add support for C71x DSPs

.../bindings/arm/keystone/ti,k3-sci-common.yaml | 44 ++
.../bindings/remoteproc/qcom,pil-info.yaml | 44 ++
.../bindings/remoteproc/ti,k3-dsp-rproc.yaml | 184 +++++
Documentation/rpmsg.txt | 6 +-
Documentation/userspace-api/ioctl/ioctl-number.rst | 1 +
MAINTAINERS | 1 +
drivers/net/ipa/ipa.h | 3 +
drivers/net/ipa/ipa_modem.c | 56 +-
drivers/remoteproc/Kconfig | 34 +-
drivers/remoteproc/Makefile | 5 +-
drivers/remoteproc/ingenic_rproc.c | 84 +--
drivers/remoteproc/qcom_common.c | 133 +++-
drivers/remoteproc/qcom_common.h | 5 +-
drivers/remoteproc/qcom_pil_info.c | 129 ++++
drivers/remoteproc/qcom_pil_info.h | 9 +
drivers/remoteproc/qcom_q6v5.c | 2 +
drivers/remoteproc/qcom_q6v5_adsp.c | 16 +-
drivers/remoteproc/qcom_q6v5_ipa_notify.c | 85 ---
drivers/remoteproc/qcom_q6v5_mss.c | 157 ++--
drivers/remoteproc/qcom_q6v5_pas.c | 15 +-
drivers/remoteproc/qcom_q6v5_wcss.c | 14 +-
drivers/remoteproc/qcom_sysmon.c | 4 +-
drivers/remoteproc/qcom_wcnss.c | 14 +-
drivers/remoteproc/remoteproc_cdev.c | 124 ++++
drivers/remoteproc/remoteproc_core.c | 457 ++++++------
drivers/remoteproc/remoteproc_coredump.c | 325 +++++++++
drivers/remoteproc/remoteproc_debugfs.c | 90 +++
drivers/remoteproc/remoteproc_internal.h | 42 ++
drivers/remoteproc/remoteproc_sysfs.c | 17 +-
drivers/remoteproc/stm32_rproc.c | 214 +++++-
drivers/remoteproc/ti_k3_dsp_remoteproc.c | 787 +++++++++++++++++++++
drivers/remoteproc/ti_sci_proc.h | 104 +++
include/linux/remoteproc.h | 36 +-
include/linux/remoteproc/qcom_q6v5_ipa_notify.h | 82 ---
include/linux/remoteproc/qcom_rproc.h | 36 +-
include/uapi/linux/remoteproc_cdev.h | 37 +
36 files changed, 2795 insertions(+), 601 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/keystone/ti,k3-sci-common.yaml
create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,pil-info.yaml
create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml
create mode 100644 drivers/remoteproc/qcom_pil_info.c
create mode 100644 drivers/remoteproc/qcom_pil_info.h
delete mode 100644 drivers/remoteproc/qcom_q6v5_ipa_notify.c
create mode 100644 drivers/remoteproc/remoteproc_cdev.c
create mode 100644 drivers/remoteproc/remoteproc_coredump.c
create mode 100644 drivers/remoteproc/ti_k3_dsp_remoteproc.c
create mode 100644 drivers/remoteproc/ti_sci_proc.h
delete mode 100644 include/linux/remoteproc/qcom_q6v5_ipa_notify.h
create mode 100644 include/uapi/linux/remoteproc_cdev.h