1. 05 Aug, 2019 5 commits
  2. 03 Aug, 2019 3 commits
    • Sam Ravnborg's avatar
      drm/vblank: drop use of DRM_WAIT_ON() · 05103ea9
      Sam Ravnborg authored
      DRM_WAIT_ON() is from the deprecated drm_os_linux header and
      the modern replacement is the wait_event_*.
      
      The return values differ, so a conversion is needed to
      keep the original interface towards userspace.
      Introduced a switch/case to make code obvious.
      
      Analysis from Michel Dänzer:
      
      The waiting condition rely on all relevant places where vblank_count
      is modified calls wake_up(&vblank->queue).
      
      drm_handle_vblank():
      - Calls wake_up(&vblank->queue)
      
      drm_vblank_enable():
      - There is no need here because there can be no sleeping waiters
        in the queue, because vblank->enabled == false immediately
        terminates any waits.
      
      drm_crtc_accurate_vblank_count():
      - This is called from interrupt handlers, at least from
        amdgpu_dm.c:dm_pflip_high_irq(). Not sure it needs to wake up
        the queue though, the driver should call
        drm_(crtc_)_handle_vblank anyway.
      
      drm_vblank_disable_and_save():
      - It can be called from an interrupt, via drm_handle_vblank ->
        vblank_disable_fn. However, the only place where
        drm_vblank_disable_and_save can be called with sleeping waiters
        in the queue is in drm_crtc_vblank_off, which wakes up the queue
        afterwards (which terminates all waits, because
        vblank->enabled == false at this point).
      
      v3:
      - Added analysis to changelog from Michel Dänzer
      - Moved return result handling inside if (req_seq != seq) (Daniel V)
      - Reused more of the former logic - resulting in simpler code
      - Dropped Reviewed-by from Sean Paul as this is a new implementation
      
      v2:
      - Fix so the case where req_seq equals seq was handled properly
      - quick hack to check if IGT became happy
      - Only sent to igt, not to dri-devel
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
      Cc: Sean Paul <sean@poorly.run>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <maxime.ripard@bootlin.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190726210658.GA6299@ravnborg.org
      05103ea9
    • Linus Walleij's avatar
      drm/pl111: Drop special pads config check · d6781e49
      Linus Walleij authored
      This drops the check of the surplus "pads" configuration
      from the device tree that is completely unused in the DRM
      driver.
      
      This was only used to work around limitations in the earlier
      fbdev driver.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Liviu Dudau <Liviu.Dudau@arm.com>
      Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190724134959.2365-2-linus.walleij@linaro.org
      d6781e49
    • Linus Walleij's avatar
      drm/pl111: Deprecate the pads from the DT binding · 1af82464
      Linus Walleij authored
      The pads were an earlier workaround for the internal image
      pipeline in the Linux fbdev subsystem. As we move to generic
      definition of display properties and drivers that no longer
      need this to work, deprecate this property.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Liviu Dudau <Liviu.Dudau@arm.com>
      Cc: devicetree@vger.kernel.org
      Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190724134959.2365-1-linus.walleij@linaro.org
      1af82464
  3. 02 Aug, 2019 5 commits
  4. 01 Aug, 2019 1 commit
  5. 31 Jul, 2019 20 commits
  6. 30 Jul, 2019 3 commits
  7. 26 Jul, 2019 3 commits