Skip to content
  1. Sep 28, 2018
    • Dhinakaran Pandiyan's avatar
      drm/i915/dp: Restrict link retrain workaround to external monitors · f24f6eb9
      Dhinakaran Pandiyan authored
      Commit '3cf71bc9 ("drm/i915: Re-apply "Perform link quality check,
      unconditionally during long pulse"")' applies a work around for sinks
      that don't signal link loss. The work around does not need to have to be
      that broad as the issue was seen with only one particular monitor; limit
      this only for external displays as eDP features like PSR turn off the link
      and the driver ends up retraining the link seeeing that link is not
      synchronized.
      
      Cc: Lyude Paul <lyude@redhat.com>
      Cc: Jan-Marek Glogowski <glogow@fbihome.de>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      References: 3cf71bc9
      
       ("drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse"")
      Signed-off-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180927205735.16651-2-dhinakaran.pandiyan@intel.com
      f24f6eb9
    • Dhinakaran Pandiyan's avatar
      drm/i915/dp: Fix link retraining comment in intel_dp_long_pulse() · 9ebd8202
      Dhinakaran Pandiyan authored
      Comment claims link needs to be retrained because the connected sink raised
      a long pulse to indicate link loss. If the sink did so,
      intel_dp_hotplug() would have handled link retraining. Looking at the
      logs in Bugzilla referenced in commit '3cf71bc9 ("drm/i915: Re-apply
      Perform link quality check, unconditionally during long pulse"")', the
      issue is that the sink does not trigger an interrupt. What we want is
      ->detect() from user space to check link status and retrain. Ville's
      review for the original patch also indicates the same root cause. So,
      rewrite the comment.
      
      v2: Patch split and rewrote comment.
      
      Cc: Lyude Paul <lyude@redhat.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Jan-Marek Glogowski <glogow@fbihome.de>
      References: 3cf71bc9
      
       ("drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse"")
      Signed-off-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180927205735.16651-1-dhinakaran.pandiyan@intel.com
      9ebd8202
  2. Sep 27, 2018
  3. Sep 26, 2018
  4. Sep 25, 2018
    • Juha-Pekka Heikkila's avatar
      drm/i915: Enable RGB565 90/270 plane rotation for gen11 onwards. · 0a3c561d
      Juha-Pekka Heikkila authored
      
      
      From gen11 onwards RGB565 90/270 plane rotation is supported on hardware.
      
      IGT: https://patchwork.freedesktop.org/series/48756/
      Signed-off-by: default avatarJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      [mlankhorst: Rebase on top of current dinq (self), fix grammar (Ville).]
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1535373473-3594-3-git-send-email-juhapekka.heikkila@gmail.com
      0a3c561d
    • Chris Wilson's avatar
      drm/i915: Match code to comment and enforce ppgtt for execlists · 4a3d3f67
      Chris Wilson authored
      
      
      Our execlist dispatch code requires a ppGTT so make sure we enforce that
      option in intel_sanitize_enable_ppgtt(). The comment already tries to
      explain that execlists requires ppgtt, but was written when gen8 may
      have also taken the legacy path; so rewrite the code to match the
      comment by using HAS_EXECLISTS() feature instead of the gen.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180922141804.21183-1-chris@chris-wilson.co.uk
      4a3d3f67
    • Mahesh Kumar's avatar
      drm/i915: use for_each_pipe loop to assign crtc_mask · 570b16b5
      Mahesh Kumar authored
      
      
      This cleanup patch makes changes to use for_each_pipe loop
      during bit-mask assignment of allowed crtc with encoder.
      
      changes:
       - use BIT(i) macro instead of (1 << i) (Chris)
      changes from V2:
       - use int for consistency (Jani)
      changes from V3:
       - instead use enum pipe (Ville)
      changes from V4:
       - drop DP/HDMI changes, as already part of patch from ville
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarMahesh Kumar <mahesh1.kumar@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180919083126.31805-1-mahesh1.kumar@intel.com
      570b16b5
    • Chris Wilson's avatar
      drm/i915/execlists: Assert the queue is non-empty on unsubmitting · 8db05f59
      Chris Wilson authored
      
      
      In the sequence
      
      <0>[  531.960431] drv_self-4806    7.... 527402570us : intel_gpu_reset: engine_mask=1, ret=0, retry=0
      <0>[  531.960431] drv_self-4806    7.... 527402571us : execlists_reset: rcs0 request global=115de, current=71133
      <0>[  531.960431] drv_self-4806    7d..1 527402571us : execlists_cancel_port_requests: rcs0:port0 global=71134 (fence 826b:198), (current 71133)
      <0>[  531.960431] drv_self-4806    7d..1 527402572us : execlists_cancel_port_requests: rcs0:port1 global=71135 (fence 826c:53), (current 71133)
      <0>[  531.960431] drv_self-4806    7d..1 527402572us : __i915_request_unsubmit: rcs0 fence 826c:53 <- global=71135, current 71133
      <0>[  531.960431] drv_self-4806    7d..1 527402579us : __i915_request_unsubmit: rcs0 fence 826b:198 <- global=71134, current 71133
      <0>[  531.960431] drv_self-4806    7.... 527402613us : intel_engine_cancel_stop_cs: rcs0
      <0>[  531.960431] drv_self-4806    7.... 527402624us : execlists_reset_finish: rcs0
      
      we are missing the execlists_submission_tasklet() invocation before the
      execlists_reset_fini() implying that either the queue is empty, or we
      failed to schedule and run the tasklet on finish. Add an assert so we
      are sure that on unsubmitting the incomplete request after reset, the
      queue is indeed populated.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180919195544.1511-12-chris@chris-wilson.co.uk
      8db05f59
  5. Sep 24, 2018
  6. Sep 22, 2018