From: "Katsuhiro Suzuki" <suzuki.katsuhiro@socionext.com>
To: "'Mark Brown'" <broonie@kernel.org>,
"Suzuki, Katsuhiro/鈴木 勝博" <suzuki.katsuhiro@socionext.com>
Cc: alsa-devel@alsa-project.org, "Rob Herring" <robh+dt@kernel.org>,
devicetree@vger.kernel.org, "Yamada,
Masahiro/山田 真弘" <yamada.masahiro@socionext.com>,
"Masami Hiramatsu" <masami.hiramatsu@linaro.org>,
"Jassi Brar" <jaswinder.singh@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/8] ASoC: uniphier: add support for UniPhier AIO driver
Date: Wed, 6 Dec 2017 15:03:18 +0900 [thread overview]
Message-ID: <004801d36e57$ea1940d0$be4bc270$@socionext.com> (raw)
In-Reply-To: <20171205121440.GC11658@finisterre>
Hello,
> -----Original Message-----
> From: Mark Brown [mailto:broonie@kernel.org]
> Sent: Tuesday, December 5, 2017 9:15 PM
> To: Suzuki, Katsuhiro/鈴木 勝博 <suzuki.katsuhiro@socionext.com>
> Cc: alsa-devel@alsa-project.org; Rob Herring <robh+dt@kernel.org>;
> devicetree@vger.kernel.org; Yamada, Masahiro/山田 真弘
> <yamada.masahiro@socionext.com>; Masami Hiramatsu
> <masami.hiramatsu@linaro.org>; Jassi Brar <jaswinder.singh@linaro.org>;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 5/8] ASoC: uniphier: add support for UniPhier AIO driver
>
> On Tue, Dec 05, 2017 at 01:48:39PM +0900, Katsuhiro Suzuki wrote:
>
> Please fix your mail client to word wrap within paragraphs at something
> substantially less than 80 columns. Doing this makes your messages much
> easier to read and reply to.
>
Thank you, I set it.
> > > Is there a mux in the SoC here?
>
> > Sorry for confusing, It's not mux.
>
> > uniphier_srcport_reset() resets HW SRC (sampling rate converter) block.
> > Audio data out ports of UniPhier audio system have HW SRC.
>
> Is the SRC just a single block sitting between the DMA and the external
> audio port or is there more going on? Some of the other code made me
> think the hardware was more flexible than this (all the writing to
> registers with names like RXSEL for example).
>
This hardware has 2 types of HW SRC. First type sit before audio port and
cannot change routing. I use it in this driver. Second type is like a loopback,
but this block is not used in this driver to simplify the first version.
Type 1:
Mem -> DMA -> SRC -> Out Port -> External pin
Type 2:
Mem -> DMA -> SRC -> Out Port -> In Port -> DMA -> Mem
> > > > +#endif /* CONFIG_SND_SOC_UNIPHIER_LD11 */
>
> > > Why is there an ifdef here? There's no other conditional code in here,
> > > it seems pointless.
>
> > This config is used to support or not LD11 SoC.
> > aio-ld11.c is not build and 'uniphier_aio_ldxx_spec' is undefined if this
config is
> disabled.
> >
> > aio-ld11.c defines SoC dependent resources (port, HW ring buffer, DMA ch,
etc.)
> > and fixed settings.
> > I know it's better to move such information into device-tree, but register
areas of
> > UniPhier's audio system is very strange and interleaved. It's hard to split
each
> nodes...
>
> I'd expect this code to be structured more like a library - have a
> driver that handles the specific IPs then have it call into a shared
> block of code that does the generic bits. Though in this case the
> device specific bit looks like a couple of tiny data tables so I'm not
> sure it's worth making it conditional or separate at all.
>
Sorry... I agree your opinion, but I can't imagine the detail.
I think my driver has structure as follows (ex. startup):
DAI: uniphier_aio_startup()@aio-core.c
Lib: uniphier_aio_init()@aio-regctrl.c
SoC specific: uniphier_aio_ld11_spec@aio-ld11.c
Am I wrong? Would you mean split the functions in aio-regctl.[ch] to other
kernel module? I wonder if you could tell me the example from existing
drivers. I'll try to fix my driver like as it.
> > > This looks awfully like compressed audio support... should there be
> > > integration with the compressed audio API/
>
> > Thanks, I'll try it. Is there Documentation in
> sound/designes/compress-offload.rst?
> > And best sample is... Intel's driver?
>
> Yes.
>
> > (Summary)
> > I think I should fix as follows:
>
> > - Split DMA, DAI patches from large one
> > - Validate parameters in hw_params
> > - Add description about HW SRC (or fix bad name 'srcport')
> > - Add comments about uniphier_aiodma_irq()
> > - Expose clocking and audio routing to userspace, or at the very
> > least machine driver configuration
> > - Support compress-audio API for S/PDIF
>
> > and post V2.
>
> At least. I do think we need to get to the bottom of how flexible the
> hardware is first though.
Yes, indeed. This hardware is more flexible and complex, but now I (and our
company) don't use it. Of course, I don't want to hide some features of this
hardware from ALSA people. I should try to upstream all features in the future,
I think.
Regards,
--
Katsuhiro Suzuki
next prev parent reply other threads:[~2017-12-06 6:03 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-22 11:43 [PATCH 0/8] add UniPhier audio system support Katsuhiro Suzuki
2017-11-22 11:43 ` [PATCH 1/8] ASoC: spdif: Add S32_LE support for S/PDIF dummy codec drivers Katsuhiro Suzuki
2017-12-04 18:48 ` Applied "ASoC: spdif: Add S32_LE support for S/PDIF dummy codec drivers" to the asoc tree Mark Brown
2017-11-22 11:43 ` [PATCH 2/8] ASoC: uniphier: add DT bindings documentation for UniPhier EVEA Katsuhiro Suzuki
2017-11-26 19:02 ` Rob Herring
2017-12-04 18:48 ` Applied "ASoC: uniphier: add DT bindings documentation for UniPhier EVEA" to the asoc tree Mark Brown
2017-11-22 11:43 ` [PATCH 3/8] ASoC: uniphier: add DT bindings documentation for UniPhier AIO Katsuhiro Suzuki
[not found] ` <20171122114321.29196-4-suzuki.katsuhiro-uWyLwvC0a2jby3iVrkZq2A@public.gmane.org>
2017-11-26 19:04 ` Rob Herring
2018-02-12 12:54 ` Applied "ASoC: uniphier: add DT bindings documentation for UniPhier AIO" to the asoc tree Mark Brown
2017-11-22 11:43 ` [PATCH 4/8] ASoC: uniphier: add support for UniPhier EVEA codec Katsuhiro Suzuki
2017-12-04 18:20 ` Mark Brown
2017-12-05 0:58 ` Masahiro Yamada
2017-12-05 11:59 ` Mark Brown
2017-12-04 18:48 ` Applied "ASoC: uniphier: add support for UniPhier EVEA codec" to the asoc tree Mark Brown
2017-11-22 11:43 ` [PATCH 5/8] ASoC: uniphier: add support for UniPhier AIO driver Katsuhiro Suzuki
2017-12-04 18:39 ` Mark Brown
[not found] ` <20171204183934.rd4vin22ktukwpip-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2017-12-05 4:48 ` Katsuhiro Suzuki
2017-12-05 12:14 ` Mark Brown
2017-12-06 6:03 ` Katsuhiro Suzuki [this message]
2017-12-06 12:58 ` Mark Brown
2017-12-11 9:21 ` Katsuhiro Suzuki
2017-12-11 15:16 ` Mark Brown
2017-12-11 17:48 ` [alsa-devel] " Vinod Koul
2017-12-12 4:33 ` Katsuhiro Suzuki
[not found] ` <20171122114321.29196-1-suzuki.katsuhiro-uWyLwvC0a2jby3iVrkZq2A@public.gmane.org>
2017-11-22 11:43 ` [PATCH 6/8] ASoC: uniphier: add support for UniPhier LD11/LD20 " Katsuhiro Suzuki
2017-11-22 11:43 ` [PATCH 7/8] MAINTAINERS: add entries for UniPhier ASoC sound drivers Katsuhiro Suzuki
[not found] ` <20171122114321.29196-8-suzuki.katsuhiro-uWyLwvC0a2jby3iVrkZq2A@public.gmane.org>
2017-12-04 18:48 ` Applied "MAINTAINERS: add entries for UniPhier ASoC sound drivers" to the asoc tree Mark Brown
2017-11-22 11:43 ` [PATCH 8/8] arm64: dts: uniphier: add sound node for UniPhier Katsuhiro Suzuki
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='004801d36e57$ea1940d0$be4bc270$@socionext.com' \
--to=suzuki.katsuhiro@socionext.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jaswinder.singh@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu@linaro.org \
--cc=robh+dt@kernel.org \
--cc=yamada.masahiro@socionext.com \
/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).