net: wwan: iosm: firmware flashing and coredump collection
authorM Chetan Kumar <m.chetan.kumar@linux.intel.com>
Mon, 13 Sep 2021 13:04:12 +0000 (18:34 +0530)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Sep 2021 14:21:10 +0000 (15:21 +0100)
commit13bb8429ca985497bfba3a4afa6cd470d15fed10
tree1d95dd602f7ef291b0819d623f3c1562c48589d6
parent08c53aee26d4413b860f5042873b56ecc959c42c
net: wwan: iosm: firmware flashing and coredump collection

This patch brings-in support for M.2 7560 Device firmware flashing &
coredump collection using devlink.
- Driver Registers with Devlink framework.
- Register devlink params callback for configuring device params
  required in flashing or coredump flow.
- Implements devlink ops flash_update callback that programs modem
  firmware.
- Creates region & snapshot required for device coredump log collection.

On early detection of device in boot rom stage. Driver registers with
Devlink framework and establish transport channel for PSI (Primary Signed
Image) injection. Once PSI is injected to device, the device execution
stage details are read to determine whether device is in flash or
exception mode. The collected information is reported to devlink user
space application & based on this informationi, application proceeds with
either modem firmware flashing or coredump collection.

Signed-off-by: M Chetan Kumar <m.chetan.kumar@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 files changed:
drivers/net/wwan/Kconfig
drivers/net/wwan/iosm/Makefile
drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.c
drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.h
drivers/net/wwan/iosm/iosm_ipc_coredump.c [new file with mode: 0644]
drivers/net/wwan/iosm/iosm_ipc_coredump.h [new file with mode: 0644]
drivers/net/wwan/iosm/iosm_ipc_devlink.c [new file with mode: 0644]
drivers/net/wwan/iosm/iosm_ipc_devlink.h [new file with mode: 0644]
drivers/net/wwan/iosm/iosm_ipc_flash.c [new file with mode: 0644]
drivers/net/wwan/iosm/iosm_ipc_flash.h [new file with mode: 0644]
drivers/net/wwan/iosm/iosm_ipc_imem.c
drivers/net/wwan/iosm/iosm_ipc_imem.h
drivers/net/wwan/iosm/iosm_ipc_imem_ops.c
drivers/net/wwan/iosm/iosm_ipc_imem_ops.h