All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben.dooks@codethink.co.uk>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Mark Brown <broonie@kernel.org>
Cc: Violeta Menendez Gonzalez <violeta.menendez@codethink.co.uk>,
	linux-kernel@lists.codethink.co.uk,
	ALSA Development Mailing List <alsa-devel@alsa-project.org>,
	linux-sh@vger.kernel.org
Subject: Re: [alsa-devel] r8a7790 only has audio when clock is forced on
Date: Wed, 04 Jun 2014 10:02:54 +0100	[thread overview]
Message-ID: <538EE0BE.5030304@codethink.co.uk> (raw)
In-Reply-To: <87egz5ldtm.wl%kuninori.morimoto.gx@renesas.com>

On 04/06/14 01:26, Kuninori Morimoto wrote:
> 
> Hi Violeta, Mark
> 
>> Adding Morimoto-san who does most of the work on those drivers upstream
>> - it's always best to CC relevant maintainers/developers on kernel stuff
>> as things only on the lists are easily missed.  Not deleting context so
>> he sees it.
> 
> Thank you for adding me.
> I want to help you
> 
>>> We have a problem where audio on r8a7790 is not working due to it not
>>> sending interrupts.
> 
> I need to ask you something
> 
> - Are you using lager board ?
> - Which kernel are you using ?
> - Does your kernel booted from legacy code (= using board-lager.c)
>   or from DT code (= using board-lager-referenct.c) ?
> 
>> We've made a hack to force /mstp10_clks /on that makes the audio work.
>> Further investigation showed that it's only needed to force SSI(ALL) on,
>> but, as far as we know, the manual doesn't say anything about it having to
>> be kept on.
> 
> YES. all SSI port needs SSI(ALL).
> (Actually, all SRC needs SRC(ALL) too if you use it)

The result of our investigation is as follows:

- The clock code correctly enables SSI(ALL) but the audio does not work
- If we force SSI(ALL) to be on all the time, we have working audio

> Basically, R-Car sound is very complex IP.
> The interrupt/data register/DMA selection are depends on your "data path"
> 
> This driver is producing many steps to use it.
> 
> At 1st, you can use "PIO transfer". this is not good performance,
> but, very easy settings. you can check your basic setting by this.
> (power/codec/pin/clock...)
> 
> The data path is..
> 
>           PIO
>     [MEM] ---> [SSI]
> 
> Next step is "using DMA". but, R-Car sound has 2 DMAs (Audio DMAC/Audio DMAC peri peri)
> And, these DMAC usage is complex too. So, you can use basic DMA transfer as DMA 1st step.
> The data path is..
> 
>        Audio DMAC
>     [MEM] ---> [SSI]
> 
> Next step is more complex. use SRC
> 
>                      Audio DMAC
>         Audio DMAC    peri peri
>     [MEM] ---> [SRC] --->[SSI]
> 
> Final step is using DVC
> 
>                             Audio DMAC
>         Audio DMAC           peri peri
>     [MEM] ---> [SRC] ---> [DVC] --->[SSI]
> 
> 
> Actually, lagacy boot is supporting above all path.
> But, DT boot is supporting 1st/2nd step only at this point
> (On rsnd driver side, DMAEngine DT is not yet supporing)
> I want to support 3rd/4th step on DT, but I'm busy now...
> 
> I pushed my local patches which are based on LTSI v3.4 + our original patches.
> These are tring to use sound as legacy code (= not DT) for lager/koelsh.
> Maybe not good fit too you, but can help ?
> 
> https://dl.dropboxusercontent.com/u/2774973/lager-koelsh-sound.tar.bz2
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

WARNING: multiple messages have this Message-ID (diff)
From: Ben Dooks <ben.dooks@codethink.co.uk>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Mark Brown <broonie@kernel.org>
Cc: Violeta Menendez Gonzalez <violeta.menendez@codethink.co.uk>,
	linux-kernel@lists.codethink.co.uk,
	ALSA Development Mailing List <alsa-devel@alsa-project.org>,
	linux-sh@vger.kernel.org
Subject: Re: [alsa-devel] r8a7790 only has audio when clock is forced on
Date: Wed, 04 Jun 2014 09:02:54 +0000	[thread overview]
Message-ID: <538EE0BE.5030304@codethink.co.uk> (raw)
In-Reply-To: <87egz5ldtm.wl%kuninori.morimoto.gx@renesas.com>

