diff mbox

bebob: Fix failure to detect source of clock for Terratec Phase 88

Message ID 1412951569-7720-1-git-send-email-o-takashi@sakamocchi.jp (mailing list archive)
State Accepted
Commit 3f4032861cfbff0b9134bf94c5c92e2146d1f068
Headers show

Commit Message

Takashi Sakamoto Oct. 10, 2014, 2:32 p.m. UTC
This patch fixes a failure to open PCM device with -ENOSYS in
Terratec Phase 88.

Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit
to switch source of clock. One is to switch internal/external for the
source and another is to switch word/spdif for the external clock.

The IDs for these Selector Function Blocks are 9 and 8. But in current
implementation they're 0 and 0.

Reported-by: András Murányi <muranyia@gmail.com>
Tested-by: András Murányi <muranyia@gmail.com>
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
---
 sound/firewire/bebob/bebob_terratec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Takashi Iwai Oct. 10, 2014, 3:05 p.m. UTC | #1
At Fri, 10 Oct 2014 23:32:49 +0900,
Takashi Sakamoto wrote:
> 
> This patch fixes a failure to open PCM device with -ENOSYS in
> Terratec Phase 88.
> 
> Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit
> to switch source of clock. One is to switch internal/external for the
> source and another is to switch word/spdif for the external clock.
> 
> The IDs for these Selector Function Blocks are 9 and 8. But in current
> implementation they're 0 and 0.
> 
> Reported-by: András Murányi <muranyia@gmail.com>
> Tested-by: András Murányi <muranyia@gmail.com>
> Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>

This deserves Cc to stable kernel, right?


Takashi

> ---
>  sound/firewire/bebob/bebob_terratec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/firewire/bebob/bebob_terratec.c b/sound/firewire/bebob/bebob_terratec.c
> index eef8ea7..0e4c0bf 100644
> --- a/sound/firewire/bebob/bebob_terratec.c
> +++ b/sound/firewire/bebob/bebob_terratec.c
> @@ -17,10 +17,10 @@ phase88_rack_clk_src_get(struct snd_bebob *bebob, unsigned int *id)
>  	unsigned int enable_ext, enable_word;
>  	int err;
>  
> -	err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_ext);
> +	err = avc_audio_get_selector(bebob->unit, 0, 9, &enable_ext);
>  	if (err < 0)
>  		goto end;
> -	err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_word);
> +	err = avc_audio_get_selector(bebob->unit, 0, 8, &enable_word);
>  	if (err < 0)
>  		goto end;
>  
> -- 
> 1.9.1
>
Takashi Sakamoto Oct. 10, 2014, 3:22 p.m. UTC | #2
Hi Iwai-san,

On Oct 11 2014 00:05, Takashi Iwai wrote:
>> Reported-by: András Murányi <muranyia@gmail.com>
>> Tested-by: András Murányi <muranyia@gmail.com>
>> Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
> 
> This deserves Cc to stable kernel, right?

Yes, please.

I did easy mistake when writing terratec module. I did just copy them
but forgot to change its parameters...


Regards

Takashi (Variety, one of the most important things in this world)
Takashi Iwai Oct. 10, 2014, 3:58 p.m. UTC | #3
At Sat, 11 Oct 2014 00:22:38 +0900,
Takashi Sakamoto wrote:
> 
> Hi Iwai-san,
> 
> On Oct 11 2014 00:05, Takashi Iwai wrote:
> >> Reported-by: András Murányi <muranyia@gmail.com>
> >> Tested-by: András Murányi <muranyia@gmail.com>
> >> Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
> > 
> > This deserves Cc to stable kernel, right?
> 
> Yes, please.
> 
> I did easy mistake when writing terratec module. I did just copy them
> but forgot to change its parameters...

Thanks, pulled now.  It'll be included in the next pull request to
3.18-rc1 (slipped from today's one).


Takashi (dreaming of GUT)
Takashi Sakamoto Oct. 11, 2014, 4:22 p.m. UTC | #4
Hi Iwai-san,

On Oct 11 2014 00:58, Takashi Iwai wrote:
>>> This deserves Cc to stable kernel, right?
>>
>> Yes, please.
>>
>> I did easy mistake when writing terratec module. I did just copy them
>> but forgot to change its parameters...
> 
> Thanks, pulled now.  It'll be included in the next pull request to
> 3.18-rc1 (slipped from today's one).

OK. Thanks.

FYI, I have a plan to prepare two patchsets for next merge window (Linux
3.19). One is for the Dice driver and another is for OXFW driver. I'll
post the OXFW driver till the beginning of November (if everything goes
well). Of cource, I welcome any discussions.


Regards

Takashi (dreaming of GUT between ALSA/FFADO)
Takashi Iwai Oct. 13, 2014, 5:55 a.m. UTC | #5
At Sun, 12 Oct 2014 01:22:14 +0900,
Takashi Sakamoto wrote:
> 
> Hi Iwai-san,
> 
> On Oct 11 2014 00:58, Takashi Iwai wrote:
> >>> This deserves Cc to stable kernel, right?
> >>
> >> Yes, please.
> >>
> >> I did easy mistake when writing terratec module. I did just copy them
> >> but forgot to change its parameters...
> > 
> > Thanks, pulled now.  It'll be included in the next pull request to
> > 3.18-rc1 (slipped from today's one).
> 
> OK. Thanks.
> 
> FYI, I have a plan to prepare two patchsets for next merge window (Linux
> 3.19). One is for the Dice driver and another is for OXFW driver. I'll
> post the OXFW driver till the beginning of November (if everything goes
> well). Of cource, I welcome any discussions.

Sounds like a good plan.

Thanks!


Takashi
diff mbox

Patch

diff --git a/sound/firewire/bebob/bebob_terratec.c b/sound/firewire/bebob/bebob_terratec.c
index eef8ea7..0e4c0bf 100644
--- a/sound/firewire/bebob/bebob_terratec.c
+++ b/sound/firewire/bebob/bebob_terratec.c
@@ -17,10 +17,10 @@  phase88_rack_clk_src_get(struct snd_bebob *bebob, unsigned int *id)
 	unsigned int enable_ext, enable_word;
 	int err;
 
-	err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_ext);
+	err = avc_audio_get_selector(bebob->unit, 0, 9, &enable_ext);
 	if (err < 0)
 		goto end;
-	err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_word);
+	err = avc_audio_get_selector(bebob->unit, 0, 8, &enable_word);
 	if (err < 0)
 		goto end;