1. 31 7月, 2021 1 次提交
  2. 23 7月, 2021 2 次提交
  3. 07 7月, 2021 2 次提交
  4. 25 6月, 2021 1 次提交
  5. 07 6月, 2021 1 次提交
  6. 26 5月, 2021 1 次提交
    • M
      drm/i915/xelpd: Enhanced pipe underrun reporting · 8bcc0840
      Matt Roper 提交于
      XE_LPD brings enhanced underrun recovery:  the hardware can somewhat
      mitigate underruns by using an interpolated replacement pixel (soft
      underrun) or the previous pixel (hard underrun).  Furthermore, underruns
      can now be caused downstream by the port, even if the pipe itself is
      operating properly.  The interrupt register and PIPE_STATUS register
      give us extra bits to recognize hard/soft underruns and determine
      whether the underrun was caused by the port, so we'll use that
      information to print some more descriptive errors when underruns occur.
      
      v2:
       - Keep ICL's PIPE_STATUS defined separately from the old GMCH pipe
         status register.  (Ville)
       - Only read/clear the PIPE_STATUS register on platforms with
         display ver >= 11. (Lucas)
      v3:
       - Actually enable+unmask all the new underrun interrupts, clear stale
         bits out from PIPE_STATUS before enabling the interrupts, report all
         FIFO underruns errors at once, rename a bunch of stuff to unconfuse
         vs. PIPESTAT. (Ville)
      
      Bspec: 50335
      Bspec: 50366
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210526000656.3060314-2-matthew.d.roper@intel.com
      8bcc0840
  7. 25 5月, 2021 1 次提交
  8. 13 5月, 2021 2 次提交
  9. 06 5月, 2021 1 次提交
  10. 14 4月, 2021 2 次提交
    • L
      drm/i915/display: rename display version macros · 93e7e61e
      Lucas De Marchi 提交于
      While converting the rest of the driver to use GRAPHICS_VER() and
      MEDIA_VER(), following what was done for display, some discussions went
      back on what we did for display:
      
      	1) Why is the == comparison special that deserves a separate
      	macro instead of just getting the version and comparing directly
      	like is done for >, >=, <=?
      
      	2) IS_DISPLAY_RANGE() is weird in that it omits the "_VER" for
      	brevity. If we remove the current users of IS_DISPLAY_VER(), we
      	could actually repurpose it for a range check
      
      With (1) there could be an advantage if we used gen_mask since multiple
      conditionals be combined by the compiler in a single and instruction and
      check the result. However a) INTEL_GEN() doesn't use the mask since it
      would make the code bigger everywhere else and b) in the cases it made
      sense, it also made sense to convert to the _RANGE() variant.
      
      So here we repurpose IS_DISPLAY_VER() to work with a [ from, to ] range
      like was the IS_DISPLAY_RANGE() and convert the current IS_DISPLAY_VER()
      users to use == and != operators. Aside from the definition changes,
      this was done by the following semantic patch:
      
      	@@ expression dev_priv, E1; @@
      	- !IS_DISPLAY_VER(dev_priv, E1)
      	+ DISPLAY_VER(dev_priv) != E1
      
      	@@ expression dev_priv, E1; @@
      	- IS_DISPLAY_VER(dev_priv, E1)
      	+ DISPLAY_VER(dev_priv) == E1
      
      	@@ expression dev_priv, from, until; @@
      	- IS_DISPLAY_RANGE(dev_priv, from, until)
      	+ IS_DISPLAY_VER(dev_priv, from, until)
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      [Jani: Minor conflict resolve while applying.]
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20210413051002.92589-4-lucas.demarchi@intel.com
      93e7e61e
    • M
      drm/i915/display: Eliminate IS_GEN9_{BC,LP} · 2446e1d6
      Matt Roper 提交于
      Now that we've eliminated INTEL_GEN(), IS_GEN_RANGE(), etc. from the
      display code, we should also kill off our use of the IS_GEN9_* macros
      too.  We'll do the conversion manually this time instead of using
      Coccinelle since the most logical substitution can depend heavily on the
      code context, and sometimes we can keep the code simpler if we make
      additional adjustments such as swapping the order of if/else arms.
      
      v2:
       - Restore a lost negation in intel_pll_is_valid().
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NRadhakrishna Sripada <radhakrishna.sripada@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210407203945.1432531-1-matthew.d.roper@intel.com
      (cherry picked from commit 70bfb307)
      [Jani: cherry picked to topic branch to reduce conflicts]
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      2446e1d6
  11. 10 4月, 2021 1 次提交
  12. 08 4月, 2021 1 次提交
  13. 24 3月, 2021 1 次提交
  14. 05 3月, 2021 1 次提交
  15. 03 3月, 2021 2 次提交
  16. 22 2月, 2021 1 次提交
  17. 05 2月, 2021 1 次提交
    • G
      drm/i915/display: Support PSR Multiple Instances · b64d6c51
      Gwan-gyeong Mun 提交于
      It is a preliminary work for supporting multiple EDP PSR and
      DP PanelReplay. And it refactors singleton PSR to Multi Transcoder
      supportable PSR.
      And this moves and renames the i915_psr structure of drm_i915_private's to
      intel_dp's intel_psr structure.
      It also causes changes in PSR interrupt handling routine for supporting
      multiple transcoders. But it does not change the scenario and timing of
      enabling and disabling PSR. And it not support multiple pipes with
      a single transcoder PSR case yet.
      
      v2: Fix indentation and add comments
      v3: Remove Blank line
      v4: Rebased
      v5: Rebased and Addressed Anshuman's review comment.
          - Move calling of intel_psr_init() to intel_dp_init_connector()
      v6: Address Anshuman's review comments
         - Remove wrong comments and add comments for a limit of supporting of
           a single pipe PSR
      v7: Update intel_psr_compute_config() for supporting multiple transcoder
          PSR on BDW+
      v8: Address Anshuman's review comments
         - Replace DRM_DEBUG_KMS with drm_dbg_kms() / DRM_WARN with drm_warn()
      v9: Fix commit message
      v10: Rebased
      v11: Address Jose's review comment.
        - Reorder calling order of intel_psr2_program_trans_man_trk_ctl().
        - In order to reduce changes keep the old name for drm_i915_private.
        - Change restrictions of multiple instances of PSR.
      v12: Address Jose's review comment.
        - Change the calling of intel_psr2_program_trans_man_trk_ctl() into
          commit_pipe_config().
        - Change a checking order of CAN_PSR() and connector_status to original
          on i915_psr_sink_status_show().
        - Drop unneeded intel_dp_update_pipe() function.
        - In order to wait a specific encoder which belong to crtc_state on
          intel_psr_wait_for_idle(), add checking of encoder.
        - Add an whitespace to comments.
      v13: Rebased and Address Jose's review comment.
        - Add and use for_each_intel_psr_enabled_encoder() macro.
        - In order to use correct frontbuffer_bit for each pipe,
          fix intel_psr_invalidate() and intel_psr_flush().
        - Remove redundant or unneeded codes.
        - Update comments.
      v14: Address Jose's review comment
        - Add and use for_each_intel_encoder_can_psr() macro and
          for_each_intel_encoder_mask_can_psr() macro.
        - Add source_support member variable into intel_psr structure.
        - Update CAN_PSR() macro that checks source_support.
        - Move encoder's PSR availity check to psr_init() from
          psr_compute_config().
        - Remove redundant or unneeded codes.
      v15: Remove wrong mutex lock/unlock of PSR from
           intel_psr2_program_trans_man_trk_ctl()
      Signed-off-by: NGwan-gyeong Mun <gwan-gyeong.mun@intel.com>
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
      Cc: Anshuman Gupta <anshuman.gupta@intel.com>
      Reviewed-by: NAnshuman Gupta <anshuman.gupta@intel.com>
      Reviewed-by: NJosé Roberto de Souza <jose.souza@intel.com>
      Signed-off-by: NJosé Roberto de Souza <jose.souza@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210204134015.419036-1-gwan-gyeong.mun@intel.com
      b64d6c51
  18. 02 2月, 2021 1 次提交
  19. 01 2月, 2021 1 次提交
  20. 30 1月, 2021 4 次提交
  21. 26 1月, 2021 3 次提交
  22. 20 1月, 2021 2 次提交
  23. 18 12月, 2020 1 次提交
  24. 16 12月, 2020 1 次提交
  25. 15 12月, 2020 1 次提交
  26. 01 12月, 2020 1 次提交
  27. 28 11月, 2020 1 次提交
  28. 17 11月, 2020 1 次提交
    • B
      drm/i915: Tweaked Wa_14010685332 for PCHs used on gen11 platforms · b896898c
      Bob Paauwe 提交于
      The WA specifies that we need to toggle a SDE chicken bit on and then
      off as the final step in preparation for s0ix entry.
      
          Bspec: 33450
          Bspec: 8402
      
      However, something is happening after we toggle the bit that causes
      the WA to be invalidated. This makes dispcnlunit1_cp_xosc_clkreq
      active being already in s0ix state i.e SLP_S0 counter incremented.
      Tweaking the Wa_14010685332 by setting the bit on suspend and clearing
      it on resume turns down the dispcnlunit1_cp_xosc_clkreq.
      B.Spec has Documented this tweaked sequence of WA as an alternative.
      Let keep this tweaked WA for Gen11 platforms and keep untweaked WA for
      other platforms which never observed this issue.
      
      v2 (MattR):
       - Change the comment on the workaround to give PCH names rather than
         platform names.  Although the bspec is setup to list workarounds by
         platform, the hardware team has confirmed that the actual issue being
         worked around here is something that was introduced back in the
         Cannon Lake PCH and carried forward to subsequent PCH's.
       - Extend the untweaked version of the workaround to include  PCH_CNP as
         well.  Note that since PCH_CNP is used to represent CMP, this will
         apply on CML and some variants of RKL too.
       - Cap the untweaked version of the workaround so that it won't apply to
         "fake" PCH's (i.e., DG1).  The issue we're working around really is
         an issue in the PCH itself, not the South Display, so it shouldn't
         apply when there isn't a real PCH.
      
      v3:
       - use intel_de_rmw(). [Rodrigo]
      
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NBob Paauwe <bob.j.paauwe@intel.com>
      Signed-off-by: NAnshuman Gupta <anshuman.gupta@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201110121700.4338-1-anshuman.gupta@intel.comReviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      b896898c
  29. 12 11月, 2020 1 次提交