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

From: Bjorn Andersson
Date: Wed Jan 22 2020 - 18:09:25 EST


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