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

Takashi Iwai tiwai at suse.de
Fri Nov 20 17:34:35 CET 2015


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