On 04/06/14 01:26, Kuninori Morimoto wrote:
> 
> Hi Violeta, Mark
> 
>> Adding Morimoto-san who does most of the work on those drivers upstream
>> - it's always best to CC relevant maintainers/developers on kernel stuff
>> as things only on the lists are easily missed.  Not deleting context so
>> he sees it.
> 
> Thank you for adding me.
> I want to help you
> 
>>> We have a problem where audio on r8a7790 is not working due to it not
>>> sending interrupts.
> 
> I need to ask you something
> 
> - Are you using lager board ?
> - Which kernel are you using ?
> - Does your kernel booted from legacy code (= using board-lager.c)
>   or from DT code (= using board-lager-referenct.c) ?
> 
>> We've made a hack to force /mstp10_clks /on that makes the audio work.
>> Further investigation showed that it's only needed to force SSI(ALL) on,
>> but, as far as we know, the manual doesn't say anything about it having to
>> be kept on.
> 
> YES. all SSI port needs SSI(ALL).
> (Actually, all SRC needs SRC(ALL) too if you use it)

The result of our investigation is as follows:

- The clock code correctly enables SSI(ALL) but the audio does not work
- If we force SSI(ALL) to be on all the time, we have working audio

> Basically, R-Car sound is very complex IP.
> The interrupt/data register/DMA selection are depends on your "data path"
> 
> This driver is producing many steps to use it.
> 
> At 1st, you can use "PIO transfer". this is not good performance,
> but, very easy settings. you can check your basic setting by this.
> (power/codec/pin/clock...)
> 
> The data path is..
> 
>           PIO
>     [MEM] ---> [SSI]
> 
> Next step is "using DMA". but, R-Car sound has 2 DMAs (Audio DMAC/Audio DMAC peri peri)
> And, these DMAC usage is complex too. So, you can use basic DMA transfer as DMA 1st step.
> The data path is..
> 
>        Audio DMAC
>     [MEM] ---> [SSI]
> 
> Next step is more complex. use SRC
> 
>                      Audio DMAC
>         Audio DMAC    peri peri
>     [MEM] ---> [SRC] --->[SSI]
> 
> Final step is using DVC
> 
>                             Audio DMAC
>         Audio DMAC           peri peri
>     [MEM] ---> [SRC] ---> [DVC] --->[SSI]
> 
> 
> Actually, lagacy boot is supporting above all path.
> But, DT boot is supporting 1st/2nd step only at this point
> (On rsnd driver side, DMAEngine DT is not yet supporing)
> I want to support 3rd/4th step on DT, but I'm busy now...
> 
> I pushed my local patches which are based on LTSI v3.4 + our original patches.
> These are tring to use sound as legacy code (= not DT) for lager/koelsh.
> Maybe not good fit too you, but can help ?
> 
> https://dl.dropboxusercontent.com/u/2774973/lager-koelsh-sound.tar.bz2
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

  reply	other threads:[~2014-06-04  9:02 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-03 17:23 r8a7790 only has audio when clock is forced on Violeta Menendez Gonzalez
2014-06-03 21:42 ` [alsa-devel] " Mark Brown
2014-06-03 21:42   ` Mark Brown
2014-06-04  0:26   ` Kuninori Morimoto
2014-06-04  0:26     ` Kuninori Morimoto
2014-06-04  9:02     ` Ben Dooks [this message]
2014-06-04  9:02       ` Ben Dooks
2014-06-05  6:05       ` Kuninori Morimoto
2014-06-05  6:05         ` Kuninori Morimoto
2014-06-05  9:10         ` Violeta Menendez Gonzalez
2014-06-05  9:10           ` Violeta Menendez Gonzalez
2014-06-05  9:35           ` Kuninori Morimoto
2014-06-05  9:35             ` Kuninori Morimoto
2014-06-05  9:52             ` Ben Dooks
2014-06-05  9:52               ` Ben Dooks
2014-06-05 10:39               ` Violeta Menendez Gonzalez
2014-06-05 10:39                 ` Violeta Menendez Gonzalez
2014-06-06  5:54                 ` Kuninori Morimoto
2014-06-06  5:54                   ` Kuninori Morimoto
2014-06-06  6:42                   ` Geert Uytterhoeven
2014-06-06  6:42                     ` Geert Uytterhoeven
2014-06-04  9:17     ` Violeta Menendez Gonzalez
2014-06-04  9:17       ` Violeta Menendez Gonzalez
2014-06-04  9:33       ` Geert Uytterhoeven
2014-06-04  9:33         ` Geert Uytterhoeven
2014-06-04  9:38         ` Ben Dooks
2014-06-04  9:38           ` Ben Dooks

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=538EE0BE.5030304@codethink.co.uk \
    --to=ben.dooks@codethink.co.uk \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linux-kernel@lists.codethink.co.uk \
    --cc=linux-sh@vger.kernel.org \
    --cc=violeta.menendez@codethink.co.uk \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.