1. 16 6月, 2018 2 次提交
  2. 14 6月, 2018 2 次提交
    • P
      drm/amd/display: Fix stale buffer object (bo) use · 4b3c641b
      Pratik Vishwakarma 提交于
      Fixes stale buffer object (bo) usage for cursor plane
      
      Cursor plane's bo operations are handled in DC code.
      Currently, atomic_commit() does not handle bo operations
      for cursor plane, as a result the bo assigned for cursor
      plane in dm_plane_helper_prepare_fb() is not coherent
      with the updates to the same made in dc code.This mismatch
      leads to "bo" corruption and hence crashes during S3 entry.
      
      This patch cleans up the code which was added as a hack
      for 4.9 version only.
      Reviewed-by: NAndrey Grodzovsky <andrey.grodzovsky@amd.com>
      Signed-off-by: NPratik Vishwakarma <Pratik.Vishwakarma@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      4b3c641b
    • L
      drm/amdgpu: Grab/put runtime PM references in atomic_commit_tail() · 97028037
      Lyude Paul 提交于
      So, unfortunately I recently made the discovery that in the upstream
      kernel, the only reason that amdgpu is not currently suffering from
      issues with runtime PM putting the GPU into suspend while it's driving
      displays is due to the fact that on most prime systems, we have sound
      devices associated with the GPU that hold their own runtime PM ref for
      the GPU.
      
      What this means however, is that in the event that there isn't any kind
      of sound device active (which can easily be reproduced by building a
      kernel with sound drivers disabled), the GPU will fall asleep even when
      there's displays active. This appears to be in part due to the fact that
      amdgpu has not actually ever relied on it's rpm_idle() function to be
      the only thing keeping it running, and normally grabs it's own power
      references whenever there are displays active (as can be seen with the
      original pre-DC codepath in amdgpu_display_crtc_set_config() in
      amdgpu_display.c). This means it's very likely that this bug was
      introduced during the switch over the DC.
      
      So to fix this, we start grabbing runtime PM references every time we
      enable a previously disabled CRTC in atomic_commit_tail(). This appears
      to be the correct solution, as it matches up with what i915 does in
      i915/intel_runtime_pm.c.
      
      The one sideaffect of this is that we ignore the variable that the
      pre-DC code used to use for tracking when it needed runtime PM refs,
      adev->have_disp_power_ref. This is mainly because there's no way for a
      driver to tell whether or not all of it's CRTCs are enabled or disabled
      when we've begun committing an atomic state, as there may be CRTC
      commits happening in parallel that aren't contained within the atomic
      state being committed. So, it's safer to just get/put a reference for
      each CRTC being enabled or disabled in the new atomic state.
      Signed-off-by: NLyude Paul <lyude@redhat.com>
      Acked-by: Christian König <christian.koenig@amd.com>.
      Reviewed-by: NHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      97028037
  3. 30 5月, 2018 4 次提交
  4. 19 5月, 2018 2 次提交
  5. 17 5月, 2018 1 次提交
  6. 16 5月, 2018 13 次提交
  7. 25 4月, 2018 1 次提交
  8. 13 4月, 2018 3 次提交
  9. 12 4月, 2018 9 次提交
  10. 22 3月, 2018 1 次提交
  11. 21 3月, 2018 1 次提交
  12. 20 3月, 2018 1 次提交