1. 31 Oct, 2018 14 commits
  2. 30 Oct, 2018 4 commits
  3. 29 Oct, 2018 15 commits
  4. 26 Oct, 2018 6 commits
  5. 25 Oct, 2018 1 commit
    • Imre Deak's avatar
      drm/i915: Ensure proper HDA suspend/resume ordering with a device link · aef9f33b
      Imre Deak authored
      In order to ensure that our system suspend and resume callbacks are
      called in the correct order wrt. those of the HDA driver add a device
      link to the HDA driver during audio component binding time. With i915 as
      the supplier and HDA as the consumer the PM framework will guarantee
      the HDA->i915 suspend (and shutdown) and i915->HDA resume order.
      
      Atm, the lack of this ordering is not a problem, since all the i915
      suspend/resume steps that need to be ordered wrt. the HDA driver's
      suspend/resume steps are separated out to the i915
      suspend_late/resume_early hooks. That will change in a follow-up
      patchset where we'll need this ordering guarantee for steps that are in
      the i915 suspend/resume hooks (and which can't be moved to
      suspend_late/resume_early for other reasons). So this patch is a
      preparation for that follow-up patchset.
      
      The change also allows us to move towards removing the i915
      suspend_late/resume_early hooks alltogether.
      
      Since we only need to ensure the ordering during suspend/resume and not
      during driver probing create the link with DL_FLAG_STATELESS. Since the
      probe time ordering has to be optional we use the component framework
      for that.
      
      Similarly for runtime PM we depend on the audio driver getting/putting
      an i915 runtime PM reference whenever it needs it (along with the proper
      i915 display power domain) via the audio component ops get_power /
      put_power hooks. So we create the device link without
      DL_FLAG_PM_RUNTIME.
      
      v2: (Ville)
      - Add a note to the commit message about not using the device link
        runtime PM ordering.
      - Handle the error return from device_link_add().
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Lukas Wunner <lukas@wunner.de>
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181023144310.8272-1-imre.deak@intel.com
      aef9f33b