1. 12 12月, 2017 10 次提交
  2. 11 12月, 2017 5 次提交
  3. 09 12月, 2017 6 次提交
  4. 08 12月, 2017 7 次提交
    • C
      drm/i915: Drop fb reference on load_detect_pipe failure path · 3e72be17
      Chris Wilson 提交于
      When intel_modeset_setup_plane_state() fails drop the local framebuffer
      reference before jumping to the error, otherwise we leak the framebuffer.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Fixes: edde3617 ("drm/i915: Use atomic state to obtain load detection crtc, v3.")
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171207220025.22698-1-chris@chris-wilson.co.uk
      3e72be17
    • D
      intel/atomic: Stop updating legacy fb parameters · 7a1530d7
      Daniel Vetter 提交于
      Even fbc isn't using this stuff anymore, so time to remove it.
      
      Cleaning up one small piece of the atomic conversion cruft at the time
      ...
      
      Quick explanation on why the plane->fb assignment is ok to delete: The
      core code takes care of the refcounting and legacy ->fb pointer
      updating, but drivers are allowed to update it ahead of time. Most
      legacy modeset drivers did that as part of their set_config callback
      (since that's how the legacy/crtc helpers worked). In i915 we only
      need that to make the fbc code happy.
      
      v2: don't nuke the assignement of intel_crtc->config, I accidentally
      set CI ablaze :-) Spotted by Maarten. And better explain why nuking
      the ->fb assignement shouldn't set off alarm bells.
      
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171207143202.6021-1-daniel.vetter@ffwll.ch
      7a1530d7
    • T
      drm/i915: Restore GT performance in headless mode with DMC loaded · b6876374
      Tvrtko Ursulin 提交于
      It seems that the DMC likes to transition between the DC states a lot when
      there are no connected displays (no active power domains) during command
      submission.
      
      This activity on DC states has a negative impact on the performance of the
      chip with huge latencies observed in the interrupt handlers and elsewhere.
      Simple tests like igt/gem_latency -n 0 are slowed down by a factor of
      eight.
      
      Work around it by introducing a new power domain named,
      POWER_DOMAIN_GT_IRQ, associtated with the "DC off" power well, which is
      held for the duration of command submission activity.
      
      CNL has the same problem which will be addressed as a follow-up. Doing
      that requires a fix for a DC6 context corruption problem in the CNL DMC
      firmware which is yet to be released.
      
      v2:
       * Add commit text as comment in i915_gem_mark_busy. (Chris Wilson)
       * Protect macro body with braces. (Jani Nikula)
      
      v3:
       * Add dedicated power domain for clarity. (Chris, Imre)
       * Commit message and comment text updates.
       * Apply to all big-core GEN9 parts apart for Skylake which is pending DMC
         firmware release.
      
      v4:
       * Power domain should be inner to device runtime pm. (Chris)
       * Simplify NEEDS_CSR_GT_PERF_WA macro. (Chris)
       * Handle async DMC loading by moving the GT_IRQ power domain logic into
         intel_runtime_pm. (Daniel, Chris)
       * Include small core GEN9 as well. (Imre)
      
      v5
       * Special handling for async DMC load is not needed since on failure the
         power domain reference is kept permanently taken. (Imre)
      
      v6:
       * Drop the NEEDS_CSR_GT_PERF_WA macro since all firmwares have now been
         deployed. (Imre, Chris)
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100572
      Testcase: igt/gem_exec_nop/headless
      Cc: Imre Deak <imre.deak@intel.com>
      Acked-by: Chris Wilson <chris@chris-wilson.co.uk> (v2)
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
      Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> (v5)
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      [Imre: Add note about applying the WA on CNL as a follow-up]
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171205132854.26380-1-tvrtko.ursulin@linux.intel.com
      b6876374
    • C
      drm/i915/execlists: Cache ELSP register offset · 2fc7a06a
      Chris Wilson 提交于
      Currently on every submission, we recalculate the ELSP register offset
      for the engine, after chasing the pointers to find the iomem base. Since
      this is fixed for the lifetime of the driver, record the offset in the
      execlists struct.
      
      In practice the difference is negligible, it just happens to remove 27
      bytes of eyesore pointer dancing from next to the hottest instruction
      (which is itself due to stalling for a cache miss) in perf profiles of
      the execlists_submission_tasklet().
      
      v2: Trim off one more elsp local.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Reviewed-by: NMichel Thierry <michel.thierry@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171207222434.17686-1-chris@chris-wilson.co.uk
      2fc7a06a
    • C
      drm/i915: Refactor common list iteration over GGTT vma · e2189dd0
      Chris Wilson 提交于
      In quite a few places, we have a list iteration over the vma on an
      object that only want to inspect GGTT vma. By construction, these are
      placed at the start of the list, so we have copied that knowledge into
      many callsites. Pull that knowledge back to i915_vma.h and provide a
      for_each_ggtt_vma() to tidy up the code.
      
      v2: Add a backreference from vma_create() to remind ourselves why we put
      ggtt vma at the head of the obj->vma_list (and ppgtt vma at the tail).
      v3: Fixup s/vma/V/
      Suggested-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171207211407.31549-1-chris@chris-wilson.co.uk
      e2189dd0
    • D
      Merge tag 'drm-intel-next-2017-12-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · 3f1f0b1c
      Dave Airlie 提交于
      [airlied: fix conflict in intel_dsi.c]
      
      drm-intel-next-2017-12-01:
      
      - Init clock gate fix (Ville)
      - Execlists event handling corrections (Chris, Michel)
      - Improvements on GPU Cache invalidation and context switch (Chris)
      - More perf OA changes (Lionel)
      - More selftests improvements and fixes (Chris, Matthew)
      - Clean-up on modules parameters (Chris)
      - Clean-up around old ringbuffer submission and hw semaphore on old platforms (Chris)
      - More Cannonlake stabilization effort (David, James)
      - Display planes clean-up and improvements (Ville)
      - New PMU interface for perf queries... (Tvrtko)
      - ... and other subsequent PMU changes and fixes (Tvrtko, Chris)
      - Remove success dmesg noise from rotation (Chris)
      - New DMC for Kabylake (Anusha)
      - Fixes around atomic commits (Daniel)
      - GuC updates and fixes (Sagar, Michal, Chris)
      - Couple gmbus/i2c fixes (Ville)
      - Use exponential backoff for all our wait_for() (Chris)
      - Fixes for i915/fbdev (Chris)
      - Backlight fixes (Arnd)
      - Updates on shrinker (Chris)
      - Make Hotplug enable more robuts (Chris)
      - Disable huge pages (TPH) on lack of a needed workaround (Joonas)
      - New GuC images for SKL, KBL, BXT (Sagar)
      - Add HW Workaround for Geminilake performance (Valtteri)
      - Fixes for PPS timings (Imre)
      - More IPS fixes (Maarten)
      - Many fixes for Display Port on gen2-gen4 (Ville)
      - Retry GPU reset making the recover from hang more robust (Chris)
      
      * tag 'drm-intel-next-2017-12-01' of git://anongit.freedesktop.org/drm/drm-intel: (101 commits)
        drm/i915: Update DRIVER_DATE to 20171201
        drm/i915/cnl: Mask previous DDI - PLL mapping
        drm/i915: Remove unsafe i915.enable_rc6
        drm/i915: Sleep and retry a GPU reset if at first we don't succeed
        drm/i915: Interlaced DP output doesn't work on VLV/CHV
        drm/i915: Pass crtc state to intel_pipe_{enable,disable}()
        drm/i915: Wait for pipe to start on i830 as well
        drm/i915: Fix vblank timestamp/frame counter jumps on gen2
        drm/i915: Fix deadlock in i830_disable_pipe()
        drm/i915: Fix has_audio readout for DDI A
        drm/i915: Don't add the "force audio" property to DP connectors that don't support audio
        drm/i915: Disable DP audio for g4x
        drm/i915/selftests: Wake the device before executing requests on the GPU
        drm/i915: Set fake_vma.size as well as fake_vma.node.size for capture
        drm/i915: Tidy up signed/unsigned comparison
        drm/i915: Enable IPS with only sprite plane visible too, v4.
        drm/i915: Make ips_enabled a property depending on whether IPS is enabled, v3.
        drm/i915: Avoid PPS HW/SW state mismatch due to rounding
        drm/i915: Skip switch-to-kernel-context on suspend when wedged
        drm/i915/glk: Apply WaProgramL3SqcReg1DefaultForPerf for GLK too
        ...
      3f1f0b1c
    • D
      Merge tag 'drm-misc-next-2017-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 5c379b4f
      Dave Airlie 提交于
      UAPI Changes:
      
      - Add "panel orientation" property to DRM to indicate orientation of the
      panel vs the device's casing (Hans de Goede)
      
      Core Changes:
      
      - misc doc and bug fixes
      
      Driver Changes:
      
      - sun4i: Many improvements to the DE driver like multi-plane support and
      YUV formats (Jernej Skrabec)
      
      * tag 'drm-misc-next-2017-12-07' of git://anongit.freedesktop.org/drm/drm-misc: (50 commits)
        drm/sun4i: Fix uninitialized variables in vi layer
        drm/fb-helper: Fix potential NULL pointer dereference
        gpu: drm: stm: Adopt SPDX identifiers
        gpu: drm: sti: Adopt SPDX identifiers
        drm/fsl-dcu: Use drm_mode_config_helper_suspend/resume()
        drm/sun4i: Wire in DE2 YUV support
        drm/sun4i: Expand DE2 scaler lib with YUV support
        drm/sun4i: Add DE2 definitions for YUV formats
        drm/sun4i: Add DE2 CSC library
        drm/sun4i: Add CCSC property to DE2 configuration
        drm/sun4i: Add support for HW scaling to DE2
        drm/sun4i: Add scaler configuration to DE2 mixers
        drm/sun4i: Add support for DE2 VI planes
        drm/sun4i: Reorganize UI layer code in DE2
        drm/sun4i: Add support for all HW supported DE2 RGB formats
        drm/sun4i: Add multi plane support to DE2 driver
        drm/sun4i: Move interlace related code in DE2
        drm/sun4i: Move channel size related code in DE2
        drm/sun4i: Move line width setting in DE2
        drm/sun4i: Use values calculated by atomic check
        ...
      5c379b4f
  5. 07 12月, 2017 12 次提交