1. 29 4月, 2017 3 次提交
    • M
      drm/nouveau/kms: Increase max retries in scanout position queries. · 60b95d70
      Mario Kleiner 提交于
      So far we only allowed for 1 retry and just failed the query
      - and thereby high precision vblank timestamping - if we did
      not get a reasonable result, as such a failure wasn't considered
      all too horrible. There are a few NVidia gpu models out there which
      may need a bit more than 1 retry to get a successful query result
      under some conditions.
      
      Since Linux 4.4 the update code for vblank counter and timestamp
      in drm_update_vblank_count() changed so that the implementation
      assumes that high precision vblank timestamping of a kms driver
      either consistently succeeds or consistently fails for a given
      video mode and encoder/connector combo. Iow. switching from success
      to fail or vice versa on a modeset or connector change is ok, but
      spurious temporary failure for a given setup can confuse the core
      code and potentially cause bad miscounting of vblanks and confusion
      or hangs in userspace clients which rely on vblank  stuff, e.g.,
      desktop compositors.
      
      Therefore change the max retry count to a larger number - more than
      any gpu so far is known to need to succeed, but still low enough
      so that these queries which do also happen in vblank interrupt are
      still fast enough to be not disastrously long if something would
      go badly wrong with them.
      
      As such sporadic retries only happen seldom even on affected gpu's,
      this could mean a vblank irq could take a few dozen microseconds
      longer every few hours of uptime -- better than a desktop compositor
      randomly hanging every couple of hours or days of uptime in a hard
      to reproduce manner.
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      60b95d70
    • B
      drm/nouveau/bios/bitP: check that table is long enough for optional pointers · a7cb78ba
      Ben Skeggs 提交于
      Fixes OOB VBIOS accesses on some boards.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      a7cb78ba
    • I
      eef4988a
  2. 06 4月, 2017 23 次提交
  3. 05 4月, 2017 1 次提交
    • D
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/media into drm-next · fabe2be1
      Dave Airlie 提交于
      RCAR GEN3 DU HDMI support.
      
      * 'drm/next/du' of git://linuxtv.org/pinchartl/media: (22 commits)
        drm: rcar-du: Add HDMI outputs to R8A7795 device description
        drm: rcar-du: Add DPLL support
        drm: rcar-du: Skip disabled outputs
        drm: rcar-du: Add Gen3 HDMI encoder support
        dt-bindings: display: renesas: Add R-Car Gen3 HDMI TX DT bindings
        drm: rcar-du: Hardcode encoders types to DRM_MODE_ENCODER_NONE
        drm: rcar-du: Replace manual bridge implementation with DRM bridge
        drm: rcar-du: Add support for LVDS mode selection
        drm: rcar-du: Use the DRM panel API
        drm: rcar-du: Document the vsps property in the DT bindings
        drm: rcar-du: Remove wait field from rcar_du_device structure
        drm: rcar-du: Make sure the VSP is initialized on platforms that need it
        drm: rcar-du: Use DRM core's atomic commit helper
        drm: rcar-du: Clear handled event pointer in CRTC state
        drm: rcar-du: Handle event when disabling CRTCs
        drm: rcar-du: Don't open code of_device_get_match_data()
        drm: rcar-du: Switch to encoder .atomic_mode_set() helper function
        drm: panels: Add LVDS panel driver
        drm: Add data transmission order bus flag
        devicetree/bindings: display: Add bindings for two Mitsubishi panels
        ...
      fabe2be1
  4. 04 4月, 2017 13 次提交