linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: 2.6.10-mm1
@ 2005-01-03 23:07 Mark_H_Johnson
  2005-01-03 23:15 ` 2.6.10-mm1 Andrew Morton
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Mark_H_Johnson @ 2005-01-03 23:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: lkml

I was looking to compare RT latency between this kernel and the latest from
Ingo and I had the following warnings / errors building 2.6.10-mm1:

[no apparent compile / link errors]
*** Warning: "snd_ac97_restore_iec958" [sound/pci/ac97/snd-ac97-codec.ko]
undefined!
*** Warning: "snd_ac97_restore_status" [sound/pci/ac97/snd-ac97-codec.ko]
undefined!
*** Warning: "del_mtd_partitions" [drivers/mtd/maps/scx200_docflash.ko]
undefined!
*** Warning: "add_mtd_partitions" [drivers/mtd/maps/scx200_docflash.ko]
undefined!
...
if [ -r System.map ]; then /sbin/depmod -ae -F System.map -b
/var/tmp/kernel-2.6.10mm1-root -r 2.6.10-mm1; fi
WARNING: /var/tmp/kernel-2.6.10
mm1-root/lib/modules/2.6.10-mm1/kernel/sound/pci/ac97/snd-ac97-codec.ko
needs unknown sy
mbol snd_ac97_restore_status
WARNING: /var/tmp/kernel-2.6.10
mm1-root/lib/modules/2.6.10-mm1/kernel/sound/pci/ac97/snd-ac97-codec.ko
needs unknown sy
mbol snd_ac97_restore_iec958
WARNING: /var/tmp/kernel-2.6.10
mm1-root/lib/modules/2.6.10-mm1/kernel/drivers/mtd/maps/scx200_docflash.ko
needs unknown
 symbol del_mtd_partitions
WARNING: /var/tmp/kernel-2.6.10
mm1-root/lib/modules/2.6.10-mm1/kernel/drivers/mtd/maps/scx200_docflash.ko
needs unknown
 symbol add_mtd_partitions
...

The following messages after rebooting...

...
Jan  3 16:42:00 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_status
Jan  3 16:42:00 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_iec958
Jan  3 16:42:00 dws77 modprobe: WARNING: Error inserting snd_ac97_codec
(/lib/modules/2.6.10-mm1/kernel/sound/pci/ac97/
snd-ac97-codec.ko): Unknown symbol in module, or unknown parameter (see
dmesg)
Jan  3 16:42:01 dws77 modprobe: FATAL: Error inserting snd_ens1371
(/lib/modules/2.6.10-mm1/kernel/sound/pci/snd-ens137
1.ko): Unknown symbol in module, or unknown parameter (see dmesg)
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_mixer
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_bus
Jan  3 16:42:01 dws77 modprobe: WARNING: Error inserting snd_ac97_codec
(/lib/modules/2.6.10-mm1/kernel/sound/pci/ac97/
snd-ac97-codec.ko): Unknown symbol in module, or unknown parameter (see
dmesg)
Jan  3 16:42:01 dws77 modprobe: FATAL: Error inserting snd_ens1371
(/lib/modules/2.6.10-mm1/kernel/sound/pci/snd-ens137
1.ko): Unknown symbol in module, or unknown parameter (see dmesg)
Jan  3 16:42:01 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_status
Jan  3 16:42:01 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_iec958
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_mixer
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_bus
Jan  3 16:42:01 dws77 modprobe: WARNING: Error inserting snd_ac97_codec
(/lib/modules/2.6.10-mm1/kernel/sound/pci/ac97/
snd-ac97-codec.ko): Unknown symbol in module, or unknown parameter (see
dmesg)
Jan  3 16:42:01 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_status
Jan  3 16:42:01 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_iec958
Jan  3 16:42:01 dws77 modprobe: FATAL: Error inserting snd_ens1371
(/lib/modules/2.6.10-mm1/kernel/sound/pci/snd-ens137
1.ko): Unknown symbol in module, or unknown parameter (see dmesg)
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_mixer
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_bus
Jan  3 16:42:01 dws77 modprobe: WARNING: Error inserting snd_ac97_codec
(/lib/modules/2.6.10-mm1/kernel/sound/pci/ac97/
snd-ac97-codec.ko): Unknown symbol in module, or unknown parameter (see
dmesg)
Jan  3 16:42:01 dws77 modprobe: FATAL: Error inserting snd_ens1371
(/lib/modules/2.6.10-mm1/kernel/sound/pci/snd-ens137
1.ko): Unknown symbol in module, or unknown parameter (see dmesg)
Jan  3 16:42:01 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_status
Jan  3 16:42:01 dws77 kernel: snd_ac97_codec: Unknown symbol
snd_ac97_restore_iec958
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_mixer
Jan  3 16:42:01 dws77 kernel: snd_ens1371: Unknown symbol snd_ac97_bus
...

and in dmesg, the following repeated a few times:
snd_ac97_codec: Unknown symbol snd_ac97_restore_status
snd_ac97_codec: Unknown symbol snd_ac97_restore_iec958
snd_ens1371: Unknown symbol snd_ac97_mixer
snd_ens1371: Unknown symbol snd_ac97_bus

At this point, the system fails to work with my sound card.
The .config is basically the same as used previously with
2.6.10-rc3-mm1-V0.7.33-04 (Ingo's realtime patches) without problems.
[though I expected & saw plenty of unused symbols when I did
make mrproper / xconfig for 2.6.10-mm1]

To fix this, should I just add the EXPORT_SYMBOL lines for these symbols
  snd_ac97_restore_status  snd_ac97_restore_iec958
or is something more needed?

Thanks.
  --Mark Johnson <mailto:Mark_H_Johnson@Raytheon.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: 2.6.10-mm1: ALSA ac97 compile error with CONFIG_PM=n
@ 2005-01-04 17:01 Mark_H_Johnson
  0 siblings, 0 replies; 7+ messages in thread
From: Mark_H_Johnson @ 2005-01-04 17:01 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Mark_H_Johnson, Andrew Morton, lkml, perex, Takashi Iwai, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 1150 bytes --]

>That's not the problem, since function and definition are in the same
>module.
>
>You didn't send your .config, but looking at the code it seems
>CONFIG_PM=n was the culprit.
Yes. CONFIG_PM=N in my .config.

>As a workaround, it should work after enabling the following option:
>  Power management options (ACPI, APM)
>    Power Management support
Hmm. I don't want to do that for my real time testing. I turned that off
to eliminate a class of possible latencies.

>This is only a workaround, I've Cc'ed the ALSA maintainers for a real
>fix.

How about the attached patch instead (which moves the #ifdef CONFIG_PM
and snd_ac97_suspend after the two functions I am having problems with).
Apparently the use of snd_ac97_restore_status and snd_ac97_restore_iec958
is in ac97_patch.c as well as in the power management code. I have not
run the code yet a quick build didn't find any problems with it. I have
a full build / test coming later today.

  --Mark

PS: On the other message you sent related to [add|del]_mtd_partitions
applies with the 2nd hunk failing (that code not present) but the first
hunk makes the build problem I had go away. Thanks.

[-- Attachment #2: ac97-fix-nopm.patch --]
[-- Type: application/octet-stream, Size: 849 bytes --]

--- kernel-2.6.10mm1/sound/pci/ac97/ac97_codec.c.orig	2005-01-04 07:40:27.000000000 -0600
+++ kernel-2.6.10mm1/sound/pci/ac97/ac97_codec.c	2005-01-04 10:48:21.000000000 -0600
@@ -2201,18 +2201,6 @@
 }
 
 
-#ifdef CONFIG_PM
-/**
- * snd_ac97_suspend - General suspend function for AC97 codec
- * @ac97: the ac97 instance
- *
- * Suspends the codec, power down the chip.
- */
-void snd_ac97_suspend(ac97_t *ac97)
-{
-	snd_ac97_powerdown(ac97);
-}
-
 /*
  * restore ac97 status
  */
@@ -2253,6 +2241,18 @@
 	}
 }
 
+#ifdef CONFIG_PM
+/**
+ * snd_ac97_suspend - General suspend function for AC97 codec
+ * @ac97: the ac97 instance
+ *
+ * Suspends the codec, power down the chip.
+ */
+void snd_ac97_suspend(ac97_t *ac97)
+{
+	snd_ac97_powerdown(ac97);
+}
+
 /**
  * snd_ac97_resume - General resume function for AC97 codec
  * @ac97: the ac97 instance

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: 2.6.10-mm1: ALSA ac97 compile error with CONFIG_PM=n
@ 2005-01-04 19:25 Mark_H_Johnson
  0 siblings, 0 replies; 7+ messages in thread
From: Mark_H_Johnson @ 2005-01-04 19:25 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Andrew Morton, alsa-devel, Adrian Bunk, lkml, perex, Takashi Iwai

[-- Attachment #1: Type: text/plain, Size: 5410 bytes --]

A follow up on this patch. This fixed my build / module load problem when
using CONFIG_PM=N on my system. The audio worked OK (except as noted
below). Do you want Andrew Morton to pick this up (or will you incorporate
the fix into another ALSA patch)?

I did have some other minor problems during my testing but I have seen
these before. Perhaps one of the ALSA developers could comment on the
correct / incorrect behavior of the audio system. The testing is done on a
Fedora Core 2 system with the 2.6.10-mm1 kernel (with the patch below). Let
me know if you need more information on the system configuration, and
.config.

[1] After system start up & log in, I do the sequence:
  su -
  (password entered)
  system-config-soundcard
  Simple mixer control 'PCM',0
    Capabilities: pvolume pswitch pswitch-joined
    Playback channels: Front Left - Front Right
    Limits: Playback 0 - 31
    Front Left: Playback 23 [74%] [on]
    Front Right: Playback 23 [74%] [on]
  sox: Can't open output file '/dev/dsp': Device or resource busy

At this point, I get the window asking if I heard the sound (I did not). If
I repeat the test after waiting a short period, it eventually succeeds.

I get basically the same error message from latencytest when it says...
  ERROR: open /dev/dsp: Device or resource busy
[even after I had a successful play of the test sound in
system-config-soundcard]

I realize this may be some KDE or GNOME background application hogging the
sound output, but it is extremely annoying since I never had this problem
with the 2.4 kernels I have used. Is that the likely cause or would
something else cause this problem?

[2] When running latencytest (from
http://www.gardena.net/benno/linux/audio/) the sound is not consistent
(like it was on 2.4 with OSS) and occasionally I hear "rapid playback"
where the repeating audio pattern is much faster than it should be. In
addition, the charts generated by latencytest show at least two different
patterns:
  a. The time between write() calls to the audio interface varies from
roughly 1.16 msec to 2.0 msec. If you add code to dump out the durations
you can see it is a sawtooth pattern, some periods it returns too quickly
and some periods it returns too slowly.
  b. The time between write() calls is roughly 1.2 msec. I believe this
behavior occurs at the same time the audio pattern repeats too quickly.
In all cases, the between write() calls should be 1.45 msec (the length of
the audio fragment) as I measured on a consistent basis with 2.4 kernels. I
can somewhat understand the behavior of (a) if the driver is queueing up
audio fragments in the write() call. I do not necessarily agree that the
audio driver should do that but I can understand why it may do that. The
behavior of (b) sounds broken to me.

Let me know if you want to see a copy of the charts - I should be able to
email (or post on an ftp site temporarily) to individuals who want to view
them [and compare with the 2.4 results].

--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


                                                                                                                                       
                      Mark H Johnson                                                                                                   
                                               To:      Adrian Bunk <bunk@stusta.de>                                                   
                      01/04/2005 11:01         cc:      Mark_H_Johnson@RAYTHEON.COM, Andrew Morton <akpm@osdl.org>, lkml               
                      AM                       <linux-kernel@vger.kernel.org>, perex@suse.cz, Takashi Iwai <tiwai@suse.de>,            
                                               alsa-devel@alsa-project.org                                                             
                                               Subject: Re: 2.6.10-mm1: ALSA ac97 compile error with CONFIG_PM=n(Document link: Mark   
                                               the Maniac)                                                                             
                                                                                                                                       



>That's not the problem, since function and definition are in the same
>module.
>
>You didn't send your .config, but looking at the code it seems
>CONFIG_PM=n was the culprit.
Yes. CONFIG_PM=N in my .config.

>As a workaround, it should work after enabling the following option:
>  Power management options (ACPI, APM)
>    Power Management support
Hmm. I don't want to do that for my real time testing. I turned that off
to eliminate a class of possible latencies.

>This is only a workaround, I've Cc'ed the ALSA maintainers for a real
>fix.

How about the attached patch instead (which moves the #ifdef CONFIG_PM
and snd_ac97_suspend after the two functions I am having problems with).
Apparently the use of snd_ac97_restore_status and snd_ac97_restore_iec958
is in ac97_patch.c as well as in the power management code. I have not
run the code yet a quick build didn't find any problems with it. I have
a full build / test coming later today.

  --Mark

PS: On the other message you sent related to [add|del]_mtd_partitions
applies with the 2nd hunk failing (that code not present) but the first
hunk makes the build problem I had go away. Thanks.

[-- Attachment #2: ac97-fix-nopm.patch --]
[-- Type: application/octet-stream, Size: 849 bytes --]

--- kernel-2.6.10mm1/sound/pci/ac97/ac97_codec.c.orig	2005-01-04 07:40:27.000000000 -0600
+++ kernel-2.6.10mm1/sound/pci/ac97/ac97_codec.c	2005-01-04 10:48:21.000000000 -0600
@@ -2201,18 +2201,6 @@
 }
 
 
-#ifdef CONFIG_PM
-/**
- * snd_ac97_suspend - General suspend function for AC97 codec
- * @ac97: the ac97 instance
- *
- * Suspends the codec, power down the chip.
- */
-void snd_ac97_suspend(ac97_t *ac97)
-{
-	snd_ac97_powerdown(ac97);
-}
-
 /*
  * restore ac97 status
  */
@@ -2253,6 +2241,18 @@
 	}
 }
 
+#ifdef CONFIG_PM
+/**
+ * snd_ac97_suspend - General suspend function for AC97 codec
+ * @ac97: the ac97 instance
+ *
+ * Suspends the codec, power down the chip.
+ */
+void snd_ac97_suspend(ac97_t *ac97)
+{
+	snd_ac97_powerdown(ac97);
+}
+
 /**
  * snd_ac97_resume - General resume function for AC97 codec
  * @ac97: the ac97 instance

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-01-04 22:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-03 23:07 2.6.10-mm1 Mark_H_Johnson
2005-01-03 23:15 ` 2.6.10-mm1 Andrew Morton
2005-01-04  0:11 ` 2.6.10-mm1: ALSA ac97 compile error with CONFIG_PM=n Adrian Bunk
2005-01-04 19:16   ` Takashi Iwai
2005-01-04  0:15 ` [2.6 patch] add missing dependencies on MTD_PARTITIONS (fwd) Adrian Bunk
2005-01-04 17:01 2.6.10-mm1: ALSA ac97 compile error with CONFIG_PM=n Mark_H_Johnson
2005-01-04 19:25 Mark_H_Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).