From: Julian Wollrath <jwollrath@web.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: Hung task with trace after resume on kernel v3.7-rc6
Date: Mon, 19 Nov 2012 20:25:13 +0100 [thread overview]
Message-ID: <20121119202513.725a7f1f@ilfaris> (raw)
In-Reply-To: <s5hmwydqunm.wl%tiwai@suse.de>
> > Could you clear the patch and check whether power_save_controller=0
> > option also solves the issue?
>
> If it works, the patch below should help. Give it a try.
The patch below does help, the spurious responses do not show up
anymore.
Thank you very much for your help and your quick response, with best
regards,
Julian
> ---
> From: Takashi Iwai <tiwai@suse.de>
> Subject: [PATCH] ALSA: hda - Limit runtime PM support only to known
> Intel chips
>
> We've got a report that the runtime PM may make the codec the
> unresponsive on AMD platforms. Since the feature has been tested only
> on the recent Intel platforms, it's safer to limit the support to such
> devices for now.
>
> This patch adds a new DCAPS bit flag indicating the runtime PM
> support, and mark it for Intel controllers.
>
> Reported-by: Julian Wollrath <jwollrath@web.de>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Julian Wollrath <jwollrath@web.de>
> ---
> sound/pci/hda/hda_intel.c | 39
> ++++++++++++++++++++------------------- 1 file changed, 20
> insertions(+), 19 deletions(-)
>
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index cd2dbaf..f9d870e 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -556,6 +556,12 @@ enum {
> #define AZX_DCAPS_ALIGN_BUFSIZE (1 << 22) /* buffer
> size alignment */ #define AZX_DCAPS_4K_BDLE_BOUNDARY (1 <<
> 23) /* BDLE in 4k boundary */ #define
> AZX_DCAPS_COUNT_LPIB_DELAY (1 << 25) /* Take LPIB as delay */
> +#define AZX_DCAPS_PM_RUNTIME (1 << 26) /* runtime PM
> support */ + +/* quirks for Intel PCH */
> +#define AZX_DCAPS_INTEL_PCH \
> + (AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_BUFSIZE | \
> + AZX_DCAPS_COUNT_LPIB_DELAY | AZX_DCAPS_PM_RUNTIME)
>
> /* quirks for ATI SB / AMD Hudson */
> #define AZX_DCAPS_PRESET_ATI_SB \
> @@ -2433,6 +2439,9 @@ static void azx_power_notify(struct hda_bus
> *bus, bool power_up) {
> struct azx *chip = bus->private_data;
>
> + if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
> + return;
> +
> if (power_up)
> pm_runtime_get_sync(&chip->pci->dev);
> else
> @@ -2548,7 +2557,8 @@ static int azx_runtime_suspend(struct device
> *dev) struct snd_card *card = dev_get_drvdata(dev);
> struct azx *chip = card->private_data;
>
> - if (!power_save_controller)
> + if (!power_save_controller ||
> + !(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
> return -EAGAIN;
>
> azx_stop_chip(chip);
> @@ -3429,39 +3439,30 @@ static void __devexit azx_remove(struct
> pci_dev *pci) static DEFINE_PCI_DEVICE_TABLE(azx_ids) = {
> /* CPT */
> { PCI_DEVICE(0x8086, 0x1c20),
> - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> /* PBG */
> { PCI_DEVICE(0x8086, 0x1d20),
> - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE},
> + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> /* Panther Point */
> { PCI_DEVICE(0x8086, 0x1e20),
> - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> /* Lynx Point */
> { PCI_DEVICE(0x8086, 0x8c20),
> - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> /* Lynx Point-LP */
> { PCI_DEVICE(0x8086, 0x9c20),
> - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> /* Lynx Point-LP */
> { PCI_DEVICE(0x8086, 0x9c21),
> - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> /* Haswell */
> { PCI_DEVICE(0x8086, 0x0c0c),
> - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
> { PCI_DEVICE(0x8086, 0x0d0c),
> - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
> /* 5 Series/3400 */
> { PCI_DEVICE(0x8086, 0x3b56),
> - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
> - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
> + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
> /* SCH */
> { PCI_DEVICE(0x8086, 0x811b),
> .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
next prev parent reply other threads:[~2012-11-19 19:25 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-18 15:18 Hung task with trace after resume on kernel v3.7-rc6 Julian Wollrath
2012-11-19 5:54 ` Dylan Reid
2012-11-19 9:38 ` Takashi Iwai
2012-11-19 10:56 ` Julian Wollrath
2012-11-19 11:11 ` Julian Wollrath
2012-11-19 11:22 ` Takashi Iwai
2012-11-19 12:15 ` Julian Wollrath
2012-11-19 12:50 ` Takashi Iwai
2012-11-19 13:56 ` Julian Wollrath
2012-11-19 14:18 ` Julian Wollrath
2012-11-19 14:38 ` Takashi Iwai
2012-11-19 15:00 ` Julian Wollrath
2012-11-19 16:09 ` Julian Wollrath
2012-11-19 16:17 ` Takashi Iwai
2012-11-19 17:51 ` Julian Wollrath
2012-11-19 18:08 ` Takashi Iwai
2012-11-19 19:06 ` Takashi Iwai
2012-11-19 19:25 ` Julian Wollrath [this message]
2012-11-19 20:28 ` Takashi Iwai
2012-11-19 19:14 ` Julian Wollrath
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121119202513.725a7f1f@ilfaris \
--to=jwollrath@web.de \
--cc=alsa-devel@alsa-project.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.