1. 29 11月, 2018 1 次提交
    • N
      drm/amdgpu: Correct get_crtc_scanoutpos behavior when vpos >= vtotal · 520f08df
      Nicholas Kazlauskas 提交于
      When variable refresh rate is active the hardware counter can return
      a position >= vtotal. This results in a vpos being returned from
      amdgpu_display_get_crtc_scanoutpos that's a positive value. The
      positive value indicates to the caller that the display is
      currently in scanout when the display is actually still in vblank.
      
      This is because the vfront porch duration is unknown with variable
      refresh active and will end when either a page flip occurs or the
      timeout specified by the driver/display is reached.
      
      The behavior of the amdgpu_display_get_crtc_scanoutpos remains the
      same when the position is below vtotal. When the position is above
      vtotal the function will return a value that is effectively -vbl_end,
      the size of the vback porch.
      
      The only caller affected by this change is the DRM helper for
      calculating vblank timestamps. This change corrects behavior for
      calculating the page flip timestamp from being the previous timestamp
      to the calculation to the next timestamp when position >= vtotal.
      Signed-off-by: NNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
      Reviewed-by: NHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      520f08df
  2. 27 11月, 2018 1 次提交
    • D
      drm/amd: Add abm level drm property · c1ee92f9
      David Francis 提交于
      Adaptive Backlight Management (ABM) is a feature
      that reduces backlight level to save power, while
      increasing pixel contrast and pixel luminance
      to maintain readability and image quality.
      
      ABM will adjust in response to the
      pixel luminance of the displayed content.
      
      ABM is made available as a drm property on eDP
      monitors called "abm level", which ranges from 0 to 4.
      When this property is set to 0, ABM is off.  Levels 1
      to 4 represent different ranges of backlight reduction.
      At higher levels both the backlight reduction and pixel
      adjustment will be greater.
      
      ABM requires DMCU firmware, which is currently available for
      Raven ASICs only.  If the feature does not work, please
      ensure your firmware is up to date.
      
      v2:
      Fix commit message, only attach property if DMCU loaded
      v3:
      Store ABM level in crtc state to accommodate dc
      v4:
      Fix ABM saving on dpms cycle
      Signed-off-by: NDavid Francis <David.Francis@amd.com>
      Reviewed-by: NHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      c1ee92f9
  3. 20 11月, 2018 1 次提交
  4. 11 7月, 2018 2 次提交
  5. 16 5月, 2018 1 次提交
  6. 12 4月, 2018 1 次提交
  7. 20 2月, 2018 14 次提交
  8. 16 2月, 2018 1 次提交
  9. 07 12月, 2017 1 次提交
  10. 27 9月, 2017 3 次提交
  11. 16 8月, 2017 1 次提交
  12. 01 5月, 2017 1 次提交
  13. 29 4月, 2017 2 次提交
  14. 08 4月, 2017 1 次提交
  15. 29 3月, 2017 2 次提交
  16. 28 1月, 2017 3 次提交
  17. 15 12月, 2016 1 次提交
  18. 09 12月, 2016 1 次提交
  19. 26 10月, 2016 1 次提交
  20. 25 10月, 2016 1 次提交
    • C
      dma-buf: Rename struct fence to dma_fence · f54d1867
      Chris Wilson 提交于
      I plan to usurp the short name of struct fence for a core kernel struct,
      and so I need to rename the specialised fence/timeline for DMA
      operations to make room.
      
      A consensus was reached in
      https://lists.freedesktop.org/archives/dri-devel/2016-July/113083.html
      that making clear this fence applies to DMA operations was a good thing.
      Since then the patch has grown a bit as usage increases, so hopefully it
      remains a good thing!
      
      (v2...: rebase, rerun spatch)
      v3: Compile on msm, spotted a manual fixup that I broke.
      v4: Try again for msm, sorry Daniel
      
      coccinelle script:
      @@
      
      @@
      - struct fence
      + struct dma_fence
      @@
      
      @@
      - struct fence_ops
      + struct dma_fence_ops
      @@
      
      @@
      - struct fence_cb
      + struct dma_fence_cb
      @@
      
      @@
      - struct fence_array
      + struct dma_fence_array
      @@
      
      @@
      - enum fence_flag_bits
      + enum dma_fence_flag_bits
      @@
      
      @@
      (
      - fence_init
      + dma_fence_init
      |
      - fence_release
      + dma_fence_release
      |
      - fence_free
      + dma_fence_free
      |
      - fence_get
      + dma_fence_get
      |
      - fence_get_rcu
      + dma_fence_get_rcu
      |
      - fence_put
      + dma_fence_put
      |
      - fence_signal
      + dma_fence_signal
      |
      - fence_signal_locked
      + dma_fence_signal_locked
      |
      - fence_default_wait
      + dma_fence_default_wait
      |
      - fence_add_callback
      + dma_fence_add_callback
      |
      - fence_remove_callback
      + dma_fence_remove_callback
      |
      - fence_enable_sw_signaling
      + dma_fence_enable_sw_signaling
      |
      - fence_is_signaled_locked
      + dma_fence_is_signaled_locked
      |
      - fence_is_signaled
      + dma_fence_is_signaled
      |
      - fence_is_later
      + dma_fence_is_later
      |
      - fence_later
      + dma_fence_later
      |
      - fence_wait_timeout
      + dma_fence_wait_timeout
      |
      - fence_wait_any_timeout
      + dma_fence_wait_any_timeout
      |
      - fence_wait
      + dma_fence_wait
      |
      - fence_context_alloc
      + dma_fence_context_alloc
      |
      - fence_array_create
      + dma_fence_array_create
      |
      - to_fence_array
      + to_dma_fence_array
      |
      - fence_is_array
      + dma_fence_is_array
      |
      - trace_fence_emit
      + trace_dma_fence_emit
      |
      - FENCE_TRACE
      + DMA_FENCE_TRACE
      |
      - FENCE_WARN
      + DMA_FENCE_WARN
      |
      - FENCE_ERR
      + DMA_FENCE_ERR
      )
       (
       ...
       )
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Acked-by: NSumit Semwal <sumit.semwal@linaro.org>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/20161025120045.28839-1-chris@chris-wilson.co.uk
      f54d1867