1. 21 Jun, 2019 25 commits
  2. 20 Jun, 2019 13 commits
  3. 19 Jun, 2019 2 commits
    • Chris Wilson's avatar
      drm/i915: Keep rings pinned while the context is active · 09c5ab38
      Chris Wilson authored
      Remember to keep the rings pinned as well as the context image until the
      GPU is no longer active.
      
      v2: Introduce a ring->pin_count primarily to hide the
      mock_ring that doesn't fit into the normal GGTT vma picture.
      
      v3: Order is important in teardown, ringbuffer submission needs to drop
      the pin count on the engine->kernel_context before it can gleefully free
      its ring.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110946
      Fixes: ce476c80 ("drm/i915: Keep contexts pinned until after the next kernel context switch")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190619170135.15281-1-chris@chris-wilson.co.uk
      09c5ab38
    • Matt Roper's avatar
      drm/i915/ehl: Allow combo PHY A to drive a third external display · bdeb18db
      Matt Roper authored
      EHL has a mux on combo PHY A that allows it to be driven either by an
      internal display (DDI-A or DSI DPHY) or by an external display (DDI-D).
      This is a motherboard design decision that can not be changed on the
      fly.  Unfortunately there are no strap registers that allow us to detect
      the board configuration directly, so let's use the VBT to try to figure
      it out and program the mux accordingly.
      
      For now if we run across a broken VBT that tries to claim that PHY A
      is attached to both internal and external displays at the same time,
      we'll resolve the conflict in favor of the internal display.  To help
      debug these kind of bad VBT's, let's also add a quick DRM_DEBUG message
      during child device parsing so that it's easier to understand these
      cases if they show up in bug reports.
      
      v2:
       - Confirmed that VBT's dvo port refers to the DDI and not the PHY.
         Thus we can check more explicitly for (ddi_d && !(ddi_a || dsi)).  If
         a bad VBT contradicts itself, let internal display win.  (Ville)
      
      v3:
       - Switch condition from !IS_ICELAKE to IS_ELKHARTLAKE.  Although the
         convention is usually to assume that future platforms will inherit
         all current platform behavior, this feels more like a one-platform
         quirk.  (Ville)
       - Update commit message to describe what we do if/when we encounter
         broken VBT's, and note that the new debug print during child device
         parsing is intentional.
      
      Cc: Clint Taylor <Clinton.A.Taylor@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190618175131.9139-1-matthew.d.roper@intel.com
      bdeb18db