At Thu, 29 Sep 2011 15:27:07 +0200, Paul Menzel wrote:
Am Dienstag, den 27.09.2011, 14:52 +0200 schrieb Takashi Iwai:
At Mon, 19 Sep 2011 20:39:58 +0200, Paul Menzel wrote:
Am Montag, den 19.09.2011, 15:19 +0200 schrieb Takashi Iwai:
At Mon, 19 Sep 2011 14:50:35 +0200, Paul Menzel wrote:
Am Montag, den 19.09.2011, 11:27 +0200 schrieb Takashi Iwai:
At Sun, 18 Sep 2011 20:28:03 +0200, Paul Menzel wrote: > > Am Mittwoch, den 14.09.2011, 00:11 +0200 schrieb Paul Menzel: > > Am Montag, den 12.09.2011, 11:28 +0200 schrieb Takashi Iwai: > > > At Wed, 31 Aug 2011 12:37:28 +0200, Daniel Mack wrote: > > > > > > > > On Wed, Aug 31, 2011 at 12:19 PM, Paul Menzel wrote: > > > > > > > Am Donnerstag, den 25.08.2011, 17:01 +0200 schrieb Paul Menzel: > > > > > > > > > > […] > > > > > > > > > >> I just want to add that I also see these messages with Linux kernel > > > > >> 3.0.2 and say seem to be related to suspend and resume. > > > > >> > > > > >> The values seem to differ though every time. > > > > >> > > > > >> [ 1130.984969] hda-intel: spurious response 0x0:0x0, last cmd=0x620000 > > > > >> [ 1130.984990] hda-intel: spurious response 0x1003c:0x0, last cmd=0x620000 > > > > >> [ 1130.985011] hda-intel: spurious response 0x0:0x0, last cmd=0x620000 > > > > >> [ 1130.985032] hda-intel: spurious response 0x10034:0x0, last cmd=0x620000 > > > > >> [ 1130.985053] hda-intel: spurious response 0x0:0x0, last cmd=0x620000 > > > > >> > > > > >> [ … another suspend/resume … ] > > > > >> > > > > >> [ 2726.277102] hda-intel: spurious response 0x0:0x0, last cmd=0x1e70700 > > > > >> [ 2726.277123] hda-intel: spurious response 0x0:0x0, last cmd=0x1e70700 > > > > >> [ 2726.277144] hda-intel: spurious response 0x0:0x0, last cmd=0x1e70700 > > > > >> [ 2726.277165] hda-intel: spurious response 0xb:0x0, last cmd=0x1e70700 > > > > >> > > > > >> Please find the output of `alsa-info.sh` [1] with this Linux version at > > > > >> the end. > > […] > > > > The verb 0x620000 is to set a stream format to NID 0x06. > > > For further debugging, more detailed information is needed. > > > > > > I seem to have lost the original post, so could you attach > > > alsa-info.sh output again, Paul? > > > > Unfortunately I have to compress them due to the size limit. (Could you > > increase that to for example 150 kB?) > > The output of `alsa-info.sh` with Linux 3.1-rc6 (3ab0fcd6c) > > commit 3ab0fcd6cd45d0d0cac114e498848f37e7a463b2 > Merge: 9183834 14515a0 > Author: Takashi Iwai tiwai@suse.de > Date: Fri Sep 16 08:34:05 2011 +0200 > > Merge branch 'topic/misc' > > is as follows.
Thanks. Judging from the alsa-info.sh output, the relevant widgets are for the SPDIF output, and I guess the messages are harmless.
Anyway, could you try the patch below?
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 2a8bed9..ef7e8de 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2925,7 +2925,7 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI }, /* VIA VT8251/VT8237A */ { PCI_DEVICE(0x1106, 0x3288),
.driver_data = AZX_DRIVER_VIA | AZX_DCAPS_POSFIX_VIA },
/* SIS966 */ { PCI_DEVICE(0x1039, 0x7502), .driver_data = AZX_DRIVER_SIS }, /* ULI M5461 */.driver_data = AZX_DRIVER_VIA | AZX_DCAPS_POSFIX_VIA | AZX_DCAPS_SYNC_WRITE },
I applied your patch, did `make oldconfig`, `make -j2 deb-pkg`, installed the packages and rebooted. But the message are still there as far as I can see.
OK, then it's really spurious interrupts. This should be harmless, so you can ignore these messages.
Or, the patch below might work (just hide the messages).
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 2a8bed9..3449024 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -443,6 +443,7 @@ struct azx { unsigned int msi :1; unsigned int irq_pending_warned :1; unsigned int probing :1; /* codec probing phase */
unsigned int in_suspend:1;
/* for debugging */ unsigned int last_cmd[AZX_MAX_CODECS];
@@ -696,11 +697,15 @@ static void azx_update_rirb(struct azx *chip) chip->rirb.res[addr] = res; smp_wmb(); chip->rirb.cmds[addr]--;
} else
} else if (!chip->in_suspend) {
/* we ignore spurious response messages during susepnd,
sus*pe*nd
* as some chips actually send bogus messages
*/ snd_printk(KERN_ERR SFX "spurious response %#x:%#x, " "last cmd=%#08x\n", res, res_ex, chip->last_cmd[addr]);
}}
}
@@ -2267,6 +2272,7 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state) struct azx *chip = card->private_data; int i;
- chip->in_suspend = 1; snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); azx_clear_irq_pending(chip); for (i = 0; i < HDA_MAX_PCMS; i++)
@@ -2283,6 +2289,7 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state) pci_disable_device(pci); pci_save_state(pci); pci_set_power_state(pci, pci_choose_state(pci, state));
- chip->in_suspend = 0; return 0;
}
Takashi, thank you very much for help and bearing with me. I applied your patch on top of the other one. The messages after resuming are gone but I still get these messages on start up (I think logging into GNOME).
OK, so something must be done not only suppressing the PM warnings.
BTW, I'm checking the non-snooping mode, and it might help in some corner cases like yours, too. Could you test the patch below? It might be fuzzy to apply to 3.0, but should be trivial to edit by hand.
[…]
I applied your patch on top of 72179668d9bab7cc2d4ceb8de564f2e8835a1fdb. But I am still seeing these messages. Sound playback works though.
OK, then it's irrelevant. I have no more clue what could be wrong.
A simple way to reduce this annoying log is to put prink_ratelimit() like the patch below. Does it help a bit?
Takashi
--- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index fbf5cfc..cd19d8e 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -754,7 +754,7 @@ static void azx_update_rirb(struct azx *chip) chip->rirb.res[addr] = res; smp_wmb(); chip->rirb.cmds[addr]--; - } else + } else if (printk_ratelimit()) snd_printk(KERN_ERR SFX "spurious response %#x:%#x, " "last cmd=%#08x\n", res, res_ex,