1. 20 Apr, 2015 5 commits
  2. 16 Apr, 2015 32 commits
  3. 14 Apr, 2015 3 commits
    • Rodrigo Vivi's avatar
      drm/i915: PSR VLV: Add single frame update. · c7240c3b
      Rodrigo Vivi authored
      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: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      c7240c3b
    • Rodrigo Vivi's avatar
      drm/i915: PSR: deprecate link_standby support for core platforms. · 89251b17
      Rodrigo Vivi authored
      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: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      89251b17
    • Rodrigo Vivi's avatar
      drm/i915: PSR: Fix DP_PSR_NO_TRAIN_ON_EXIT logic · 3301d409
      Rodrigo Vivi authored
      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: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      3301d409