1. 11 5月, 2015 1 次提交
    • M
      drm: Zero out invalid vblank timestamp in drm_update_vblank_count. · fdb68e09
      Mario Kleiner 提交于
      Since commit 844b03f2 we make
      sure that after vblank irq off, we return the last valid
      (vblank count, vblank timestamp) pair to clients, e.g., during
      modesets, which is good.
      
      An overlooked side effect of that commit for kms drivers without
      support for precise vblank timestamping is that at vblank irq
      enable, when we update the vblank counter from the hw counter, we
      can't update the corresponding vblank timestamp, so now we have a
      totally mismatched timestamp for the new count to confuse clients.
      
      Restore old client visible behaviour from before Linux 3.17, but
      zero out the timestamp at vblank counter update (instead of disable
      as in original implementation) if we can't generate a meaningful
      timestamp immediately for the new vblank counter. This will fix
      this regression, so callers know they need to retry again later
      if they need a valid timestamp, but at the same time preserves
      the improvements made in the commit mentioned above.
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Cc: <stable@vger.kernel.org> #v3.17+
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      fdb68e09
  2. 08 5月, 2015 1 次提交
  3. 07 5月, 2015 11 次提交
  4. 06 5月, 2015 1 次提交
  5. 05 5月, 2015 4 次提交
  6. 28 4月, 2015 1 次提交
  7. 27 4月, 2015 12 次提交
  8. 24 4月, 2015 3 次提交
    • I
      drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg · b5f1c97f
      Imre Deak 提交于
      Due this typo we don't save/restore the GFX_MAX_REQ_COUNT register across
      suspend/resume, so fix this.
      
      This was introduced in
      
      commit ddeea5b0
      Author: Imre Deak <imre.deak@intel.com>
      Date:   Mon May 5 15:19:56 2014 +0300
      
          drm/i915: vlv: add runtime PM support
      
      I noticed this only by reading the code. To my knowledge it shouldn't
      cause any real problems at the moment, since the power well backing this
      register remains on across a runtime s/r. This may change once
      system-wide s0ix functionality is enabled in the kernel.
      
      v2:
      - resend after a missing git add -u :/
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      b5f1c97f
    • M
      drm/i915: Workaround to avoid lite restore with HEAD==TAIL · 53292cdb
      Michel Thierry 提交于
      WaIdleLiteRestore is an execlists-only workaround, and requires the driver
      to ensure that any context always has HEAD!=TAIL when attempting lite
      restore.
      
      Add two extra MI_NOOP instructions at the end of each request, but keep
      the requests tail pointing before the MI_NOOPs. We may not need to
      executed them, and this is why request->tail is sampled before adding
      these extra instructions.
      
      If we submit a context to the ELSP which has previously been submitted,
      move the tail pointer past the MI_NOOPs. This ensures HEAD!=TAIL.
      
      v2: Move overallocation to gen8_emit_request, and added note about
      sampling request->tail in commit message (Chris).
      
      v3: Remove redundant request->tail assignment in __i915_add_request, in
      lrc mode this is already set in execlists_context_queue.
      Do not add wa implementation details inside gem (Chris).
      
      v4: Apply the wa whenever the req has been resubmitted and update
      comment (Chris).
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NThomas Daniel <thomas.daniel@intel.com>
      Signed-off-by: NMichel Thierry <michel.thierry@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      53292cdb
    • D
      drm/i915: cope with large i2c transfers · 9535c475
      Dmitry Torokhov 提交于
      The hardware, according to the specs, is limited to 256 byte transfers,
      and current driver has no protections in case users attempt to do larger
      transfers. The code will just stomp over status register and mayhem
      ensues.
      
      Let's split larger transfers into digestable chunks. Doing this allows
      Atmel MXT driver on Pixel 1 function properly (it hasn't since commit
      9d8dc3e5 "Input: atmel_mxt_ts -
      implement T44 message handling" which tries to consume multiple
      touchscreen/touchpad reports in a single transaction).
      
      Cc: stable@vger.kernel.org
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      9535c475
  9. 21 4月, 2015 1 次提交
  10. 20 4月, 2015 1 次提交
  11. 17 4月, 2015 1 次提交
  12. 14 4月, 2015 3 次提交