Re: no sound with SondBlast PCI (ens1371)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 31-07-08 00:39, Jason Hitt wrote:

I gave this one a shot and had the same results as before. No logging beyond the ACPI line listed before, and no audio. Could there be something more basic I'm missing here? It's almost as if the card never leaves mute (though i do get a loud popping when the driver loads).

Shit, shit, triply shit. Thanks for trying again. Well, attached there's an (incremental, on top of the last one or just on a fresh copy; ignore any offsets that patch reports as long as it succeeds) patch again with that other difference that I noticed but unless it somehow works, don't even bother reporting back.

With that locally, my own plain ES1371 card seems to have gone silent...

Noticed earlier that the codec communication was in fact also wrong with the working OSS driver so probably barking up the wrong tree anyway but "Media Fan" had his card working at one boot which implies it's not some plainly traceable thing but timing related.

With the codec communication disturbed it can be anything really which together with not having the hardware locally to poke a few dozen stupid attempts at is making this exceedingly hard to debug (which isn't to say that you guys haven't been good at poking my stupid attempts at it for me).

I'll go relook at the AC97 side of things again I guess. Will probably be a while again until I post the next try.

Rene.
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c
index fbf1124..2c402b1 100644
--- a/sound/pci/ens1370.c
+++ b/sound/pci/ens1370.c
@@ -654,9 +654,9 @@ static unsigned short snd_es1371_codec_read(struct snd_ac97 *ac97,
 		if (!(inl(ES_REG(ensoniq, 1371_CODEC)) & ES_1371_CODEC_WIP)) {
 			/* save the current state for latter */
 			x = snd_es1371_wait_src_ready(ensoniq);
-			outl((x & (ES_1371_SRC_DISABLE | ES_1371_DIS_P1 |
-			           ES_1371_DIS_P2 | ES_1371_DIS_R1)) | 0x00010000,
-			     ES_REG(ensoniq, 1371_SMPRATE));
+			x &= ES_1371_SRC_DISABLE | ES_1371_DIS_P1 |
+				ES_1371_DIS_P2 | ES_1371_DIS_R1;
+			outl(x | 0x00010000, ES_REG(ensoniq, 1371_SMPRATE));
 			/* wait for not busy (state 0) first to avoid
 			   transition states */
 			for (t = 0; t < POLL_COUNT; t++) {
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux