At Mon, 03 Feb 2014 17:26:50 +0200, .::AMP::. wrote: > > Hello, > > thanks to your feedback, I did a quick review of the ice1712.c file > (where I saw you have worked on it) and another one emu10k1.c where I > can see methods like static int snd_emu10k1_suspend(struct pci_dev *pci, > pm_message_t state) and static int snd_emu10k1_resume(struct pci_dev *pci) > Can I use these as a reference and try adopt them to work on ice1712.c > or this is not an option (or that easy at all)? :-) Rather refer to ice1724.c. But, the biggest missing piece in ice1712 driver is rather the re-initialization (and the status restore) in the codec side. > I am willing to help on this but I have to read more before I can do so. > Can you tell me which documentation should I follow regarding ALSA > drivers development? writing-an-alsa-driver in Documentation/DocBook can be the start point for hacking a PCI driver. Takashi > > Thanks in advance > Nick > > On 02/03/2014 01:28 PM, Takashi Iwai wrote: > > At Sun, 02 Feb 2014 23:42:36 +0200, > > .::AMP::. wrote: > >> I can do this after initial boot > >> > >> #### > >> > >> linux-fefb:/tmp # rmmod snd_ice1712 > >> ERROR: Module snd_ice1712 is in use > >> linux-fefb:/tmp # ls -alh /dev/snd/ > >> total 0 > >> drwxr-xr-x 3 root root 180 Jan 31 11:15 . > >> drwxr-xr-x 19 root root 4.1K Jan 31 11:15 .. > >> drwxr-xr-x 2 root root 60 Jan 31 11:15 by-path > >> crw-rw----+ 1 root audio 116, 5 Jan 31 11:15 controlC0 > >> crw-rw----+ 1 root audio 116, 2 Jan 31 11:15 midiC0D0 > >> crw-rw----+ 1 root audio 116, 4 Jan 31 11:15 pcmC0D0c > >> crw-rw----+ 1 root audio 116, 3 Jan 31 11:58 pcmC0D0p > >> crw-rw----+ 1 root audio 116, 1 Jan 31 11:15 seq > >> crw-rw----+ 1 root audio 116, 33 Jan 31 11:15 timer > >> linux-fefb:/tmp # rmmod -f snd_ice1712 > >> linux-fefb:/tmp # ls -alh /dev/snd/ > >> total 0 > >> drwxr-xr-x 2 root root 80 Jan 31 12:38 . > >> drwxr-xr-x 19 root root 4.1K Jan 31 12:38 .. > >> crw-rw----+ 1 root audio 116, 1 Jan 31 11:15 seq > >> crw-rw----+ 1 root audio 116, 33 Jan 31 11:15 timer > >> linux-fefb:/tmp # modprobe -fv snd_ice1712 > >> insmod > >> /lib/modules/3.11.6-4-desktop/kernel/sound/pci/ice1712/snd-ice1712.ko > >> dxr_enable=0 > >> linux-fefb:/tmp # ls -alh /dev/snd/ > >> total 0 > >> drwxr-xr-x 3 root root 180 Jan 31 12:38 . > >> drwxr-xr-x 19 root root 4.1K Jan 31 12:38 .. > >> drwxr-xr-x 2 root root 60 Jan 31 12:38 by-path > >> crw-rw----+ 1 root audio 116, 5 Jan 31 12:38 controlC0 > >> crw-rw----+ 1 root audio 116, 2 Jan 31 12:38 midiC0D0 > >> crw-rw----+ 1 root audio 116, 4 Jan 31 12:38 pcmC0D0c > >> crw-rw----+ 1 root audio 116, 3 Jan 31 12:38 pcmC0D0p > >> crw-rw----+ 1 root audio 116, 1 Jan 31 11:15 seq > >> crw-rw----+ 1 root audio 116, 33 Jan 31 11:15 timer > >> > >> #### > >> > >> everything works and I got sound. > >> > >> DOING SUSPEND... SUSPENDED. > >> > >> WAKEUP > >> No sound now, my player (Audacious) tries to play something then stops, > >> no warnings or errors. > >> Now doing the same as after startup > >> > >> #### > >> > >> linux-fefb:/tmp # rmmod snd_ice1712 > >> ERROR: Module snd_ice1712 is in use > >> linux-fefb:/tmp # ls -alh /dev/snd/ > >> total 0 > >> drwxr-xr-x 3 root root 180 Jan 31 12:38 . > >> drwxr-xr-x 19 root root 4.1K Jan 31 12:41 .. > >> drwxr-xr-x 2 root root 60 Jan 31 12:38 by-path > >> crw-rw----+ 1 root audio 116, 5 Jan 31 12:38 controlC0 > >> crw-rw----+ 1 root audio 116, 2 Jan 31 12:38 midiC0D0 > >> crw-rw----+ 1 root audio 116, 4 Jan 31 12:38 pcmC0D0c > >> crw-rw----+ 1 root audio 116, 3 Jan 31 12:39 pcmC0D0p > >> crw-rw----+ 1 root audio 116, 1 Jan 31 11:15 seq > >> crw-rw----+ 1 root audio 116, 33 Jan 31 11:15 timer > >> linux-fefb:/tmp # rmmod -f snd_ice1712 > >> linux-fefb:/tmp # ls -alh /dev/snd/ > >> total 0 > >> drwxr-xr-x 2 root root 80 Jan 31 12:45 . > >> drwxr-xr-x 19 root root 4.1K Jan 31 12:45 .. > >> crw-rw----+ 1 root audio 116, 1 Jan 31 11:15 seq > >> crw-rw----+ 1 root audio 116, 33 Jan 31 11:15 timer > >> linux-fefb:/tmp # modprobe -fv snd_ice1712 > >> insmod > >> /lib/modules/3.11.6-4-desktop/kernel/sound/pci/ice1712/snd-ice1712.ko > >> dxr_enable=0 > >> linux-fefb:/tmp # ls -alh /dev/snd/ > >> total 0 > >> drwxr-xr-x 2 root root 80 Jan 31 12:45 . > >> drwxr-xr-x 19 root root 4.1K Jan 31 12:45 .. > >> crw-rw----+ 1 root audio 116, 1 Jan 31 11:15 seq > >> crw-rw----+ 1 root audio 116, 33 Jan 31 11:15 timer > >> > >> #### > >> > >> No device nodes are created but why, this is the same thing I do as > >> before doing a regular suspend? > >> I can't pass this step for some reason. > >> > >> Takashi: > >> "The suspend/resume is simply not supported for ice1712 devices yet. > >> It's a looongtime TODO." > >> > >> Why not, what is the difference between the boot process ALSA init and > >> the manual module insert (modprobe/insmod) or daemon reload. > >> What I am trying to do is basically write a small script that does the > >> same thing that is happening during boot time and I can't find my way of > >> doing this. > > The proper suspend/resume needs to re-setup the codecs and restore the > > mixer and other settings in the kernel driver. This is the missing > > piece in ice1712 driver. > > > > > > Takashi > > > > ------------------------------------------------------------------------------ > > Managing the Performance of Cloud-Based Applications > > Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. > > Read the Whitepaper. > > http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk > > _______________________________________________ > > Alsa-user mailing list > > Alsa-user@xxxxxxxxxxxxxxxxxxxxx > > https://lists.sourceforge.net/lists/listinfo/alsa-user > ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user