msm: mdm: Target specific dump collection timeout
Add the ability to specify the ramdump collection timeout on a per target basis. Some targets require more than the one minute default value. CRs-Fixed: 370177 Change-Id: Ic3c52817f61c338942d75624a6cb9a1ab9338801 Signed-off-by: Ameya Thakur <ameyat@codeaurora.org>
This commit is contained in:
committed by
Stephen Boyd
parent
c29b0f997a
commit
acffdf4e4a
@@ -1712,6 +1712,7 @@ static struct mdm_platform_data mdm_platform_data = {
|
||||
.sfr_query = 1,
|
||||
.vddmin_resource = &mdm_vddmin_rscs,
|
||||
.peripheral_platform_device = &apq8064_device_hsic_host,
|
||||
.ramdump_timeout_ms = 120000,
|
||||
};
|
||||
|
||||
static struct tsens_platform_data apq_tsens_pdata = {
|
||||
|
||||
@@ -1291,6 +1291,7 @@ static struct mdm_platform_data sglte_platform_data = {
|
||||
.ramdump_delay_ms = 1000,
|
||||
.soft_reset_inverted = 1,
|
||||
.peripheral_platform_device = NULL,
|
||||
.ramdump_timeout_ms = 600000,
|
||||
};
|
||||
|
||||
#define MSM_TSIF0_PHYS (0x18200000)
|
||||
|
||||
@@ -30,6 +30,7 @@ struct mdm_platform_data {
|
||||
int no_powerdown_after_ramdumps;
|
||||
struct mdm_vddmin_resource *vddmin_resource;
|
||||
struct platform_device *peripheral_platform_device;
|
||||
const unsigned int ramdump_timeout_ms;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
static int mdm_debug_on;
|
||||
static struct workqueue_struct *mdm_queue;
|
||||
static struct workqueue_struct *mdm_sfr_queue;
|
||||
static unsigned int dump_timeout_ms;
|
||||
|
||||
#define EXTERNAL_MODEM "external_modem"
|
||||
|
||||
@@ -395,7 +396,7 @@ static int mdm_subsys_ramdumps(int want_dumps,
|
||||
mdm_drv->boot_type = CHARM_RAM_DUMPS;
|
||||
complete(&mdm_needs_reload);
|
||||
if (!wait_for_completion_timeout(&mdm_ram_dumps,
|
||||
msecs_to_jiffies(MDM_RDUMP_TIMEOUT))) {
|
||||
msecs_to_jiffies(dump_timeout_ms))) {
|
||||
mdm_drv->mdm_ram_dump_status = -ETIMEDOUT;
|
||||
pr_info("%s: mdm modem ramdumps timed out.\n",
|
||||
__func__);
|
||||
@@ -516,6 +517,8 @@ static void mdm_modem_initialize_data(struct platform_device *pdev,
|
||||
|
||||
mdm_drv->ops = mdm_ops;
|
||||
mdm_drv->pdata = pdev->dev.platform_data;
|
||||
dump_timeout_ms = mdm_drv->pdata->ramdump_timeout_ms > 0 ?
|
||||
mdm_drv->pdata->ramdump_timeout_ms : MDM_RDUMP_TIMEOUT;
|
||||
}
|
||||
|
||||
int mdm_common_create(struct platform_device *pdev,
|
||||
|
||||
Reference in New Issue
Block a user