[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190527053607.GV31438@minitux>
Date: Sun, 26 May 2019 22:36:07 -0700
From: Bjorn Andersson <bjorn.andersson@...aro.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Scott Branden <scott.branden@...adcom.com>,
Luis Chamberlain <mcgrof@...nel.org>,
Andy Gross <andy.gross@...aro.org>,
David Brown <david.brown@...aro.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
"Rafael J . Wysocki" <rafael@...nel.org>,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
BCM Kernel Feedback <bcm-kernel-feedback-list@...adcom.com>,
Olof Johansson <olof@...om.net>
Subject: Re: [PATCH 3/3] soc: qcom: mdt_loader: add offset to
request_firmware_into_buf
On Thu 23 May 09:56 PDT 2019, Greg Kroah-Hartman wrote:
> On Thu, May 23, 2019 at 09:41:49AM -0700, Scott Branden wrote:
> > Hi Greg,
> >
> > On 2019-05-22 10:52 p.m., Greg Kroah-Hartman wrote:
> > > On Wed, May 22, 2019 at 07:51:13PM -0700, Scott Branden wrote:
> > > > Adjust request_firmware_into_buf API to allow for portions
> > > > of firmware file to be read into a buffer. mdt_loader still
> > > > retricts request fo whole file read into buffer.
> > > >
> > > > Signed-off-by: Scott Branden <scott.branden@...adcom.com>
> > > > ---
> > > > drivers/soc/qcom/mdt_loader.c | 7 +++++--
> > > > 1 file changed, 5 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c
> > > > index 1c488024c698..ad20d159699c 100644
> > > > --- a/drivers/soc/qcom/mdt_loader.c
> > > > +++ b/drivers/soc/qcom/mdt_loader.c
> > > > @@ -172,8 +172,11 @@ static int __qcom_mdt_load(struct device *dev, const struct firmware *fw,
> > > > if (phdr->p_filesz) {
> > > > sprintf(fw_name + fw_name_len - 3, "b%02d", i);
> > > > - ret = request_firmware_into_buf(&seg_fw, fw_name, dev,
> > > > - ptr, phdr->p_filesz);
> > > > + ret = request_firmware_into_buf
> > > > + (&seg_fw, fw_name, dev,
> > > > + ptr, phdr->p_filesz,
> > > > + 0,
> > > > + KERNEL_PREAD_FLAG_WHOLE);
> > > So, all that work in the first 2 patches for no real change at all? Why
> > > are these changes even needed?
> >
> > The first two patches allow partial read of files into memory.
> >
> > Existing kernel drivers haven't need such functionality so, yes, there
> > should be no real change
> >
> > with first two patches other than adding such partial file read support.
> >
> > We have a new driver in development which needs partial read of files
> > supported in the kernel.
>
> As I said before, I can not take new apis without any in-kernel user.
> So let's wait for your new code that thinks it needs this, and then we
> will be glad to evaluate all of this at that point in time.
>
The .mdt files are ELF files split to avoid having to allocate large
(5-60MB) chunks of temporary firmware buffers while installing the
segments.
But for multiple reasons it would be nice to be able to load the
non-split ELF files and the proposed interface would allow this.
So I definitely like the gist of the series.
> To do so otherwise is to have loads of unused "features" aquiring cruft
> in the kernel source, and you do not want that.
>
Agreed.
I'll take the opportunity and see if I can implement this (support for
non-split Qualcomm firmware) based on the patches in this series.
Regards,
Bjorn
Powered by blists - more mailing lists