Re: [PATCH v2 2/8] remoteproc: qcom: Introduce driver to store pil info in IMEM

From: rishabhb
Date: Wed Jan 22 2020 - 18:58:19 EST


On 2020-01-22 15:08, Bjorn Andersson wrote:
On Wed 22 Jan 14:56 PST 2020, rishabhb@xxxxxxxxxxxxxx wrote:
On 2019-12-26 21:32, Bjorn Andersson wrote:
> diff --git a/drivers/remoteproc/qcom_pil_info.c
[..]
> +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,
Bjorn
Yes, the clients are spread around in different drivers currently.
So accessing same regmap is not possible.