HI, > -----Original Message----- > From: Intel-gfx [mailto:intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Takashi Iwai > Sent: tiistai 13. helmikuuta 2018 7.11 > To: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx; Kumar, Abhijeet > <abhijeet.kumar@xxxxxxxxx> > Subject: Re: [PATCH] AWOOGA: Revert "ALSA: hda: Make use of core > codec functions to sync power state" > > On Mon, 12 Feb 2018 18:29:53 +0100, > Chris Wilson wrote: > > > > This reverts commit 3b5b899ca67db07a4c4825911072221f99e157e2. > > > > Fixes: 3b5b899ca67d ("ALSA: hda: Make use of core codec functions to > > sync power state") > > Cc: Abhijeet Kumar <abhijeet.kumar@xxxxxxxxx> > > Cc: Takashi Iwai <tiwai@xxxxxxx> > > Did the patch break anything? > I don't understand it without any real context... Yes. See resutls from link what is fixed by reverting: https://patchwork.freedesktop.org/series/38097/ Test pm_rpm: Subgroup basic-pci-d3-state: fail -> PASS (fi-hsw-4770) fail -> PASS (fi-bdw-5557u) Subgroup basic-rte: fail -> PASS (fi-hsw-4770) fail -> PASS (fi-bdw-5557u) See also: https://intel-gfx-ci.01.org/tree/drm-tip/igt@pm_rpm@xxxxxxxxxxxxxxxxxxxxxxx https://intel-gfx-ci.01.org/tree/drm-tip/igt@pm_rpm@xxxxxxxxxxxxxx That build when breakage started had these commits: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3755/commits_short.log > > > thanks, > > Takashi Br, Jani Saarinen Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo > > > --- > > sound/pci/hda/hda_codec.c | 28 +++++++++++++++++++++++++++- > > sound/pci/hda/hda_local.h | 6 +----- > > 2 files changed, 28 insertions(+), 6 deletions(-) > > > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c > > index 5bc3a7468e17..e018ecbf78a8 100644 > > --- a/sound/pci/hda/hda_codec.c > > +++ b/sound/pci/hda/hda_codec.c > > @@ -2702,6 +2702,32 @@ void snd_hda_codec_set_power_to_all(struct > > hda_codec *codec, hda_nid_t fg, } > > EXPORT_SYMBOL_GPL(snd_hda_codec_set_power_to_all); > > > > +/* > > + * wait until the state is reached, returns the current state */ > > +static unsigned int hda_sync_power_state(struct hda_codec *codec, > > + hda_nid_t fg, > > + unsigned int power_state) > > +{ > > + unsigned long end_time = jiffies + msecs_to_jiffies(500); > > + unsigned int state, actual_state; > > + > > + for (;;) { > > + state = snd_hda_codec_read(codec, fg, 0, > > + AC_VERB_GET_POWER_STATE, 0); > > + if (state & AC_PWRST_ERROR) > > + break; > > + actual_state = (state >> 4) & 0x0f; > > + if (actual_state == power_state) > > + break; > > + if (time_after_eq(jiffies, end_time)) > > + break; > > + /* wait until the codec reachs to the target state */ > > + msleep(1); > > + } > > + return state; > > +} > > + > > /** > > * snd_hda_codec_eapd_power_filter - A power filter callback for EAPD > > * @codec: the HDA codec > > @@ -2764,7 +2790,7 @@ static unsigned int hda_set_power_state(struct > hda_codec *codec, > > state); > > snd_hda_codec_set_power_to_all(codec, fg, > power_state); > > } > > - state = snd_hda_sync_power_state(codec, fg, power_state); > > + state = hda_sync_power_state(codec, fg, power_state); > > if (!(state & AC_PWRST_ERROR)) > > break; > > } > > diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h > > index 321e78baa63c..5b5c324c99b9 100644 > > --- a/sound/pci/hda/hda_local.h > > +++ b/sound/pci/hda/hda_local.h > > @@ -622,11 +622,7 @@ snd_hda_check_power_state(struct hda_codec > > *codec, hda_nid_t nid, { > > return snd_hdac_check_power_state(&codec->core, nid, target_state); > > } -static inline bool snd_hda_sync_power_state(struct hda_codec > > *codec, > > - hda_nid_t nid, unsigned int target_state) > > -{ > > - return snd_hdac_sync_power_state(&codec->core, nid, target_state); > > -} > > + > > unsigned int snd_hda_codec_eapd_power_filter(struct hda_codec *codec, > > hda_nid_t nid, > > unsigned int power_state); > > -- > > 2.16.1 > > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx