diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2021-09-15 14:58:23 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2021-09-16 14:32:53 +0100 |
| commit | d1ab2647de3272e878604720ac0af66442e8d1d3 (patch) | |
| tree | 93eb8b63d72be96c126faa5a1257a72c05e71851 /drivers/net/wwan/iosm/iosm_ipc_coredump.c | |
| parent | octeontx2-pf: CN10K: Hide RPM stats over ethtool (diff) | |
| download | linux-d1ab2647de3272e878604720ac0af66442e8d1d3.tar.gz linux-d1ab2647de3272e878604720ac0af66442e8d1d3.zip | |
Revert "net: wwan: iosm: firmware flashing and coredump collection"
The devlink parameters are not the right mechanism to pass
extra parameters to device flashing. The params added are
also undocumented.
This reverts commit 13bb8429ca98 ("net: wwan: iosm: firmware
flashing and coredump collection").
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wwan/iosm/iosm_ipc_coredump.c')
| -rw-r--r-- | drivers/net/wwan/iosm/iosm_ipc_coredump.c | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/drivers/net/wwan/iosm/iosm_ipc_coredump.c b/drivers/net/wwan/iosm/iosm_ipc_coredump.c deleted file mode 100644 index fba3c3454e80..000000000000 --- a/drivers/net/wwan/iosm/iosm_ipc_coredump.c +++ /dev/null @@ -1,110 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * Copyright (C) 2020-2021 Intel Corporation. - */ - -#include "iosm_ipc_coredump.h" - -/* Collect coredump data from modem */ -int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry, - u32 region_size) -{ - int ret, bytes_to_read, bytes_read = 0, i = 0; - s32 remaining; - u8 *data_ptr; - - data_ptr = vmalloc(region_size); - if (!data_ptr) - return -ENOMEM; - - remaining = devlink->cd_file_info[entry].actual_size; - ret = ipc_devlink_send_cmd(devlink, rpsi_cmd_coredump_get, entry); - if (ret) { - dev_err(devlink->dev, "Send coredump_get cmd failed"); - goto get_cd_fail; - } - while (remaining > 0) { - bytes_to_read = min(remaining, MAX_DATA_SIZE); - bytes_read = 0; - ret = ipc_imem_sys_devlink_read(devlink, data_ptr + i, - bytes_to_read, &bytes_read); - if (ret) { - dev_err(devlink->dev, "CD data read failed"); - goto get_cd_fail; - } - remaining -= bytes_read; - i += bytes_read; - } - - *data = data_ptr; - - return ret; -get_cd_fail: - vfree(data_ptr); - return ret; -} - -/* Get coredump list to be collected from modem */ -int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd) -{ - u32 byte_read, num_entries, file_size; - struct iosm_cd_table *cd_table; - u8 size[MAX_SIZE_LEN], i; - char *filename; - int ret = 0; - - cd_table = kzalloc(MAX_CD_LIST_SIZE, GFP_KERNEL); - if (!cd_table) { - ret = -ENOMEM; - goto cd_init_fail; - } - - ret = ipc_devlink_send_cmd(devlink, cmd, MAX_CD_LIST_SIZE); - if (ret) { - dev_err(devlink->dev, "rpsi_cmd_coredump_start failed"); - goto cd_init_fail; - } - - ret = ipc_imem_sys_devlink_read(devlink, (u8 *)cd_table, - MAX_CD_LIST_SIZE, &byte_read); - if (ret) { - dev_err(devlink->dev, "Coredump data is invalid"); - goto cd_init_fail; - } - - if (byte_read != MAX_CD_LIST_SIZE) - goto cd_init_fail; - - if (cmd == rpsi_cmd_coredump_start) { - num_entries = le32_to_cpu(cd_table->list.num_entries); - if (num_entries == 0 || num_entries > IOSM_NOF_CD_REGION) { - ret = -EINVAL; - goto cd_init_fail; - } - - for (i = 0; i < num_entries; i++) { - file_size = le32_to_cpu(cd_table->list.entry[i].size); - filename = cd_table->list.entry[i].filename; - - if (file_size > devlink->cd_file_info[i].default_size) { - ret = -EINVAL; - goto cd_init_fail; - } - - devlink->cd_file_info[i].actual_size = file_size; - dev_dbg(devlink->dev, "file: %s actual size %d", - filename, file_size); - devlink_flash_update_status_notify(devlink->devlink_ctx, - filename, - "FILENAME", 0, 0); - snprintf(size, sizeof(size), "%d", file_size); - devlink_flash_update_status_notify(devlink->devlink_ctx, - size, "FILE SIZE", - 0, 0); - } - } - -cd_init_fail: - kfree(cd_table); - return ret; -} |
