emu10k1: fix display of send routing in /proc
PATCH 1/1 emu10k1: fix display of send routing in /proc
The emu10k1's send routing is a per channel setting. The emu10k1 has 4 sends per channel, the Audigy 8. Currently we only display the first 4 sends for the first channel. This patch updates the /proc file to display the send routing for all 64 channels, and to display the last 4 sends if present.
Index: alsa/alsa-kernel/pci/emu10k1/emuproc.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emuproc.c,v retrieving revision 1.21
alsa-kernel/pci/emu10k1/emuproc.c +30 -17
@@ -175,32 +175,45 @@ };emu10k1_t *emu = entry->private_data; -unsigned int val; +unsigned int val, val1;int nefx = emu->audigy ?64 :32 ;char **outputs = emu->audigy ? audigy_outs : creative_outs;int idx;snd_iprintf (buffer,"EMU10K1\n\n" ); - val = emu->audigy ? -snd_emu10k1_ptr_read (emu,A_FXRT1 ,0 ) : -snd_emu10k1_ptr_read (emu,FXRT ,0 );snd_iprintf (buffer,"Card : %s\n" , emu->audigy ?"Audigy" : (emu->APS ?"EMU APS" :"Creative" ));snd_iprintf (buffer,"Internal TRAM (words) : 0x%x\n" , emu->fx8010.itram_size);snd_iprintf (buffer,"External TRAM (words) : 0x%x\n" , (int )emu->fx8010.etram_pages.bytes);snd_iprintf (buffer,"\n" ); -if (emu->audigy) { -snd_iprintf (buffer,"Effect Send Routing : A=%i, B=%i, C=%i, D=%i\n" , - val &0x3f , - (val >>8 ) &0x3f , - (val >>16 ) &0x3f , - (val >>24 ) &0x3f ); - }else { -snd_iprintf (buffer,"Effect Send Routing : A=%i, B=%i, C=%i, D=%i\n" , - (val >>16 ) &0x0f , - (val >>20 ) &0x0f , - (val >>24 ) &0x0f , - (val >>28 ) &0x0f ); +snd_iprintf (buffer,"Effect Send Routing :\n" ); +for (idx =0 ; idx <NUM_G ; idx++) { + val = emu->audigy ? +snd_emu10k1_ptr_read (emu,A_FXRT1 , idx) : +snd_emu10k1_ptr_read (emu,FXRT , idx); + val1 = emu->audigy ? +snd_emu10k1_ptr_read (emu,A_FXRT2 , idx) : +0 ; +if (emu->audigy) { +snd_iprintf (buffer,"Ch%i: A=%i, B=%i, C=%i, D=%i, " , + idx, + val &0x3f , + (val >>8 ) &0x3f , + (val >>16 ) &0x3f , + (val >>24 ) &0x3f ); +snd_iprintf (buffer,"E=%i, F=%i, G=%i, H=%i\n" , + val1 &0x3f , + (val1 >>8 ) &0x3f , + (val1 >>16 ) &0x3f , + (val1 >>24 ) &0x3f ); + }else { +snd_iprintf (buffer,"Ch%i: A=%i, B=%i, C=%i, D=%i\n" , + idx, + (val >>16 ) &0x0f , + (val >>20 ) &0x0f , + (val >>24 ) &0x0f , + (val >>28 ) &0x0f ); + } }snd_iprintf (buffer,"\nCaptured FX Outputs :\n" );for (idx =0 ; idx < nefx; idx++) {
@@ -318,7 +331,7 @@snd_info_entry_t *entry;if (!snd_card_proc_new (emu->card,"emu10k1" , &entry)) -snd_info_set_text_ops (entry, emu,1024 , snd_emu10k1_proc_read); +snd_info_set_text_ops (entry, emu,2048 , snd_emu10k1_proc_read);if (!snd_card_proc_new (emu->card,"fx8010_gpr" , &entry)) { entry->content =SNDRV_INFO_CONTENT_DATA ;
Takashi Iwai
AppliedAt Sat, 20 Nov 2004 01:25:51 -0500,
Quoted 9 lines · Lee Revell
[1 <text/plain (7bit)>]
The emu10k1's send routing is a per channel setting. The emu10k1 has 4 sends per channel, the Audigy 8. Currently we only display the first 4 sends for the first channel. This patch updates the /proc file to display the send routing for all 64 channels, and to display the last 4 sends if present.Signed-off-by Lee Revell <[email protected]>
Thanks, applied to CVS.
Takashi
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/