1. 16 4月, 2015 19 次提交
  2. 15 4月, 2015 4 次提交
    • R
      drm/i915: PSR VLV: Add single frame update. · c7240c3b
      Rodrigo Vivi 提交于
      According to spec: "In PSR HW or SW mode, SW set this bit before writing
      registers for a flip. It will be self-clear when it gets to the PSR
      active state."
      
      Some versions of spec mention that this is needed when in
      "Persistent mode" but define it as same as "SW mode". Since this
      fix the page flip case let's assume this is exactly what we need.
      
      Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c7240c3b
    • R
      drm/i915: PSR: deprecate link_standby support for core platforms. · 89251b17
      Rodrigo Vivi 提交于
      On Haswell and Broadwell with link in standby when exit event happens
      between vblank and VSC packet, PSR exit on panel but DPA transmitter
      still sends black pixel. When this condition hits, panel will intermittently
      display black frame.
      
      The known W/A for this case involve the of single_frame update
      that isn't supported on Haswell and to be supported on Broadwell
      3 other workarounds would be required. So it is better and safe to
      just deprecate link_standby for now.
      
      Also, link fully off saves more power than link_standby and afwk
      no OEM is requesting link standby on VBT. There is no reason for that.
      
      For Skylake let's just consider it behaves like Broadwell until
      we prove otherwise.
      
      v2: Fix commit message (Durga).
      
      v3: Fix conflict with PSR2.
      
      Reference: HSD: bdwgfx/1912559
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      89251b17
    • R
      drm/i915: PSR: Fix DP_PSR_NO_TRAIN_ON_EXIT logic · 3301d409
      Rodrigo Vivi 提交于
      Since the beginning there is a missunderstanding on the meaning of this
      dpcd bit.
      This bit shouldn't indicate whether to use link standby or not, but just
      be used to configure TP1, TP2 and TP3 times and tell hw aux should be skiped
      since HW is the responsible one.
      
      Even with help of frontbuffer tracking, HW is still fully responsible for
      PSR exit logic with/without DP training.
      
      DP_PSR_NO_TRAIN_ON_EXIT means the source doesn't need to do the training, but
      it doesn't tell to avoid TP patterns, so we will send minimal TP1 and avoid
      TP2. It also means that sink itself can take up to 5 idle frames for training.
      6 in our case since we might be off by 1. So we also increment idle_frames by 4
      here.
      
      v2: Fix and improve commit message (Durga).
      v3: Use minimal TP1 time avoiding TP2 and increase idle frame.
      
      Cc: Durgadoss R <durgadoss.r@intel.com>
      Cc: Arthur Runyan <arthur.j.runyan@intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3301d409
    • R
      drm/i915: PSR: Remove wrong LINK_DISABLE. · cff5190c
      Rodrigo Vivi 提交于
      This wrong logic and useless define came from first versions and
      came along with all rework. Just now I notice how ugly, wrong and
      useless this is.
      
      val is already defined as 0 anyway and logic is completelly wrong
      and useless. So let's starting the link_standby fix with this
      cleaning.
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      cff5190c
  3. 14 4月, 2015 15 次提交
  4. 13 4月, 2015 2 次提交
    • C
      drm/i915: Remove obj->pin_mappable · 30154650
      Chris Wilson 提交于
      The obj->pin_mappable flag only exists for debug purposes and is a
      hindrance that is mistreated with rotated GGTT views. For debug
      purposes, it suffices to mark objects with pin_display as being of note.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      30154650
    • C
      drm/i915: Optimistically spin for the request completion · 2def4ad9
      Chris Wilson 提交于
      This provides a nice boost to mesa in swap bound scenarios (as mesa
      throttles itself to the previous frame and given the scenario that will
      complete shortly). It will also provide a good boost to systems running
      with semaphores disabled and so frequently waiting on the GPU as it
      switches rings. In the most favourable of microbenchmarks, this can
      increase performance by around 15% - though in practice improvements
      will be marginal and rarely noticeable.
      
      v2: Account for user timeouts
      v3: Limit the spinning to a single jiffie (~1us) at most. On an
      otherwise idle system, there is no scheduler contention and so without a
      limit we would spin until the GPU is ready.
      v4: Drop forcewake - the lazy coherent access doesn't require it, and we
      have no reason to believe that the forcewake itself improves seqno
      coherency - it only adds delay.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Cc: Eero Tamminen <eero.t.tamminen@intel.com>
      Cc: "Rantala, Valtteri" <valtteri.rantala@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2def4ad9