Mailing List Archive

linux-next: manual merge of the sound tree with the drm tree
Hi Takashi,

Today's linux-next merge of the sound tree got a conflict in
sound/pci/hda/hda_intel.c between commit 246efa4a072f ("snd/hda: add
runtime suspend/resume on optimus support (v4)") from the drm tree and
commit 7d4f606c50ff ("ALSA: hda - WAKEEN feature enabling for runtime
pm") from the sound tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au

diff --cc sound/pci/hda/hda_intel.c
index bf5e58e,c6c9829..0000000
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@@ -2975,12 -2971,10 +2975,16 @@@ static int azx_runtime_suspend(struct d
struct snd_card *card = dev_get_drvdata(dev);
struct azx *chip = card->private_data;

+ if (chip->disabled)
+ return 0;
+
+ if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
+ return 0;
+
+ /* enable controller wake up event */
+ azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) |
+ STATESTS_INT_MASK);
+
azx_stop_chip(chip);
azx_enter_link_reset(chip);
azx_clear_irq_pending(chip);
@@@ -2993,17 -2987,31 +2997,37 @@@ static int azx_runtime_resume(struct de
{
struct snd_card *card = dev_get_drvdata(dev);
struct azx *chip = card->private_data;
+ struct hda_bus *bus;
+ struct hda_codec *codec;
+ int status;

+ if (chip->disabled)
+ return 0;
+
+ if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
+ return 0;
+
if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL)
hda_display_power(true);
+
+ /* Read STATESTS before controller reset */
+ status = azx_readw(chip, STATESTS);
+
azx_init_pci(chip);
azx_init_chip(chip, 1);
+
+ bus = chip->bus;
+ if (status && bus) {
+ list_for_each_entry(codec, &bus->codec_list, list)
+ if (status & (1 << codec->addr))
+ queue_delayed_work(codec->bus->workq,
+ &codec->jackpoll_work, codec->jackpoll_interval);
+ }
+
+ /* disable controller Wake Up event*/
+ azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) &
+ ~STATESTS_INT_MASK);
+
return 0;
}
Re: linux-next: manual merge of the sound tree with the drm tree [ In reply to ]
At Fri, 30 Aug 2013 13:03:55 +1000,
Stephen Rothwell wrote:
>
> Hi Takashi,
>
> Today's linux-next merge of the sound tree got a conflict in
> sound/pci/hda/hda_intel.c between commit 246efa4a072f ("snd/hda: add
> runtime suspend/resume on optimus support (v4)") from the drm tree and
> commit 7d4f606c50ff ("ALSA: hda - WAKEEN feature enabling for runtime
> pm") from the sound tree.
>
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).

Thanks! The conflict fix looks correct.


Takashi

>
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
>
> diff --cc sound/pci/hda/hda_intel.c
> index bf5e58e,c6c9829..0000000
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@@ -2975,12 -2971,10 +2975,16 @@@ static int azx_runtime_suspend(struct d
> struct snd_card *card = dev_get_drvdata(dev);
> struct azx *chip = card->private_data;
>
> + if (chip->disabled)
> + return 0;
> +
> + if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
> + return 0;
> +
> + /* enable controller wake up event */
> + azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) |
> + STATESTS_INT_MASK);
> +
> azx_stop_chip(chip);
> azx_enter_link_reset(chip);
> azx_clear_irq_pending(chip);
> @@@ -2993,17 -2987,31 +2997,37 @@@ static int azx_runtime_resume(struct de
> {
> struct snd_card *card = dev_get_drvdata(dev);
> struct azx *chip = card->private_data;
> + struct hda_bus *bus;
> + struct hda_codec *codec;
> + int status;
>
> + if (chip->disabled)
> + return 0;
> +
> + if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
> + return 0;
> +
> if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL)
> hda_display_power(true);
> +
> + /* Read STATESTS before controller reset */
> + status = azx_readw(chip, STATESTS);
> +
> azx_init_pci(chip);
> azx_init_chip(chip, 1);
> +
> + bus = chip->bus;
> + if (status && bus) {
> + list_for_each_entry(codec, &bus->codec_list, list)
> + if (status & (1 << codec->addr))
> + queue_delayed_work(codec->bus->workq,
> + &codec->jackpoll_work, codec->jackpoll_interval);
> + }
> +
> + /* disable controller Wake Up event*/
> + azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) &
> + ~STATESTS_INT_MASK);
> +
> return 0;
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/