static int modem_powerup(const struct subsys_desc *subsys) { pil_force_boot("modem_fw"); pil_force_boot("modem"); enable_irq(Q6FW_WDOG_EXPIRED_IRQ); enable_irq(Q6SW_WDOG_EXPIRED_IRQ); return 0; }
static int modem_powerup(const struct subsys_data *subsys) { pil_force_boot("modem_fw"); pil_force_boot("modem"); enable_irq(Q6FW_WDOG_EXPIRED_IRQ); enable_irq(Q6SW_WDOG_EXPIRED_IRQ); schedule_delayed_work(&modem_wdog_check_work, msecs_to_jiffies(MODEM_WDOG_CHECK_TIMEOUT_MS)); return 0; }
static int modem_powerup(const struct subsys_desc *subsys) { struct q6v4_modem *drv = desc_to_modem(subsys); if (drv->loadable) { pil_force_boot("modem_fw"); pil_force_boot("modem"); } enable_irq(drv->q6_fw.wdog_irq); enable_irq(drv->q6_sw.wdog_irq); return 0; }
/** * Powerup function * called by the restart notifier * */ static int dsps_powerup(const struct subsys_desc *subsys) { pr_debug("%s\n", __func__); dsps_power_on_handler(); pil_force_boot(drv->pdata->pil_name); atomic_set(&drv->crash_in_progress, 0); enable_irq(drv->wdog_irq); return 0; }
static int riva_powerup(const struct subsys_data *subsys) { struct platform_device *pdev = wcnss_get_platform_device(); struct wcnss_wlan_config *pwlanconfig = wcnss_get_wlan_config(); int ret = -1; if (pdev && pwlanconfig) ret = wcnss_wlan_power(&pdev->dev, pwlanconfig, WCNSS_WLAN_SWITCH_ON); if (!ret) pil_force_boot("wcnss"); ss_restart_inprogress = false; enable_irq(RIVA_APSS_WDOG_BITE_RESET_RDY_IRQ); return ret; }
static int riva_powerup(const struct subsys_data *subsys) { struct platform_device *pdev = wcnss_get_platform_device(); struct wcnss_wlan_config *pwlanconfig = wcnss_get_wlan_config(); int ret = -1; if (pdev && pwlanconfig) ret = wcnss_wlan_power(&pdev->dev, pwlanconfig, WCNSS_WLAN_SWITCH_ON); if (!ret) { msleep(1000); pil_force_boot("wcnss"); } ss_restart_inprogress = false; enable_irq(RIVA_APSS_WDOG_BITE_RESET_RDY_IRQ); schedule_delayed_work(&cancel_vote_work, msecs_to_jiffies(5000)); return ret; }
static int riva_powerup(const struct subsys_data *subsys) { struct platform_device *pdev = wcnss_get_platform_device(); struct wcnss_wlan_config *pwlanconfig = wcnss_get_wlan_config(); int ret = -1; if (pdev && pwlanconfig) ret = wcnss_wlan_power(&pdev->dev, pwlanconfig, WCNSS_WLAN_SWITCH_ON); /* delay PIL operation, this SSR may be happening soon after kernel * resumes because of a SMSM RESET by Riva when APPS was suspended. * PIL fails to locate the images without this delay */ if (!ret) { msleep(1000); pil_force_boot("wcnss"); } ss_restart_inprogress = false; enable_irq(RIVA_APSS_WDOG_BITE_RESET_RDY_IRQ); return ret; }
static int riva_powerup(const struct subsys_desc *subsys) { struct platform_device *pdev = wcnss_get_platform_device(); struct wcnss_wlan_config *pwlanconfig = wcnss_get_wlan_config(); int ret = -1; pr_info(MODULE_NAME "%s + \n", __FUNCTION__); if (pdev && pwlanconfig) ret = wcnss_wlan_power(&pdev->dev, pwlanconfig, WCNSS_WLAN_SWITCH_ON); /* delay PIL operation, this SSR may be happening soon after kernel * resumes because of a SMSM RESET by Riva when APPS was suspended. * PIL fails to locate the images without this delay */ if (!ret) { msleep(1000); pil_force_boot("wcnss"); } ss_restart_inprogress = false; enable_irq(RIVA_APSS_WDOG_BITE_RESET_RDY_IRQ); schedule_delayed_work(&cancel_vote_work, msecs_to_jiffies(5000)); pr_info(MODULE_NAME "%s - \n", __FUNCTION__); return ret; }
static int gss_powerup(const struct subsys_data *subsys) { pil_force_boot("gss"); enable_irq(GSS_A5_WDOG_EXPIRED); return 0; }
int subsys_q6_powerup(const struct subsys_data *crashed_subsys) { int ret = pil_force_boot("q6"); enable_irq(LPASS_Q6SS_WDOG_EXPIRED); return ret; }