1. 23 Apr, 2015 2 commits
    • Michel Thierry's avatar
      drm/i915: Workaround to avoid lite restore with HEAD==TAIL · 53292cdb
      Michel Thierry authored
      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: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarThomas Daniel <thomas.daniel@intel.com>
      Signed-off-by: default avatarMichel Thierry <michel.thierry@intel.com>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      53292cdb
    • Dmitry Torokhov's avatar
      drm/i915: cope with large i2c transfers · 9535c475
      Dmitry Torokhov authored
      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: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      9535c475
  2. 14 Apr, 2015 2 commits
  3. 13 Apr, 2015 1 commit
  4. 10 Apr, 2015 3 commits
  5. 30 Mar, 2015 1 commit
    • Daniel Vetter's avatar
      Merge tag 'v4.0-rc6' into drm-intel-next · 6e0aa801
      Daniel Vetter authored
      Backmerge Linux 4.0-rc6 because conflicts are (again) getting out of
      hand. To make sure we don't lose any bugfixes from the 4.0-rc5-rc6
      flurry of patches we've applied them all to -next too.
      
      Conflicts:
      	drivers/gpu/drm/i915/intel_display.c
      
      Always take the version from -next, we've already handled all
      conflicts with explicit cherrypicking.
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      6e0aa801
  6. 29 Mar, 2015 7 commits
  7. 28 Mar, 2015 9 commits
  8. 27 Mar, 2015 15 commits