On Thu, 24 May 2018 19:01:07 +0200, Lukas Wunner wrote: > > Before commit 3b5b899ca67d ("ALSA: hda: Make use of core codec functions > to sync power state"), hda_set_power_state() returned the response to > the Get Power State verb, a 32-bit unsigned integer whose expected value > is 0x233 after transitioning a codec to D3, and 0x0 after transitioning > it to D0. > > The response value is significant because hda_codec_runtime_suspend() > does not clear the codec's bit in the codec_powered bitmask unless the > AC_PWRST_CLK_STOP_OK bit (0x200) is set in the response value. That in > turn prevents the HDA controller from runtime suspending because > azx_runtime_idle() checks that the codec_powered bitmask is zero. > > Since commit 3b5b899ca67d, hda_set_power_state() only returns 0x0 or > 0x1, thereby breaking runtime PM for any HDA controller. That's because > an inline function introduced by the commit returns a bool instead of a > 32-bit unsigned int. The change was likely erroneous and resulted from > copying and pasting snd_hda_check_power_state(), which is immediately > preceding the newly introduced inline function. Fix it. > > Link: https://bugs.freedesktop.org/show_bug.cgi?id=106597 > Fixes: 3b5b899ca67d ("ALSA: hda: Make use of core codec functions to sync power state") > Cc: Alex Deucher <alexander.deucher@xxxxxxx> > Cc: Abhijeet Kumar <abhijeet.kumar@xxxxxxxxx> > Reported-and-tested-by: Gunnar Krüger <taijian@xxxxxxxxx> > Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Gah, that one was a silly mistake. Applied now. Thanks for spotting out! Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel