1. 11 4月, 2017 1 次提交
  2. 28 3月, 2017 1 次提交
    • S
      drm/i915: enable scrambling · 15953637
      Shashank Sharma 提交于
      Geminilake platform sports a native HDMI 2.0 controller, and is
      capable of driving pixel-clocks upto 594Mhz. HDMI 2.0 spec
      mendates scrambling for these higher clocks, for reduced RF footprint.
      
      This patch checks if the monitor supports scrambling, and if required,
      enables it during the modeset.
      
      V2: Addressed review comments from Ville:
       - Do not track scrambling status in DRM layer, track somewhere in
         driver like in intel_crtc_state.
       - Don't talk to monitor at such a low layer, set monitor scrambling
         in intel_enable_ddi() before enabling the port.
      
      V3: Addressed review comments from Jani
       - In comments, function names, use "sink" instead of "monitor",
         so that the implementation could be close to the language of
         HDMI spec.
      
      V4: Addressed review comment from Maarten
       - scrambling -> hdmi_scrambling
       - high_tmds_clock_ratio -> hdmi_high_tmds_clock_ratio
      
      V5: Addressed review comments from Ville and Ander
       - Do not modifiy the crtc_state after compute_config. Move all
         scrambling and tmds_clock_ratio calcutations to compute_config.
       - While setting scrambling for source/sink, do not check the
         conditions again, just go by the crtc_state flags. This will
         simplyfy the condition checks.
      
      V6: Addressed review comments from Ville
       - Do not add IS_GLK check in disable/enable function, instead add it
         in compute_config, while setting state flags.
       - Remove unnecessary paranthesis.
       - Simplyfy handle_sink_scrambling function as suggested.
       - Add readout code for scrambling status in get_ddi_config and add a
         check for the same in pipe_config_compare.
      
      V7: Addressed review comments from Ander/Ville
       - No separate function for source scrambling, make it inline
       - Align the last line of the macro TRANS_DDI_HDMI_SCRAMBLING_MASK
       - Do not add platform check while setting source scrambling
       - Use pipe_config instead of crtc->config to set sink scrambling
       - To readout scrambling status, Compare with SCRAMBLING_MASK
         not any of its bits
       - Remove platform check in intel_pipe_config_compare while checking
         scrambling status
      
      V8: Fixed mege conflict, Addressed review comments from Ander
       - Remove the desciption/comment about scrambling fom the caller, move
         it to the function
       - Move the IS_GLK check into scrambling function
       - Fix alignment
      
      V9: Fixed review comments from Ville, Ander
       - Pass the scrambling state variables as bool input to the sink_scrambling
         function and let the disable call be unconditional.
       - Fix alignments in function calls and debug messages.
       - Add kernel doc for function intel_hdmi_handle_sink_scrambling
      
      V10: Rebase
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Reviewed-by: NAnder Conselvan de Oliveira <conselvan2@gmail.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1489404244-16608-6-git-send-email-shashank.sharma@intel.com
      15953637
  3. 16 3月, 2017 1 次提交
    • M
      drm/i915: Use ktime to calculate rc0 residency · 679cb6c1
      Mika Kuoppala 提交于
      We have used cz timestamp register to gain a reference time wrt
      to residency calculations. The residency counts are in cz clk ticks
      (333Mhz clock) but for some reason the cz timestamp register gives
      100us units. Perhaps for some other usage, the base-ten based values
      are easier, but in residency calculations raw units would have been
      the easiest.
      
      As there is not much advantage of using base-ten clock through
      a more costly punit access, take our reference times directly from
      kernel clock.
      
      v2: use ktime (Chris, Ville)
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      679cb6c1
  4. 13 3月, 2017 1 次提交
  5. 09 3月, 2017 1 次提交
  6. 04 3月, 2017 1 次提交
  7. 01 3月, 2017 1 次提交
  8. 28 2月, 2017 3 次提交
  9. 27 2月, 2017 1 次提交
  10. 16 2月, 2017 1 次提交
  11. 10 2月, 2017 1 次提交
  12. 08 2月, 2017 2 次提交
  13. 03 2月, 2017 1 次提交
    • T
      drm/i915: Enable VLV audio chicken bit for LPE audio · 9db13e5f
      Takashi Iwai 提交于
      The audio chicken bit (register offset 0x62f38) seems required to make
      DP audio working on some machines.  At least, on Dell Wyse 3040, I
      failed to get the audio unless this bit is set once.
      
      Strangely, the bit seems necessary only once, and it persists after
      that, even some power-off cycles.  The register is supposedly
      write-only, so it's no evidence whether the bit keeps effect
      persistently.  But, judging from the experiment, it looks enough to
      set it up once at the device initialization.
      
      The patch is basically a cut from the original patch by Pierre-Louis
      Bossart.
      
      v1->v2: drop read since it's a write-only reg.
      
      Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9db13e5f
  14. 01 2月, 2017 2 次提交
  15. 31 1月, 2017 1 次提交
  16. 30 1月, 2017 4 次提交
  17. 25 1月, 2017 1 次提交
  18. 14 1月, 2017 3 次提交
  19. 13 1月, 2017 1 次提交
  20. 23 12月, 2016 1 次提交
  21. 21 12月, 2016 1 次提交
  22. 02 12月, 2016 5 次提交
  23. 24 11月, 2016 2 次提交
  24. 22 11月, 2016 2 次提交
  25. 16 11月, 2016 1 次提交
    • P
      drm/i915/bxt: Broxton decoupled MMIO · 85ee17eb
      Praveen Paneri 提交于
      Decoupled MMIO is an alternative way to access forcewake domain
      registers, which requires less cycles for a single read/write and
      avoids frequent software forcewake.
      This certainly gives advantage over the forcewake as this new
      mechanism “decouples” CPU cycles and allow them to complete even
      when GT is in a CPD (frequency change) or C6 state.
      
      This can co-exist with forcewake and we will continue to use forcewake
      as appropriate. E.g. 64-bit register writes to avoid writing 2 dwords
      separately and land into funny situations.
      
      v2:
      - Moved platform check out of the function and got rid of duplicate
       functions to find out decoupled power domain (Chris)
      - Added a check for forcewake already held and skipped decoupled
       access (Chris)
      - Skipped writing 64 bit registers through decoupled MMIO (Chris)
      
      v3:
      - Improved commit message with more info on decoupled mmio (Tvrtko)
      - Changed decoupled operation to enum and used u32 instead of
       uint_32 data type for register offset (Tvrtko)
      - Moved HAS_DECOUPLED_MMIO to device info (Tvrtko)
      - Added lookup table for converting fw_engine to pd_engine (Tvrtko)
      - Improved __gen9_decoupled_read and __gen9_decoupled_write
       routines (Tvrtko)
      
      v4:
      - Fixed alignment and variable names (Chris)
      - Write GEN9_DECOUPLED_REG0_DW1 register in just one go (Zhe Wang)
      
      v5:
      - Changed HAS_DECOUPLED_MMIO() argument name to dev_priv (Tvrtko)
      - Sanitize info->had_decoupled_mmio at init (Chris)
      Signed-off-by: NZhe Wang <zhe1.wang@intel.com>
      Signed-off-by: NPraveen Paneri <praveen.paneri@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1479230360-22395-1-git-send-email-praveen.paneri@intel.com
      85ee17eb