[alsa-devel] of_dma_request_slave_channel() failed ?
Geert Uytterhoeven
geert at linux-m68k.org
Thu Sep 13 10:38:03 CEST 2018
Hi Morimoto-san,
On Thu, Sep 13, 2018 at 7:48 AM Kuninori Morimoto
<kuninori.morimoto.gx at renesas.com> wrote:
> > > -----------------------------------------------------
> > > commit ac6bbf0cdf4206c517ac9789814c23e372ebce4d
> > > Author: Rob Herring <robh at kernel.org>
> > > Date: Mon Jul 9 09:41:52 2018 -0600
> > >
> > > iommu: Remove IOMMU_OF_DECLARE
> > >
> > > Now that we use the driver core to stop deferred probe for missing
> > > drivers, IOMMU_OF_DECLARE can be removed.
> > >
> > > This is slightly less optimal than having a list of built-in drivers in
> > > that we'll now defer probe twice before giving up. This shouldn't have a
> > > significant impact on boot times as past discussions about deferred
> > > probe have given no evidence of deferred probe having a substantial
> > > impact.
> > > ...
> > > -----------------------------------------------------
> (snip)
> > I assume you wrote commit 6c92d5a2744e2761 ("ASoC: rsnd: don't fallback
> > to PIO mode when -EPROBE_DEFER") to work around this?
>
> Yes, it is work around for it.
>
> > While this got rid of the error messages, and postpones sound initialization
> > until the audio DMAC is available, it does mean that the driver will _never_
> > fall back to PIO.
> >
> > I.e. if CONFIG_RCAR_DMAC=n, audio will fail to probe instead of falling
> > back to PIO.
>
> If I focus only for sound here, the purpose of PIO mode is
> checking basic HW connection, clock settings, etc.
> Without DMAC support, it can't use many sound features.
> And PIO mode is supporting "SSI" only.
>
> If DT has SRC/CTU/DVC settings for sound,
> it needs DMA support anyway.
>
> &rcar_sound {
> ...
> ports {
> rsnd_port0: port at 0 {
> rsnd_endpoint0: endpoint {
> ...
> => playback = <&ssi0 &src0 &dvc0>;
> };
> };
> };
> };
>
> Before 6c92d5a2744e2761 patch, driver will forcibly ignore
> non-SSI modules, and try to use PIO mode.
> I'm not sure it is "kindly support" or "overkill support".
>
> After this patch, it needs DMA, otherwise, probe will be failed.
> DT shouldn't have non-SSI modules if you want to use PIO mode.
>
> + /* use PIO mode */
> - playback = <&ssi0 &src0 &dvc0>;
> + playback = <&ssi0>;
>
OK, so falling back to PIO was really a "best effort" fallback, and the user
should really enable DMA?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the Alsa-devel
mailing list