1. 05 4月, 2016 2 次提交
  2. 02 4月, 2016 1 次提交
    • V
      drm/i915: Implement WaPixelRepeatModeFixForC0:chv · c231775c
      Ville Syrjälä 提交于
      DPLL_MD(PIPE_C) is AWOL on CHV. Instead of fixing it someone added
      chicken bits to propagate the pixel multiplier from DPLL_MD(PIPE_B)
      to either pipe B or C. So do that to make pixel repeat work on pipes
      B and C. Pipe A is fine without any tricks.
      
      Fortunately the pixel repeat propagation appears to be a oneshot
      operation, so once the value has been written we can clear the
      chicken bits. So it is still possible to drive pipe B and C with
      different pixel multipliers simultaneosly.
      
      Looks like DPLL_VGA_MODE_DIS must also be set in DPLL(PIPE_B)
      for this to work. But since we keep that bit always set in all
      DPLLs there's no problem.
      
      This of course means we can't reliably read out the pixel multiplier
      for pipes B and C. That would make the state checker unhappy, so I
      added shadow copies of those registers in to dev_priv. The other
      option would have been to skip pixel multiplier, dpll_md an dotclock
      checks entirely on CHV, but that feels like a serious loss of cross
      checking, so just pretending that we have working DPLL MD registers
      seemed better. Obviously with the shadow copies we can't detect if
      the pixel multiplier was properly configured, nor can we take over
      its state from the BIOS, but hopefully people won't have displays
      that would be limitd to such crappy modes.
      
      There is one strange flicker still remaining. It's visible on
      pipe C/HDMID when HDMIB is enabled while driven by pipe B.
      It doesn't occur if pipe A drives HDMIB, nor is there any glitch
      on pipe B/HDMIB when port C/HDMID starts up. I don't have a board
      with HDMIC so not sure if it happens there too. So I'm not sure
      if it's somehow tied in with this strange linkage between pipe B
      and C. Sadly I was unable to find an enable sequence that would
      avoid the glitch, but at least it's not fatal ie. the output
      recovers afterwards.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1458052809-23426-4-git-send-email-ville.syrjala@linux.intel.comReviewed-by: NJani Nikula <jani.nikula@intel.com>
      c231775c
  3. 01 4月, 2016 1 次提交
  4. 24 3月, 2016 1 次提交
    • I
      drm/i915/bxt: Fix DSI HW state readout · db18b6a6
      Imre Deak 提交于
      Currently the machine hangs during booting while accessing the
      BXT_MIPI_PORT_CTRL register during pipe HW state readout. After some
      experimentation I found that the hang is caused by the DSI PLL being
      disabled, or it being enabled but with an incorrect divider
      configuration. Enabling the PLL got rid of the boot problem, so fix
      this by checking the PLL enabled state/configuration before attempting
      to read out the HW state.
      
      The DSI_PLL_ENABLE register is in the always-on power well, while the
      BXT_DSI_PLL_CTL is in power well 0. This isn't exactly matched by the
      transcoder power domain, but what we really need is just a runtime PM
      reference, which is provided by any power domain.
      
      Ville also found this dependency specified in BSpec, so I added a
      reference to that too.
      
      v2:
      - Make sure we hold a power reference while accessing the PLL registers.
      v3: (Jani)
      - Simplify check in bxt_get_dsi_transcoder_state()
      - Add comment explaining why we check for valid dividers in
        bxt_dsi_pll_is_enabled()
      
      CC: Shashank Sharma <shashank.sharma@intel.com>
      CC: Uma Shankar <uma.shankar@intel.com>
      CC: Jani Nikula <jani.nikula@intel.com>
      Fixes: c6c794a2 ("drm/i915/bxt: Initialize MIPI DSI for BXT")
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Reviewed-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1458816100-31269-1-git-send-email-imre.deak@intel.com
      db18b6a6
  5. 22 3月, 2016 3 次提交
  6. 21 3月, 2016 1 次提交
  7. 18 3月, 2016 1 次提交
  8. 17 3月, 2016 2 次提交
  9. 16 3月, 2016 1 次提交
  10. 04 3月, 2016 1 次提交
  11. 03 3月, 2016 1 次提交
  12. 01 3月, 2016 1 次提交
  13. 22 2月, 2016 1 次提交
  14. 17 2月, 2016 1 次提交
  15. 16 2月, 2016 1 次提交
  16. 11 2月, 2016 1 次提交
  17. 10 2月, 2016 2 次提交
  18. 06 2月, 2016 1 次提交
    • S
      drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 · 274008e8
      Sagar Arun Kamble 提交于
      RC6 setup is shared between BIOS and Driver. BIOS sets up subset of RC6
      setup registers. If those are not setup Driver should not enable RC6.
      For implementing this, driver can check RC_CTRL0 and RC_CTRL1 values
      to know if BIOS has enabled HW/SW RC6.
      This will also enable user to control RC6 using BIOS settings alone.
      RC6 related instability can be avoided by disabling via BIOS settings
      till driver fixes it.
      
      v2: Had placed logic in gen8 function by mistake. Fixed it.
      Ensuring RPM is not enabled in case BIOS disabled RC6.
      
      v3: Need to disable RPM if RC6 is disabled due to BIOS settings. (Daniel)
      Runtime PM enabling happens before gen9_enable_rc6.
      Moved the updation of enable_rc6 parameter in intel_uncore_sanitize.
      
      v4: Added elaborate check for BIOS RC6 setup. Prepared check_pctx for bxt.
          (Imre)
      
      v5: Caching reserved stolen base and size in the driver private data.
          Reorganized RC6 setup check. Moved from gen9_enable_rc6 to
          intel_uncore_sanitize. (Imre)
      
      v6: Rebasing on the patch submitted by Imre that moves gem_init_stolen
          earlier in the load.
      
      v7: Removed PWRCTX_MAXCNT_VCSUNIT1 check as it applies to SKL. (Imre)
      
      v8: Fixed formatting and checkpatch issues. Fixed functional issue where
          RC6 ctx size check was missing. (Imre)
      
      Cc: Imre Deak <imre.deak@intel.com>
      Signed-off-by: NSagar Arun Kamble <sagar.a.kamble@intel.com>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1454697809-22113-1-git-send-email-sagar.a.kamble@intel.com
      274008e8
  19. 05 2月, 2016 3 次提交
  20. 04 2月, 2016 1 次提交
    • T
      drm/i915: implement WaIncreaseDefaultTLBEntries · d5165ebd
      Tim Gore 提交于
      WaIncreaseDefaultTLBEntries increases the number of TLB
      entries available for GPGPU workloads and gives significant
      ( > 10% ) performance gain for some OCL benchmarks.
      Put this in a new function that can be a place for
      workarounds that are GT related but not required per ring.
      This function is called on driver load and also after a
      reset and on resume, so it is safe for workarounds that get
      clobbered in these situations. This function currently has
      just this one workaround.
      
      v2: This was originally split into 3 patches but following
        review feedback was squashed into 1.
        I have not incorporated some style comments from Chris
        Wilson as I felt that after defining and intialising a
        temporary variable and then adding an additional if block
        to only write the register if the temporary variable had
        been set, this didn't really give a net gain.
      
      v3: Resending in the hope that BAT will run
      
      v4: Change subject line to trigger BAT (please!)
      Signed-off-by: NTim Gore <tim.gore@intel.com>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1454586574-2343-1-git-send-email-tim.gore@intel.com
      d5165ebd
  21. 02 2月, 2016 1 次提交
  22. 25 1月, 2016 5 次提交
  23. 08 1月, 2016 1 次提交
  24. 15 12月, 2015 1 次提交
    • D
      drm/doc: Convert to markdown · f03d8ede
      Danilo Cesar Lemes de Paula 提交于
      DRM Docbook is now Markdown ready. This means its doc is able to
      use markdown text on it.
      
      * Documentation/DocBook/drm.tmpl: Contains a table duplicated from
        drivers/gpu/drm/i915/i915_reg.h. This is not needed anymore
      
      * drivers/gpu/drm/drm_modeset_lock.c: had a code example that used
        to look pretty bad on html. Fixed by using proper code markup.
      
      * drivers/gpu/drm/drm_prime.c: Remove spaces between lines to make
        a proper markup list.
      
      * drivers/gpu/drm/i915/i915_reg.h: Altought pandoc supports tables,
        it doesn't support table cell spanning. But we can use fixed-width
        for those special cases.
      
      * include/drm/drm_vma_manager.h: Another code example that should be
        proper indented with four spaces.
      
      v2 (Daniel): Adjust name to gpu.xml due to rename.
      
      v3 (Daniel):
      Split out the actual enabling in the Makefile - this way we can merge
      the conversion, while just keeping the enabling in a drm-private tree.
      
      Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> (v1)
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Stephan Mueller <smueller@chronox.de>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-doc@vger.kernel.org
      Cc: intel-gfx <intel-gfx@lists.freedesktop.org>
      Cc: dri-devel <dri-devel@lists.freedesktop.org>
      Acked-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1448471279-19748-2-git-send-email-daniel.vetter@ffwll.ch
      f03d8ede
  25. 12 12月, 2015 1 次提交
  26. 08 12月, 2015 1 次提交
  27. 05 12月, 2015 1 次提交
  28. 02 12月, 2015 2 次提交