Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

soc: qcom: mdt_loader: Always invoke PAS mem_setup

After spelunking various old kernel trees no finds has been found
indicating that the PAS mem_setup call should actually be made
conditional on the image being relocatable.

Group the two PAS operations together, to facilitate splitting them out
in a following patch.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20220128025513.97188-8-bjorn.andersson@linaro.org

+8 -11
+8 -11
drivers/soc/qcom/mdt_loader.c
··· 247 247 ret, fw_name); 248 248 goto out; 249 249 } 250 + 251 + ret = qcom_scm_pas_mem_setup(pas_id, mem_phys, max_addr - min_addr); 252 + if (ret) { 253 + /* Unable to set up relocation */ 254 + dev_err(dev, "error %d setting up firmware %s\n", 255 + ret, fw_name); 256 + goto out; 257 + } 250 258 } 251 259 252 260 if (relocate) { 253 - if (pas_init) { 254 - ret = qcom_scm_pas_mem_setup(pas_id, mem_phys, 255 - max_addr - min_addr); 256 - if (ret) { 257 - /* Unable to set up relocation */ 258 - dev_err(dev, "error %d setting up firmware %s\n", 259 - ret, fw_name); 260 - goto out; 261 - } 262 - } 263 - 264 261 /* 265 262 * The image is relocatable, so offset each segment based on 266 263 * the lowest segment address.