This patch brings-in support for t7xx wwan device firmware flashing &
coredump collection using devlink.
Driver Registers with Devlink framework.
Implements devlink ops flash_update callback that programs modem firmware.
Creates region & snapshot required for device coredump log collection.
On early detection of wwan device in fastboot mode driver sets up CLDMA0 HW
tx/rx queues for raw data transfer then registers with devlink framework.
Upon receiving firmware image & partition details driver sends fastboot
commands for flashing the firmware.
In this flow the fastboot command & response gets exchanged between driver
and device. Once firmware flashing is success completion status is reported
to user space application.
Below is the devlink command usage for firmware flashing
$devlink dev flash pci/$BDF file ABC.img component ABC
Note: ABC.img is the firmware to be programmed to "ABC" partition.
In case of coredump collection when wwan device encounters an exception
it reboots & stays in fastboot mode for coredump collection by host driver.
On detecting exception state driver collects the core dump, creates the
devlink region & reports an event to user space application for dump
collection. The user space application invokes devlink region read command
for dump collection.
Below are the devlink commands used for coredump collection.
devlink region new pci/$BDF/mr_dump
devlink region read pci/$BDF/mr_dump snapshot $ID address $ADD length $LEN
devlink region del pci/$BDF/mr_dump snapshot $ID
Signed-off-by: M Chetan Kumar <email address hidden>
Signed-off-by: Devegowda Chandrashekar <email address hidden>
Signed-off-by: Mishra Soumya Prakash <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 87dae9e70bf7be2bd8a3c561fe3ddf666eb8a7a4)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>
PCI rescan module implements "rescan work queue". In firmware flashing
or coredump collection procedure WWAN device is programmed to boot in
fastboot mode and a work item is scheduled for removal & detection.
The WWAN device is reset using APCI call as part driver removal flow.
Work queue rescans pci bus at fixed interval for device detection,
later when device is detect work queue exits.
Signed-off-by: Haijun Liu <email address hidden>
Co-developed-by: Madhusmita Sahu <email address hidden>
Signed-off-by: Madhusmita Sahu <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>
Signed-off-by: M Chetan Kumar <email address hidden>
Signed-off-by: Devegowda Chandrashekar <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 140424d90165d83c75b23ead7c3573bb6dd74f50)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>
To support cases such as FW update or Core dump, the t7xx device
is capable of signaling the host that a special port needs
to be created before the handshake phase.
This patch adds the infrastructure required to create the
early ports which also requires a different configuration of
CLDMA queues.
Signed-off-by: Haijun Liu <email address hidden>
Co-developed-by: Madhusmita Sahu <email address hidden>
Signed-off-by: Madhusmita Sahu <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>
Signed-off-by: Devegowda Chandrashekar <email address hidden>
Signed-off-by: M Chetan Kumar <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 007f26f0d68e28509d369fe0e71845e095bdd955)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>