[alsa-devel] EMU-1212m "no Audiodock - no firmware" patch

oeai oeai at ya.ru
Wed Nov 21 23:18:47 CET 2012


Aloha!

i've been posting about my problem earlier, but i decided to DIY

the problem was that when going up from suspend the firmware for 
additional card (that i don't have) was trying to load,
  -but there's no card
- sorry, i'm gonna check few more thousand times
that caused my cpu to load insanely

so in the patch i've changed few more strings for debugging

but actually the one (but not the only) bug
is here

*** 728,739 ****

!        if (reg & EMU_HANA_OPTION_DOCK_OFFLINE) {

--- 729,740 ----

!         if (reg & !EMU_HANA_OPTION_DOCK_OFFLINE) {

the thing is in the  "!"EMU_HANA_OPTION_DOCK_OFFLINE -> then the firmware should be loaded.

and to debug some errors if something i've put the one more else state so if no audiodock - it could continue to load config

*** 777,784 ****
   			/* Unmute all. Default is muted after a firmware load */
   			snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_UNMUTE);
   		}
   	}
! 	snd_printk(KERN_INFO "emu1010: firmware thread stopping\n");
   	return 0;
   }
   
--- 778,790 ----
   			/* Unmute all. Default is muted after a firmware load */
   			snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_UNMUTE);
   		}
+ 		else if ((reg & 0x3f) == 0x15)
+ 		{
+ 			snd_printk(KERN_INFO "emu1212m: trying to load config emu_hana_fpga_config");
+ 			snd_emu1010_fpga_write(emu, EMU_HANA_FPGA_CONFIG,0x02);
+ 		}
   	}
! 	snd_printk(KERN_INFO "emu1010: emu dock firmware thread stopping\n");
   	return 0;
   }
   
***************

then i've commented the power_down for audiodock - it should be in other place, but as i'm 1212m user - it works for me - you know.


*** 841,847 ****
   	outl(0x0005a000, emu->port + HCFG);
   
   	/* Disable 48Volt power to Audio Dock */
! 	snd_emu1010_fpga_write(emu, EMU_HANA_DOCK_PWR, 0);
   
   	/* ID, should read & 0x7f = 0x55. (Bit 7 is the IRQ bit) */
   	snd_emu1010_fpga_read(emu, EMU_HANA_ID, &reg);
--- 847,853 ----
   	outl(0x0005a000, emu->port + HCFG);
   
   	/* Disable 48Volt power to Audio Dock */
! 	/*snd_emu1010_fpga_write(emu, EMU_HANA_DOCK_PWR, 0);*/
   
   	/* ID, should read & 0x7f = 0x55. (Bit 7 is the IRQ bit) */
   	snd_emu1010_fpga_read(emu, EMU_HANA_ID, &reg);
***************

and here i've changed that the emu_model was firstly enabled and then ecard - since i don't know what's the ecard i thought that it is a second module of my emu card.


*** 2079,2088 ****
   {
   	if (emu->card_capabilities->ca_cardbus_chip)
   		snd_emu10k1_cardbus_init(emu);
! 	if (emu->card_capabilities->ecard)
! 		snd_emu10k1_ecard_init(emu);
! 	else if (emu->card_capabilities->emu_model)
   		snd_emu10k1_emu1010_init(emu);
   	else
   		snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_CNTR|AC97SLOT_LFE);
   	snd_emu10k1_init(emu, emu->enable_ir, 1);
--- 2098,2111 ----
   {
   	if (emu->card_capabilities->ca_cardbus_chip)
   		snd_emu10k1_cardbus_init(emu);
! 	
! 	if (emu->card_capabilities->emu_model)
! 	{
   		snd_emu10k1_emu1010_init(emu);
+ 		
+ 	}
+ 	else if (emu->card_capabilities->ecard)
+ 		snd_emu10k1_ecard_init(emu);
   	else
   		snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_CNTR|AC97SLOT_LFE);
   	snd_emu10k1_init(emu, emu->enable_ir, 1);


Now i still have the problem of waking up
i cannot request_firmware() properly on resume and it is trying to load nothing and other changes in patch - that was trying to debug the situation so i can at least alsa-reload at anytime.
also i'd like to ask if i can use the ctxfi modules - CA0110-IBG
i got xfi card (it is second of 5) that actually uses as i believe the same logic - maybe a lil modified, but not so much imho.


-- 
RA
OEAI

-------------- next part --------------
A non-text attachment was scrubbed...
Name: emu10k1.patch
Type: text/x-patch
Size: 9600 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20121122/0246ed16/attachment.bin>


More information about the Alsa-devel mailing list