From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Francois Moine Subject: Re: KNOT / CONTINUOUS (was: [PATCH] ASoC: kirkwood: Fix invalid SPDIF format) Date: Tue, 26 Nov 2013 20:09:16 +0100 Message-ID: <20131126200916.47a45929@armhf> References: <20131126104140.16e3eb87@armhf> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp2-g21.free.fr (smtp2-g21.free.fr [212.27.42.2]) by alsa0.perex.cz (Postfix) with ESMTP id 697AF261643 for ; Tue, 26 Nov 2013 20:07:12 +0100 (CET) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Takashi Iwai , Jassi Brar Cc: alsa-devel@alsa-project.org, Mark Brown , Liam Girdwood , linux-arm-kernel@lists.infradead.org, Jason Cooper List-Id: alsa-devel@alsa-project.org T24gVHVlLCAyNiBOb3YgMjAxMyAxMToyMDo0OCArMDEwMApUYWthc2hpIEl3YWkgPHRpd2FpQHN1 c2UuZGU+IHdyb3RlOgoKPiBOb3QgYWdhaW5zdCB0aGUgcGF0Y2ggaXRzZWxmLCBidXQganVzdCBm b3VuZCBsb29raW5nIHRocm91Z2ggaXQ6Cj4gCj4gPiBAQCAtNDkzLDcgKzQ5Nyw3IEBAIHN0YXRp YyBzdHJ1Y3Qgc25kX3NvY19kYWlfZHJpdmVyIGtpcmt3b29kX2kyc19kYWlfZXh0Y2xrWzJdID0g ewo+ID4gIAkJLnJhdGVzID0gU05EUlZfUENNX1JBVEVfODAwMF8xOTIwMDAgfAo+ID4gIAkJCSBT TkRSVl9QQ01fUkFURV9DT05USU5VT1VTIHwKPiA+ICAJCQkgU05EUlZfUENNX1JBVEVfS05PVCwK PiAKPiBTZXR0aW5nIGJvdGggQ09OVElOVU9VUyBhbmQgS05PVCBkb2Vzbid0IG1ha2Ugc2Vuc2Uu CgpIaSBUYWthc2hpLAoKSSB1bmRlcnN0YW5kICdjb250aW51b3VzJywgYnV0IEkgY291bGQgbm90 IGZpbmQgYW55IGNsZWFyIGRlZmluaXRpb24gb2YKJ2tub3QnLiBNYXkgeW91IGV4cGxhaW4gd2hh dCBpcyBpdHMgcHVycG9zZT8KCkJUVywgaWYgeW91IG1heSBoZWxwIG1lLCB3aGlsZSBsb29raW5n IGZvciBTTkRSVl9QQ01fUkFURV9LTk9ULApJIGZvdW5kIHRoaXMgc2VxdWVuY2UgaW4gc29jLXBj bS5jOgoKCWlmIChjb2RlY19zdHJlYW0tPnJhdGVzCgkJJiAoU05EUlZfUENNX1JBVEVfS05PVCB8 IFNORFJWX1BDTV9SQVRFX0NPTlRJTlVPVVMpKQoJCWh3LT5yYXRlcyB8PSBjcHVfc3RyZWFtLT5y YXRlczsKCWlmIChjcHVfc3RyZWFtLT5yYXRlcwoJCSYgKFNORFJWX1BDTV9SQVRFX0tOT1QgfCBT TkRSVl9QQ01fUkFURV9DT05USU5VT1VTKSkKCQlody0+cmF0ZXMgfD0gY29kZWNfc3RyZWFtLT5y YXRlczsKCmFuZCBpdCBzZWVtcyByZWxhdGVkIHRvIHRoZSBwcm9ibGVtIEkgaGF2ZToKCi0gdGhl IGNwdSBkYWkgKGtpcmt3b29kIGkycykgbWF5IGdlbmVyYXRlIGFueSBjb250aW51b3VzIHJhdGUK ICA4MDAwLi4xOTIwMDAgYXMgc2hvd24gaW4gdGhlIHBhdGNoLgoKLSB0aGUgSERNSSB0cmFuc21p dHRlciAodGRhOTk4eCkgYWNjZXB0cyBlaXRoZXIgaTJzIG9yIHMvcGRpZiBhdWRpbwogIGlucHV0 IGF0IGFueSBjb250aW51b3VzIHJhdGUsIGJ1dCB3aGVuIGdldHRpbmcgYXVkaW8gZnJvbSBzL3Bk aWYsIHRoZQogIGxvd2VzdCByYXRlIGlzIDIyLjA2a0h6LgoKSW4gdGhlIGFzc29jaWF0ZWQgY29k ZWMsIGlmIEkgZGVmaW5lOgoKCS5yYXRlcyA9IFNORFJWX1BDTV9SQVRFXzIyMDUwIHwKCQlTTkRS Vl9QQ01fUkFURV8zMjAwMCB8CgkJLi4uCgkJU05EUlZfUENNX1JBVEVfMTkyMDAwIHwKCQlTTkRS Vl9QQ01fUkFURV9DT05USU5VT1VTLAoKYXVkaW8gd29ya3MgZmluZSB3aXRoIHN0cmVhbXMgYXQg MzMuMDc1a0h6ICh0aGUga2lya3dvb2QgY2xvY2sgaXMKZXhhY3RseSAzMy4wNzVrSHopLiBCdXQg d2hlbiBJIHdhbnQgYSBzdHJlYW0gYXQgNzg1MEh6LCB0aGUga2lya3dvb2QKaTJzIGRyaXZlciBn ZXRzIGEgY2xvY2sgYXQgODAwMEh6IGFuZCB0aGUgdGRhOTk4eCBjYW5ub3QgZG8gYXVkaW8Kb3V0 cHV0LgoKT3RoZXJ3aXNlLCByZW1vdmluZyBTTkRSVl9QQ01fUkFURV9DT05USU5VT1VTIGluIHRo ZSBjb2RlYywgSSBjYW4gaGVhcgp0aGUgNzg1MEh6IHN0cmVhbSB3aGljaCBpcyBjb252ZXJ0ZWQg dG8gMjIuMDUga0h6IGJ5IHZsYywgYnV0IHdoZW4gSQp3YW50IGEgc3RyZWFtIGF0IDMzLjA3NWtI eiwgdmxjIGNvbnZlcnRzIGl0IHRvIDMya0h6LgoKU28sIHdpdGggdGhlIGNvbW1pdCBkOWFkNjI5 NmVjM2I0YTU1YiAiQVNvQzogUENNX1JBVEU6IENoZWNrIGZvciBLTk9UCmFuZCBDT05USU5VT1VT IGZsYWdzIiwgSSBjYW5ub3QgZ2V0IHRoZSBleGFjdCBjbG9jayBJIHdhbnQuCgpEbyB5b3Uga25v dyB0aGUgcmVhc29uIG9mIHRoaXMgcGF0Y2gsIGFuZCwgaWYgaXQgbXVzdCBzdGF5LCBpcyB0aGVy ZQphbnkgcG9zc2libGUgYnlwYXNzPwoKVGhhbmtzLgoKLS0gCktlbiBhciBjJ2hlbnRhw7EJfAkg ICAgICAqKiBCcmVpemggaGEgTGludXggYXRhdiEgKioKSmVmCQl8CQlodHRwOi8vbW9pbmVqZi5m cmVlLmZyLwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB bHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJvamVjdC5vcmcKaHR0cDov L21haWxtYW4uYWxzYS1wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Fsc2EtZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: moinejf@free.fr (Jean-Francois Moine) Date: Tue, 26 Nov 2013 20:09:16 +0100 Subject: KNOT / CONTINUOUS (was: [PATCH] ASoC: kirkwood: Fix invalid SPDIF format) In-Reply-To: References: <20131126104140.16e3eb87@armhf> Message-ID: <20131126200916.47a45929@armhf> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, 26 Nov 2013 11:20:48 +0100 Takashi Iwai wrote: > Not against the patch itself, but just found looking through it: > > > @@ -493,7 +497,7 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai_extclk[2] = { > > .rates = SNDRV_PCM_RATE_8000_192000 | > > SNDRV_PCM_RATE_CONTINUOUS | > > SNDRV_PCM_RATE_KNOT, > > Setting both CONTINUOUS and KNOT doesn't make sense. Hi Takashi, I understand 'continuous', but I could not find any clear definition of 'knot'. May you explain what is its purpose? BTW, if you may help me, while looking for SNDRV_PCM_RATE_KNOT, I found this sequence in soc-pcm.c: if (codec_stream->rates & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) hw->rates |= cpu_stream->rates; if (cpu_stream->rates & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) hw->rates |= codec_stream->rates; and it seems related to the problem I have: - the cpu dai (kirkwood i2s) may generate any continuous rate 8000..192000 as shown in the patch. - the HDMI transmitter (tda998x) accepts either i2s or s/pdif audio input at any continuous rate, but when getting audio from s/pdif, the lowest rate is 22.06kHz. In the associated codec, if I define: .rates = SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_32000 | ... SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_CONTINUOUS, audio works fine with streams at 33.075kHz (the kirkwood clock is exactly 33.075kHz). But when I want a stream at 7850Hz, the kirkwood i2s driver gets a clock at 8000Hz and the tda998x cannot do audio output. Otherwise, removing SNDRV_PCM_RATE_CONTINUOUS in the codec, I can hear the 7850Hz stream which is converted to 22.05 kHz by vlc, but when I want a stream at 33.075kHz, vlc converts it to 32kHz. So, with the commit d9ad6296ec3b4a55b "ASoC: PCM_RATE: Check for KNOT and CONTINUOUS flags", I cannot get the exact clock I want. Do you know the reason of this patch, and, if it must stay, is there any possible bypass? Thanks. -- Ken ar c'henta? | ** Breizh ha Linux atav! ** Jef | http://moinejf.free.fr/