Re: [PATCH v2 2/8] remoteproc: qcom: Introduce driver to store pil info in IMEM
From: Bjorn Andersson <hidden>
Date: 2020-01-23 05:38:17
Also in:
linux-arm-msm, linux-remoteproc, lkml
On Wed 22 Jan 15:58 PST 2020, rishabhb@codeaurora.org wrote:
On 2020-01-22 15:08, Bjorn Andersson wrote:quoted
On Wed 22 Jan 14:56 PST 2020, rishabhb@codeaurora.org wrote:quoted
On 2019-12-26 21:32, Bjorn Andersson wrote:quoted
diff --git a/drivers/remoteproc/qcom_pil_info.c[..]quoted
quoted
+static int pil_reloc_probe(struct platform_device *pdev) +{ + struct pil_reloc *reloc; + + reloc = devm_kzalloc(&pdev->dev, sizeof(*reloc), GFP_KERNEL); + if (!reloc) + return -ENOMEM; + + reloc->dev = &pdev->dev; + reloc->map = syscon_node_to_regmap(pdev->dev.parent->of_node);If there are multiple entries like "pil-reloc" in the imem node mapping the entire imem multiple times may not work. Is there a way we can somehow just iomap the required region for pil?With the entire imem being represented as a syscon this will be ioremapped once and all callers of syscon_node_to_regmap() (or one of the other syscon getters) will get a regmap back that reference this one mapping. So doing it this way allow us to "map" sections of imem that is smaller than PAGE_SIZE. That said, it means that all imem users/clients should access imem through this syscon regmap. Regards, BjornYes, the clients are spread around in different drivers currently. So accessing same regmap is not possible.
The few examples upstream are children of the imem simple-mfd/syscon and will thereby naturally request the regmap of the parent syscon. For driver that doesn't fit this model (I don't find one right now), or if you have downstream drivers that are designed differently you could use syscon_regmap_lookup_by_phandle() to acquire the imem regmap from any device in the system. Regards, Bjorn.