Loading drivers/soc/qcom/peripheral-loader.c +11 −1 Original line number Diff line number Diff line Loading @@ -781,6 +781,16 @@ void pil_shutdown(struct pil_desc *desc) pil_proxy_unvote(desc, 1); else flush_delayed_work(&priv->proxy); } EXPORT_SYMBOL(pil_shutdown); /** * pil_free_memory() - Free memory resources associated with a peripheral * @desc: descriptor from pil_desc_init() */ void pil_free_memory(struct pil_desc *desc) { struct pil_priv *priv = desc->priv; if (priv->region) { dma_free_attrs(desc->dev, priv->region_size, Loading @@ -788,7 +798,7 @@ void pil_shutdown(struct pil_desc *desc) priv->region = NULL; } } EXPORT_SYMBOL(pil_shutdown); EXPORT_SYMBOL(pil_free_memory); static DEFINE_IDA(pil_ida); Loading drivers/soc/qcom/peripheral-loader.h +2 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ struct pil_reset_ops { extern int pil_desc_init(struct pil_desc *desc); extern int pil_boot(struct pil_desc *desc); extern void pil_shutdown(struct pil_desc *desc); extern void pil_free_memory(struct pil_desc *desc); extern void pil_desc_release(struct pil_desc *desc); extern phys_addr_t pil_get_entry_addr(struct pil_desc *desc); extern int pil_do_ramdump(struct pil_desc *desc, void *ramdump_dev); Loading @@ -103,6 +104,7 @@ extern int pil_do_ramdump(struct pil_desc *desc, void *ramdump_dev); static inline int pil_desc_init(struct pil_desc *desc) { return 0; } static inline int pil_boot(struct pil_desc *desc) { return 0; } static inline void pil_shutdown(struct pil_desc *desc) { } static inline void pil_free_memory(struct pil_desc *desc) { } static inline void pil_desc_release(struct pil_desc *desc) { } static inline phys_addr_t pil_get_entry_addr(struct pil_desc *desc) { Loading drivers/soc/qcom/pil-q6v5-mss.c +8 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,13 @@ static void modem_crash_shutdown(const struct subsys_desc *subsys) } } static void modem_free_memory(const struct subsys_desc *subsys) { struct modem_data *drv = subsys_to_drv(subsys); pil_free_memory(&drv->q6->desc); } static int modem_ramdump(int enable, const struct subsys_desc *subsys) { struct modem_data *drv = subsys_to_drv(subsys); Loading Loading @@ -209,6 +216,7 @@ static int pil_subsys_init(struct modem_data *drv, drv->subsys_desc.shutdown = modem_shutdown; drv->subsys_desc.powerup = modem_powerup; drv->subsys_desc.ramdump = modem_ramdump; drv->subsys_desc.free_memory = modem_free_memory; drv->subsys_desc.crash_shutdown = modem_crash_shutdown; drv->subsys_desc.err_fatal_handler = modem_err_fatal_intr_handler; drv->subsys_desc.stop_ack_handler = modem_stop_ack_intr_handler; Loading drivers/soc/qcom/subsys-pil-tz.c +8 −0 Original line number Diff line number Diff line Loading @@ -813,6 +813,13 @@ static int subsys_ramdump(int enable, const struct subsys_desc *subsys) return pil_do_ramdump(&d->desc, d->ramdump_dev); } static void subsys_free_memory(const struct subsys_desc *subsys) { struct pil_tz_data *d = subsys_to_data(subsys); pil_free_memory(&d->desc); } static void subsys_crash_shutdown(const struct subsys_desc *subsys) { struct pil_tz_data *d = subsys_to_data(subsys); Loading Loading @@ -937,6 +944,7 @@ static int pil_tz_driver_probe(struct platform_device *pdev) d->subsys_desc.shutdown = subsys_shutdown; d->subsys_desc.powerup = subsys_powerup; d->subsys_desc.ramdump = subsys_ramdump; d->subsys_desc.free_memory = subsys_free_memory; d->subsys_desc.crash_shutdown = subsys_crash_shutdown; d->subsys_desc.err_fatal_handler = subsys_err_fatal_intr_handler; d->subsys_desc.wdog_bite_handler = subsys_wdog_bite_irq_handler; Loading Loading
drivers/soc/qcom/peripheral-loader.c +11 −1 Original line number Diff line number Diff line Loading @@ -781,6 +781,16 @@ void pil_shutdown(struct pil_desc *desc) pil_proxy_unvote(desc, 1); else flush_delayed_work(&priv->proxy); } EXPORT_SYMBOL(pil_shutdown); /** * pil_free_memory() - Free memory resources associated with a peripheral * @desc: descriptor from pil_desc_init() */ void pil_free_memory(struct pil_desc *desc) { struct pil_priv *priv = desc->priv; if (priv->region) { dma_free_attrs(desc->dev, priv->region_size, Loading @@ -788,7 +798,7 @@ void pil_shutdown(struct pil_desc *desc) priv->region = NULL; } } EXPORT_SYMBOL(pil_shutdown); EXPORT_SYMBOL(pil_free_memory); static DEFINE_IDA(pil_ida); Loading
drivers/soc/qcom/peripheral-loader.h +2 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ struct pil_reset_ops { extern int pil_desc_init(struct pil_desc *desc); extern int pil_boot(struct pil_desc *desc); extern void pil_shutdown(struct pil_desc *desc); extern void pil_free_memory(struct pil_desc *desc); extern void pil_desc_release(struct pil_desc *desc); extern phys_addr_t pil_get_entry_addr(struct pil_desc *desc); extern int pil_do_ramdump(struct pil_desc *desc, void *ramdump_dev); Loading @@ -103,6 +104,7 @@ extern int pil_do_ramdump(struct pil_desc *desc, void *ramdump_dev); static inline int pil_desc_init(struct pil_desc *desc) { return 0; } static inline int pil_boot(struct pil_desc *desc) { return 0; } static inline void pil_shutdown(struct pil_desc *desc) { } static inline void pil_free_memory(struct pil_desc *desc) { } static inline void pil_desc_release(struct pil_desc *desc) { } static inline phys_addr_t pil_get_entry_addr(struct pil_desc *desc) { Loading
drivers/soc/qcom/pil-q6v5-mss.c +8 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,13 @@ static void modem_crash_shutdown(const struct subsys_desc *subsys) } } static void modem_free_memory(const struct subsys_desc *subsys) { struct modem_data *drv = subsys_to_drv(subsys); pil_free_memory(&drv->q6->desc); } static int modem_ramdump(int enable, const struct subsys_desc *subsys) { struct modem_data *drv = subsys_to_drv(subsys); Loading Loading @@ -209,6 +216,7 @@ static int pil_subsys_init(struct modem_data *drv, drv->subsys_desc.shutdown = modem_shutdown; drv->subsys_desc.powerup = modem_powerup; drv->subsys_desc.ramdump = modem_ramdump; drv->subsys_desc.free_memory = modem_free_memory; drv->subsys_desc.crash_shutdown = modem_crash_shutdown; drv->subsys_desc.err_fatal_handler = modem_err_fatal_intr_handler; drv->subsys_desc.stop_ack_handler = modem_stop_ack_intr_handler; Loading
drivers/soc/qcom/subsys-pil-tz.c +8 −0 Original line number Diff line number Diff line Loading @@ -813,6 +813,13 @@ static int subsys_ramdump(int enable, const struct subsys_desc *subsys) return pil_do_ramdump(&d->desc, d->ramdump_dev); } static void subsys_free_memory(const struct subsys_desc *subsys) { struct pil_tz_data *d = subsys_to_data(subsys); pil_free_memory(&d->desc); } static void subsys_crash_shutdown(const struct subsys_desc *subsys) { struct pil_tz_data *d = subsys_to_data(subsys); Loading Loading @@ -937,6 +944,7 @@ static int pil_tz_driver_probe(struct platform_device *pdev) d->subsys_desc.shutdown = subsys_shutdown; d->subsys_desc.powerup = subsys_powerup; d->subsys_desc.ramdump = subsys_ramdump; d->subsys_desc.free_memory = subsys_free_memory; d->subsys_desc.crash_shutdown = subsys_crash_shutdown; d->subsys_desc.err_fatal_handler = subsys_err_fatal_intr_handler; d->subsys_desc.wdog_bite_handler = subsys_wdog_bite_irq_handler; Loading