[alsa-devel] /dev/snd/seq unavailable with opl3 (Re: [RFC] ymfpci - re-enable legacy audio after suspend resume)

Takashi Iwai tiwai at suse.de
Tue Mar 13 14:06:32 CET 2012


At Tue, 13 Mar 2012 19:34:41 +0800,
Raymond Yau wrote:
> 
> 2012/3/12, Takashi Iwai <tiwai at suse.de>:
> > At Sun, 11 Mar 2012 07:37:30 +0800,
> > Raymond Yau wrote:
> >>
> >> 2012/3/9 Takashi Iwai <tiwai at suse.de>:
> >> > At Fri, 9 Mar 2012 07:28:26 +0800,
> >> > Raymond Yau wrote:
> >> >>
> >> >> 2012/3/8, Takashi Iwai <tiwai at suse.de>:
> >> >> > At Thu, 8 Mar 2012 12:12:33 +0800,
> >> >> > Raymond Yau wrote:
> >> >> >>
> >> >> >> Since the Legacy Audio Control register is reset to default after
> >> >> >> suspend resume cycle
> >> >> >>
> >> >> >> need to enable the Legacy Audio Control Bit in order to use OPL3 FM
> >> >> >> Synth
> >> >> >>
> >> >> >> however it is still need to use sbiload  instrument loader to reload
> >> >> >> the instruments
> >> >> >
> >> >> > Isn't it better to save and restore these PCI registers like below?
> >> >> > It still doesn't solve the lost instrument problem, though.
> >> >> >
> >> >>
> >> >> I only use std.o3 and drums.o3
> >> >>
> >> >> It seem that the playback of midi using aplaymidi can resume playback
> >> >> after suspend with my ymf724f
> >> >>
> >> >> so it seem that there is no need to reload the instrument with your
> >> >> patch
> >> >>
> >> >> >
> >> >> > ---
> >> >> > diff --git a/include/sound/ymfpci.h b/include/sound/ymfpci.h
> >> >> > index 444cd6b..1e35b16 100644
> >> >> > --- a/include/sound/ymfpci.h
> >> >> > +++ b/include/sound/ymfpci.h
> >> >> > @@ -366,6 +366,8 @@ struct snd_ymfpci {
> >> >> >  #ifdef CONFIG_PM
> >> >> >     u32 *saved_regs;
> >> >> >     u32 saved_ydsxgr_mode;
> >> >> > +   u16 saved_saved_dsxg_legacy;
> >> >> > +   u16 saved_saved_dsxg_elegacy;
> >> >>
> >> >>
> >> >> Should be saved_dsxg_legacy and save_dsxg_elegacy.
> >> >
> >> > Err, of course.
> >> >
> >> >> How can this change back port to 2.6 kernel ?
> >> >
> >> > I guess the patch can be applied as is.  There have been no big changes
> >> > in that driver since ages.
> >> >
> >> >
> >>
> >> This patch may be useless when oss is disabled in kernel 3.x
> >>
> >> aplaymidi -l
> >> open /dev/snd/seq failed: No such file or directory
> >>
> >> it only happen with snd-ymfpci  when there oss is disabled
> >
> > This is a different problem.  Please don't mix up.
> >
> > Is CONFIG_SND_OPL3_LIB_SEQ=y in your kernel config?
> >
> >
> > Takashi
> >
> 
> config1.h:#define CONFIG_SND_OPL3_LIB_SEQ_MODULE 1
> linux/autoconf.h:#define CONFIG_SND_OPL3_LIB_SEQ_MODULE 1
> 
> http://thread.gmane.org/gmane.linux.alsa.devel/6363

This sounds irrelevant from the probing problem.

> may be specific to ymf724f which cannot enable mpu401_uart
> 
> The alsa driver does not support auto detect for fm_port and mpu_port
> for ymf724f
> 
> I have to specify fm_port=388 in /etc/modprobe.conf
> 
> fm_res f514d440 ctrl 2
> mpu_res 00000000 ctrl2 800
> 
> but request_region() alway return zero for  mpu_port 0x300, 0x330,
> 0x332 or 0x334

Did you check /proc/ioports?

> with oss enabled , there is no mpu401 at port 16:0
> 
> Port    Client name                      Port name
>  17:0    OPL3 FM synth                    OPL3 FM Port

I'm confused.  When OSS is enabled, port 16:0 isn't availale.
When OSS is disabled, port 16:0 is available?


Takashi


More information about the Alsa-devel mailing list