Loading drivers/soc/qcom/peripheral-loader.c +3 −12 Original line number Diff line number Diff line Loading @@ -835,7 +835,9 @@ int pil_boot(struct pil_desc *desc) } if (desc->ops->init_image) ret = desc->ops->init_image(desc, fw->data, fw->size); ret = desc->ops->init_image(desc, fw->data, fw->size, priv->region_start, priv->region_end - priv->region_start); if (ret) { pil_err(desc, "Invalid firmware metadata\n"); subsys_set_error(desc->subsys_dev, firmware_error_msg); Loading @@ -851,17 +853,6 @@ int pil_boot(struct pil_desc *desc) } if (desc->subsys_vmid > 0) { /* In case of modem ssr, we need to assign memory back to linux. * This is not true after cold boot since linux already owns it. * Also for secure boot devices, modem memory has to be released * after MBA is booted. */ if (desc->modem_ssr) { ret = pil_assign_mem_to_linux(desc, priv->region_start, (priv->region_end - priv->region_start)); if (ret) pil_err(desc, "Failed to assign to linux, ret- %d\n", ret); } ret = pil_assign_mem_to_subsys_and_linux(desc, priv->region_start, (priv->region_end - priv->region_start)); Loading drivers/soc/qcom/peripheral-loader.h +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ struct pil_image_info { */ struct pil_reset_ops { int (*init_image)(struct pil_desc *pil, const u8 *metadata, size_t size); size_t size, phys_addr_t addr, size_t sz); int (*mem_setup)(struct pil_desc *pil, phys_addr_t addr, size_t size); int (*verify_blob)(struct pil_desc *pil, phys_addr_t phy_addr, size_t size); Loading drivers/soc/qcom/pil-msa.c +18 −3 Original line number Diff line number Diff line Loading @@ -651,7 +651,7 @@ err_invalid_fw: } static int pil_msa_auth_modem_mdt(struct pil_desc *pil, const u8 *metadata, size_t size) size_t size, phys_addr_t phy_addr, size_t phy_sz) { struct modem_data *drv = dev_get_drvdata(pil->dev); void *mdata_virt; Loading Loading @@ -680,6 +680,19 @@ static int pil_msa_auth_modem_mdt(struct pil_desc *pil, const u8 *metadata, wmb(); if (pil->subsys_vmid > 0) { /** * In case of modem ssr, we need to assign memory back to linux. * This is not true after cold boot since linux already owns * it. Also for secure boot devices, modem memory has to be * released after MBA is booted */ if (pil->modem_ssr) { ret = pil_assign_mem_to_linux(pil, phy_addr, phy_sz); if (ret) dev_err(pil->dev, "Failed to assign to linux, ret- %d\n", ret); } ret = pil_assign_mem_to_subsys(pil, mdata_phys, ALIGN(size, SZ_4K)); if (ret) { Loading Loading @@ -732,7 +745,8 @@ fail: } static int pil_msa_mss_reset_mba_load_auth_mdt(struct pil_desc *pil, const u8 *metadata, size_t size) const u8 *metadata, size_t size, phys_addr_t modem_reg, size_t sz_modem_reg) { int ret; Loading @@ -740,7 +754,8 @@ static int pil_msa_mss_reset_mba_load_auth_mdt(struct pil_desc *pil, if (ret) return ret; return pil_msa_auth_modem_mdt(pil, metadata, size); return pil_msa_auth_modem_mdt(pil, metadata, size, modem_reg, sz_modem_reg); } static int pil_msa_mba_verify_blob(struct pil_desc *pil, phys_addr_t phy_addr, Loading drivers/soc/qcom/subsys-pil-bg.c +2 −1 Original line number Diff line number Diff line Loading @@ -303,7 +303,8 @@ static int bg_shutdown(const struct subsys_desc *subsys, bool force_stop) * Return: 0 on success. Error code on failure. */ static int bg_auth_metadata(struct pil_desc *pil, const u8 *metadata, size_t size) const u8 *metadata, size_t size, phys_addr_t addr, size_t sz) { struct pil_bg_data *bg_data = desc_to_data(pil); struct tzapp_bg_req bg_tz_req; Loading drivers/soc/qcom/subsys-pil-tz.c +2 −1 Original line number Diff line number Diff line Loading @@ -582,7 +582,8 @@ static void pil_remove_proxy_vote(struct pil_desc *pil) } static int pil_init_image_trusted(struct pil_desc *pil, const u8 *metadata, size_t size) const u8 *metadata, size_t size, phys_addr_t addr, size_t sz) { struct pil_tz_data *d = desc_to_data(pil); struct pas_init_image_req { Loading Loading
drivers/soc/qcom/peripheral-loader.c +3 −12 Original line number Diff line number Diff line Loading @@ -835,7 +835,9 @@ int pil_boot(struct pil_desc *desc) } if (desc->ops->init_image) ret = desc->ops->init_image(desc, fw->data, fw->size); ret = desc->ops->init_image(desc, fw->data, fw->size, priv->region_start, priv->region_end - priv->region_start); if (ret) { pil_err(desc, "Invalid firmware metadata\n"); subsys_set_error(desc->subsys_dev, firmware_error_msg); Loading @@ -851,17 +853,6 @@ int pil_boot(struct pil_desc *desc) } if (desc->subsys_vmid > 0) { /* In case of modem ssr, we need to assign memory back to linux. * This is not true after cold boot since linux already owns it. * Also for secure boot devices, modem memory has to be released * after MBA is booted. */ if (desc->modem_ssr) { ret = pil_assign_mem_to_linux(desc, priv->region_start, (priv->region_end - priv->region_start)); if (ret) pil_err(desc, "Failed to assign to linux, ret- %d\n", ret); } ret = pil_assign_mem_to_subsys_and_linux(desc, priv->region_start, (priv->region_end - priv->region_start)); Loading
drivers/soc/qcom/peripheral-loader.h +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ struct pil_image_info { */ struct pil_reset_ops { int (*init_image)(struct pil_desc *pil, const u8 *metadata, size_t size); size_t size, phys_addr_t addr, size_t sz); int (*mem_setup)(struct pil_desc *pil, phys_addr_t addr, size_t size); int (*verify_blob)(struct pil_desc *pil, phys_addr_t phy_addr, size_t size); Loading
drivers/soc/qcom/pil-msa.c +18 −3 Original line number Diff line number Diff line Loading @@ -651,7 +651,7 @@ err_invalid_fw: } static int pil_msa_auth_modem_mdt(struct pil_desc *pil, const u8 *metadata, size_t size) size_t size, phys_addr_t phy_addr, size_t phy_sz) { struct modem_data *drv = dev_get_drvdata(pil->dev); void *mdata_virt; Loading Loading @@ -680,6 +680,19 @@ static int pil_msa_auth_modem_mdt(struct pil_desc *pil, const u8 *metadata, wmb(); if (pil->subsys_vmid > 0) { /** * In case of modem ssr, we need to assign memory back to linux. * This is not true after cold boot since linux already owns * it. Also for secure boot devices, modem memory has to be * released after MBA is booted */ if (pil->modem_ssr) { ret = pil_assign_mem_to_linux(pil, phy_addr, phy_sz); if (ret) dev_err(pil->dev, "Failed to assign to linux, ret- %d\n", ret); } ret = pil_assign_mem_to_subsys(pil, mdata_phys, ALIGN(size, SZ_4K)); if (ret) { Loading Loading @@ -732,7 +745,8 @@ fail: } static int pil_msa_mss_reset_mba_load_auth_mdt(struct pil_desc *pil, const u8 *metadata, size_t size) const u8 *metadata, size_t size, phys_addr_t modem_reg, size_t sz_modem_reg) { int ret; Loading @@ -740,7 +754,8 @@ static int pil_msa_mss_reset_mba_load_auth_mdt(struct pil_desc *pil, if (ret) return ret; return pil_msa_auth_modem_mdt(pil, metadata, size); return pil_msa_auth_modem_mdt(pil, metadata, size, modem_reg, sz_modem_reg); } static int pil_msa_mba_verify_blob(struct pil_desc *pil, phys_addr_t phy_addr, Loading
drivers/soc/qcom/subsys-pil-bg.c +2 −1 Original line number Diff line number Diff line Loading @@ -303,7 +303,8 @@ static int bg_shutdown(const struct subsys_desc *subsys, bool force_stop) * Return: 0 on success. Error code on failure. */ static int bg_auth_metadata(struct pil_desc *pil, const u8 *metadata, size_t size) const u8 *metadata, size_t size, phys_addr_t addr, size_t sz) { struct pil_bg_data *bg_data = desc_to_data(pil); struct tzapp_bg_req bg_tz_req; Loading
drivers/soc/qcom/subsys-pil-tz.c +2 −1 Original line number Diff line number Diff line Loading @@ -582,7 +582,8 @@ static void pil_remove_proxy_vote(struct pil_desc *pil) } static int pil_init_image_trusted(struct pil_desc *pil, const u8 *metadata, size_t size) const u8 *metadata, size_t size, phys_addr_t addr, size_t sz) { struct pil_tz_data *d = desc_to_data(pil); struct pas_init_image_req { Loading