[alsa-devel] [bug] Volume at maximum when track with different frequency is played with my RME sound card

Maeda maeda1 at free.fr
Sat Nov 21 18:42:06 CET 2015


Hi !

Thanks for answering me.
Yes, turning the output volume up or down as soon as it's playing at 
full output : it plays at the % it should play.

I'm OK to try the patch, but I don't find the /rme96.c/ file. Where is 
it located ? I think a recompilation's needed then ? Never done that.

Thanks for help.

Kind regards.

Le 20/11/2015 17:34, Takashi Iwai a écrit :
> On Tue, 10 Nov 2015 13:41:44 +0100,
> Maeda wrote:
>> Hi !
>>
>> Someone's here ?
>>
>> Thanks.
>>
>> Le 23/10/2015 18:30, Maeda a écrit :
>>> Hi all !
>>>
>>> I don't know if the bug is known from your team, but some people
>>> advice me to send an email to the Alsa devel list if nobody answer in
>>> the kernel's bugtracking.
>>>
>>> Here is the bug I have :
>>> https://bugzilla.kernel.org/show_bug.cgi?id=105771
>>>
>>> What do you think about it ?
> Does the volume go down when you adjust DAC volume by mixer
> application when this happens?
>
> Through a quick glance at the driver code, the only smelling part is
> that it's calling snd_rme96_reset_dac() from
> snd_rme96_playback_setrate().  If the DAC volume adjustment really
> works, the patch below might work.  Please give it a try.
>
> The patch has a code to give some delay that is commented out for
> now.  The delay is found in the resume path, but I'm not sure whether
> it's mandatory.  So let's try at first without the delay.  If it's
> unstable, you can uncomment the line and retry.
>
>
> thanks,
>
> Takashi
>
> ---
> diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c
> index 714df906249e..a9d8a66fc3da 100644
> --- a/sound/pci/rme96.c
> +++ b/sound/pci/rme96.c
> @@ -741,6 +741,9 @@ snd_rme96_playback_setrate(struct rme96 *rme96,
>   	{
>   		/* change to/from double-speed: reset the DAC (if available) */
>   		snd_rme96_reset_dac(rme96);
> +		/* usleep_range(3000, 10000); */
> +		if (RME96_HAS_ANALOG_OUT(rme96))
> +			snd_rme96_apply_dac_volume(rme96);
>   	} else {
>   		writel(rme96->wcreg, rme96->iobase + RME96_IO_CONTROL_REGISTER);
>   	}
>
>
>
>



More information about the Alsa-devel mailing list