RE: [PATCH 6/8] remoteproc: Move resource table load logic to find

From: Loic PALLARDY
Date: Thu Dec 14 2017 - 15:12:30 EST




> -----Original Message-----
> From: linux-remoteproc-owner@xxxxxxxxxxxxxxx [mailto:linux-remoteproc-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Bjorn Andersson
> Sent: Thursday, December 14, 2017 8:48 PM
> To: Loic PALLARDY <loic.pallardy@xxxxxx>
> Cc: Ohad Ben-Cohen <ohad@xxxxxxxxxx>; linux-
> remoteproc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 6/8] remoteproc: Move resource table load logic to find
>
> On Thu 14 Dec 04:00 PST 2017, Loic PALLARDY wrote:
> > > -----Original Message-----
> > > From: linux-remoteproc-owner@xxxxxxxxxxxxxxx [mailto:linux-
> remoteproc-
> > > owner@xxxxxxxxxxxxxxx] On Behalf Of Bjorn Andersson
> [..]
> > > +int rproc_elf_load_rsc_table(struct rproc *rproc, const struct firmware
> *fw)
> > > {
> > > struct elf32_hdr *ehdr;
> > > struct elf32_shdr *shdr;
> > > struct device *dev = &rproc->dev;
> > > struct resource_table *table = NULL;
> > > const u8 *elf_data = fw->data;
> > > + size_t tablesz;
> > >
> > > ehdr = (struct elf32_hdr *)elf_data;
> > >
> > > shdr = find_table(dev, ehdr, fw->size);
> > > if (!shdr)
> > > - return NULL;
> > > + return -EINVAL;
> > Reading patch 7, I don't catch how firmware without resource table are
> > supported as if no table found, an error is returned here.
> > In rproc_fw_boot, you have:
> > ret = rproc_load_rsc_table(rproc, fw);
> > if (ret)
> > goto disable_iommu;
> > So boot process is interrupted...
> >
>
> When a driver registers a remoteproc with load_rsc_table specified that
> implies that the resource table is not optional as such it's an error to
> not find one.
>
> A driver that expects to load firmware without a resource table, such as
> st_slim_rproc with it's dummy resource table would set load_rsc_table to
> NULL.
Yes I saw that if no load_rsc_table, 0 is returned. Thanks for the explanations, I'll apply the series and review final code.
Regards,
Loic
>
>
> So the purpose is to maintain the current requirements, with the
> addition of removing the dummy implementations of find_rsc_table.
>
> Regards,
> Bjorn
> --
> To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html