[alsa-devel] /dev/snd/seq unavailable with opl3 (Re: [RFC] ymfpci - re-enable legacy audio after suspend resume)
Raymond Yau
superquad.vortex2 at gmail.com
Thu Mar 15 01:41:48 CET 2012
2012/3/13, Takashi Iwai <tiwai at suse.de>:
> 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.
seem fix by modprobe snd_seq
I know understand why this solve the problem
Neither mpu401 nor gameport are available in linux or windows for ymf724f
but opl3 fm can be used
does it need IRQ 9 or 16 bit io address for legacy port for mpu401 and
gameport ?
cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0290-0297 : pnp 00:07
0388-038b : YMFPCI OPL3
03c0-03df : vga+
03f8-03ff : serial
0400-041f : 0000:00:1f.3
0400-041f : i801_smbus
0480-04bf : 0000:00:1f.0
0480-04bf : pnp 00:08
04d0-04d1 : pnp 00:08
0800-087f : 0000:00:1f.0
0800-087f : pnp 00:08
0800-0803 : ACPI PM1a_EVT_BLK
0804-0805 : ACPI PM1a_CNT_BLK
0808-080b : ACPI PM_TMR
0810-0815 : ACPI CPU throttle
0828-082f : ACPI GPE0_BLK
0860-087f : iTCO_wdt
0cf8-0cff : PCI conf1
a000-afff : PCI Bus 0000:02
a400-a40f : 0000:02:00.1
a400-a40f : pata_jmicron
a480-a483 : 0000:02:00.1
a480-a483 : pata_jmicron
a800-a807 : 0000:02:00.1
a800-a807 : pata_jmicron
a880-a883 : 0000:02:00.1
a880-a883 : pata_jmicron
ac00-ac07 : 0000:02:00.1
ac00-ac07 : pata_jmicron
b000-bfff : PCI Bus 0000:04
b800-b8ff : 0000:04:04.0
b800-b8ff : skge
bc00-bc7f : 0000:04:03.0
c480-c48f : 0000:00:1f.5
c480-c48f : ata_piix
c800-c80f : 0000:00:1f.5
c800-c80f : ata_piix
c880-c883 : 0000:00:1f.5
c880-c883 : ata_piix
cc00-cc07 : 0000:00:1f.5
cc00-cc07 : ata_piix
d000-d003 : 0000:00:1f.5
d000-d003 : ata_piix
d080-d087 : 0000:00:1f.5
d080-d087 : ata_piix
d400-d41f : 0000:00:1d.0
d400-d41f : uhci_hcd
d480-d49f : 0000:00:1d.1
d480-d49f : uhci_hcd
d800-d81f : 0000:00:1d.2
d800-d81f : uhci_hcd
d880-d89f : 0000:00:1a.0
d880-d89f : uhci_hcd
dc00-dc1f : 0000:00:1a.1
dc00-dc1f : uhci_hcd
e000-e00f : 0000:00:1f.2
e000-e00f : ata_piix
e080-e08f : 0000:00:1f.2
e080-e08f : ata_piix
e400-e403 : 0000:00:1f.2
e400-e403 : ata_piix
e480-e487 : 0000:00:1f.2
e480-e487 : ata_piix
e800-e803 : 0000:00:1f.2
e800-e803 : ata_piix
e880-e887 : 0000:00:1f.2
e880-e887 : ata_piix
ec00-ec07 : 0000:00:02.0
cat /proc/interrupts
CPU0 CPU1
0: 155 0 IO-APIC-edge timer
1: 8496 0 IO-APIC-edge i8042
4: 2 0 IO-APIC-edge
8: 20 0 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
12: 145521 0 IO-APIC-edge i8042
16: 1 187746 IO-APIC-fasteoi ahci, uhci_hcd:usb3, i915 at pci:000
0:00:02.0
17: 73909 0 IO-APIC-fasteoi uhci_hcd:usb4, pata_jmicron
18: 0 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb7
19: 5239 156519 IO-APIC-fasteoi ata_piix, ata_piix, uhci_hcd:usb6
, eth0
21: 112 0 IO-APIC-fasteoi firewire_ohci
22: 532 1 IO-APIC-fasteoi snd_hda_intel
23: 35 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb5, snd
_ymfpci
NMI: 0 0 Non-maskable interrupts
LOC: 1107924 1273516 Local timer interrupts
RES: 31414 34972 Rescheduling interrupts
CAL: 1537 2019 function call interrupts
TLB: 5824 55363 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 0
MIS: 0
More information about the Alsa-devel
mailing list