qcacld-3.0: Collect ramdump before kernel panic

FW dumps is not getting collected during kernel panic handler.
Hence move ramdump collection before kernel panic.

CRs-Fixed: 2362637
Change-Id: Id9f1dfefe1560affff6c4ecfca1b8fdba3eb0928
This commit is contained in:
Yuanyuan Liu
2018-12-03 15:41:02 -08:00
committed by nshrivas
szülő ec9620d1fd
commit 3ab5531e6d
4 fájl változott, egészen pontosan 45 új sor hozzáadva és 6 régi sor törölve

Fájl megtekintése

@@ -1669,6 +1669,30 @@ int pld_force_assert_target(struct device *dev)
}
}
/**
* pld_collect_rddm() - Collect ramdump before FW assert.
* This can used to collect ramdump before FW assert.
* @dev: device
*
* Return: 0 if ramdump is collected successfully
* Non zero failure code for errors
*/
int pld_collect_rddm(struct device *dev)
{
enum pld_bus_type type = pld_get_bus_type(dev);
switch (type) {
case PLD_BUS_TYPE_PCIE:
return pld_pcie_collect_rddm(dev);
case PLD_BUS_TYPE_SNOC:
case PLD_BUS_TYPE_SDIO:
return 0;
default:
pr_err("Invalid device type %d\n", type);
return -EINVAL;
}
}
/**
* pld_is_fw_dump_skipped() - get fw dump skipped status.
* The subsys ssr status help the driver to decide whether to skip

Fájl megtekintése

@@ -284,6 +284,11 @@ static inline int pld_pcie_force_assert_target(struct device *dev)
return -EINVAL;
}
static inline int pld_pcie_collect_rddm(struct device *dev)
{
return 0;
}
static inline int pld_pcie_get_user_msi_assignment(struct device *dev,
char *user_name,
int *num_vectors,
@@ -319,6 +324,10 @@ void pld_pcie_schedule_recovery_work(struct device *dev,
enum pld_recovery_reason reason);
void pld_pcie_device_self_recovery(struct device *dev,
enum pld_recovery_reason reason);
static inline int pld_pcie_collect_rddm(struct device *dev)
{
return cnss_force_collect_rddm(dev);
}
static inline void *pld_pcie_smmu_get_mapping(struct device *dev)
{