2012/3/13, Takashi Iwai tiwai@suse.de:
At Tue, 13 Mar 2012 19:34:41 +0800, Raymond Yau wrote:
2012/3/12, Takashi Iwai tiwai@suse.de:
At Sun, 11 Mar 2012 07:37:30 +0800, Raymond Yau wrote:
2012/3/9 Takashi Iwai tiwai@suse.de:
At Fri, 9 Mar 2012 07:28:26 +0800, Raymond Yau wrote:
2012/3/8, Takashi Iwai tiwai@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
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@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