From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
To: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Cc: Arnd Bergmann <arnd@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Arnd Bergmann <arnd@arndb.de>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
DTML <devicetree@vger.kernel.org>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Linux API <linux-api@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Chris Paterson <Chris.Paterson2@renesas.com>,
Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>,
Phil Edworthy <phil.edworthy@renesas.com>,
"REE dirk.behme@de.bosch.com" <dirk.behme@de.bosch.com>,
Peter Erben <Peter.Erben@de.bosch.com>,
Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: [PATCH 4/7] misc: Add driver for DAB IP found on Renesas R-Car devices
Date: Tue, 2 Mar 2021 08:16:30 -0300 [thread overview]
Message-ID: <CAAEAJfDDhN4btecUzu=3ZYxP=amnOD=vq0bhhetx7voKdeMZ9Q@mail.gmail.com> (raw)
In-Reply-To: <OSAPR01MB2737666F47174B68A8EC8DD8C29A9@OSAPR01MB2737.jpnprd01.prod.outlook.com>
Hello everyone,
On Mon, 1 Mar 2021 at 14:36, Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
>
> Hi Arnd,
>
> Thanks for your feedback!
>
> > From: Arnd Bergmann <arnd@kernel.org>
> > Sent: 26 February 2021 10:38
> > Subject: Re: [PATCH 4/7] misc: Add driver for DAB IP found on Renesas R-
> > Car devices
> >
> > On Thu, Feb 25, 2021 at 11:51 PM Fabrizio Castro
> > <fabrizio.castro.jz@renesas.com> wrote:
> > >
> > > The DAB hardware accelerator found on R-Car E3 and R-Car M3-N devices is
> > > a hardware accelerator for software DAB demodulators.
> > > It consists of one FFT (Fast Fourier Transform) module and one decoder
> > > module, compatible with DAB specification (ETSI EN 300 401 and
> > > ETSI TS 102 563).
> > > The decoder module can perform FIC decoding and MSC decoding processing
> > > from de-puncture to final decoded result.
> > >
> > > This patch adds a device driver to support the FFT module only.
> > >
> > > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> > > ---
> > > MAINTAINERS | 7 ++
> > > drivers/misc/Kconfig | 1 +
> > > drivers/misc/Makefile | 1 +
> > > drivers/misc/rcar_dab/Kconfig | 11 ++
> > > drivers/misc/rcar_dab/Makefile | 8 ++
> > > drivers/misc/rcar_dab/rcar_dev.c | 176 +++++++++++++++++++++++++++++++
> > > drivers/misc/rcar_dab/rcar_dev.h | 116 ++++++++++++++++++++
> > > drivers/misc/rcar_dab/rcar_fft.c | 160 ++++++++++++++++++++++++++++
> > > include/uapi/linux/rcar_dab.h | 35 ++++++
> >
> > Can you explain why this is not in drivers/media/?
>
> I wasn't entirely sure were to put it to be honest as I couldn't find
> anything similar, that's why "misc" for v1, to mainly get a feedback
> and advice.
>
> >
> > I don't think we want a custom ioctl interface for a device that
> > implements
> > a generic specification. My first feeling would be that this should not
> > have a user-level API but instead get called by the DAB radio driver.
>
> I hear you, the trouble is that the modules of this IP should be seen
> as part of a SW and HW processing pipeline.
> Some of the SW components of the pipeline can be proprietary, and
> unfortunately we don't have access (yet) to a framework that allows us to
> test and demonstrate the whole pipeline, for the moment we can only test
> things in isolation. It'll take us a while to come up with a full solution
> (or to have access to one), and in the meantime our SoCs come with an IP
> that can't be used because there is no driver for it (yet).
>
> After discussing things further with Geert and Laurent, I think they
> are right in saying that the best path for this is probably to add this
> driver under "drivers/staging" as an interim solution, so that the IP will
> be accessible by developers, and when we have everything we need (a fully
> fledged processing framework), we will able to integrate it better with
> the other components (if possible).
>
> >
> > What is the intended usage model here? I assume the idea is to
> > use it in an application that receives audio or metadata from DAB.
> > What driver do you use for that?
>
> This IP is similar to a DMA to some extent, in the sense that it takes
> input data from a buffer in memory and it writes output data onto a buffer
> in memory, and of course it does some processing in between.
That sounds like something that can fit V4L2 MEM2MEM driver.
You queue two buffers and an operation, and then run a job.
> It's not directly connected to any other Radio related IP.
> The user space application can read DAB IQ samples from the R-Car DRIF
> interface (via driver drivers/media/platform/rcar_drif.c, or from other
> sources since this IP is decoupled from DRIF), and then when it's time
> to accelerate FFT, FIC, or MSC, it can request services to the DAB IP, so
> that the app can go on and use the processor to do some work, while the DAB
> IP processes things.
> A framework to connect and exchange processing blocks (either SW or HW) and
> interfaces is therefore vital to properly place a kernel implementation
> in the great scheme of things, in its absence a simple driver can help
I'm not entirely sure we are missing a framework. What's missing in
V4L2 MEM2MEM?
Before considering drivers/staging, it would be interesting to figure
out if V4L2 can do it as-is, and if not, discuss what's missing.
Thanks,
Ezequiel
next prev parent reply other threads:[~2021-03-03 3:10 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-25 22:51 [PATCH 0/7] Add FFT Support for R-Car Gen3 devices Fabrizio Castro
2021-02-25 22:51 ` [PATCH 1/7] clk: renesas: r8a77990: Add DAB clock Fabrizio Castro
2021-02-26 8:34 ` Geert Uytterhoeven
2021-03-01 14:47 ` Fabrizio Castro
2021-03-03 10:22 ` Fabrizio Castro
2021-02-25 22:51 ` [PATCH 2/7] clk: renesas: r8a77965: " Fabrizio Castro
2021-02-26 8:45 ` Geert Uytterhoeven
2021-02-26 12:48 ` Laurent Pinchart
2021-03-01 15:01 ` Fabrizio Castro
2021-03-03 10:23 ` Fabrizio Castro
2021-03-01 14:58 ` Fabrizio Castro
2021-02-25 22:51 ` [PATCH 3/7] dt-bindings: misc: Add binding for R-Car DAB Fabrizio Castro
2021-02-26 8:41 ` Geert Uytterhoeven
2021-03-01 15:10 ` Fabrizio Castro
2021-02-26 9:06 ` Sergei Shtylyov
2021-03-01 15:11 ` Fabrizio Castro
2021-02-26 13:01 ` Laurent Pinchart
2021-03-01 15:13 ` Fabrizio Castro
2021-02-25 22:51 ` [PATCH 4/7] misc: Add driver for DAB IP found on Renesas R-Car devices Fabrizio Castro
2021-02-26 4:57 ` kernel test robot
2021-02-26 9:34 ` Geert Uytterhoeven
2021-03-01 16:19 ` Fabrizio Castro
2021-02-26 10:37 ` Arnd Bergmann
2021-02-26 13:05 ` Laurent Pinchart
2021-03-01 17:54 ` Fabrizio Castro
2021-03-01 17:26 ` Fabrizio Castro
2021-03-02 11:16 ` Ezequiel Garcia [this message]
2021-03-02 12:20 ` Fabrizio Castro
2021-03-02 12:32 ` Laurent Pinchart
2021-03-03 10:20 ` Fabrizio Castro
2021-03-03 10:26 ` Geert Uytterhoeven
2021-03-03 10:43 ` Fabrizio Castro
2021-02-25 22:51 ` [PATCH 5/7] arm64: dts: renesas: r8a77990: Add DAB support Fabrizio Castro
2021-02-26 9:37 ` Geert Uytterhoeven
2021-03-01 14:51 ` Fabrizio Castro
2021-02-26 12:47 ` Laurent Pinchart
2021-03-01 14:53 ` Fabrizio Castro
2021-02-25 22:51 ` [PATCH 6/7] arm64: dts: renesas: r8a77965: " Fabrizio Castro
2021-02-26 9:37 ` Geert Uytterhoeven
2021-03-01 14:54 ` Fabrizio Castro
2021-02-26 12:47 ` Laurent Pinchart
2021-03-01 14:55 ` Fabrizio Castro
2021-02-25 22:51 ` [PATCH 7/7] arm64: configs: Add R-Car " Fabrizio Castro
2021-02-26 12:52 ` Laurent Pinchart
2021-02-26 13:05 ` Geert Uytterhoeven
2021-02-26 12:20 ` [PATCH 0/7] Add FFT Support for R-Car Gen3 devices Laurent Pinchart
2021-03-01 14:50 ` Fabrizio Castro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAAEAJfDDhN4btecUzu=3ZYxP=amnOD=vq0bhhetx7voKdeMZ9Q@mail.gmail.com' \
--to=ezequiel@vanguardiasur.com.ar \
--cc=Chris.Paterson2@renesas.com \
--cc=Peter.Erben@de.bosch.com \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=dirk.behme@de.bosch.com \
--cc=fabrizio.castro.jz@renesas.com \
--cc=geert+renesas@glider.be \
--cc=gregkh@linuxfoundation.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=phil.edworthy@renesas.com \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--cc=robh+dt@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).