1. 13 11月, 2019 3 次提交
    • I
      drm/i915/gen8+: Add RC6 CTX corruption WA · 255ed515
      Imre Deak 提交于
      commit 7e34f4e4aad3fd34c02b294a3cf2321adf5b4438 upstream.
      
      In some circumstances the RC6 context can get corrupted. We can detect
      this and take the required action, that is disable RC6 and runtime PM.
      The HW recovers from the corrupted state after a system suspend/resume
      cycle, so detect the recovery and re-enable RC6 and runtime PM.
      
      v2: rebase (Mika)
      v3:
      - Move intel_suspend_gt_powersave() to the end of the GEM suspend
        sequence.
      - Add commit message.
      v4:
      - Rebased on intel_uncore_forcewake_put(i915->uncore, ...) API
        change.
      v5: rebased on gem/gt split (Mika)
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      255ed515
    • U
      drm/i915: Lower RM timeout to avoid DSI hard hangs · 011b7173
      Uma Shankar 提交于
      commit 1d85a299c4db57c55e0229615132c964d17aa765 upstream.
      
      In BXT/APL, device 2 MMIO reads from MIPI controller requires its PLL
      to be turned ON. When MIPI PLL is turned off (MIPI Display is not
      active or connected), and someone (host or GT engine) tries to read
      MIPI registers, it causes hard hang. This is a hardware restriction
      or limitation.
      
      Driver by itself doesn't read MIPI registers when MIPI display is off.
      But any userspace application can submit unprivileged batch buffer for
      execution. In that batch buffer there can be mmio reads. And these
      reads are allowed even for unprivileged applications. If these
      register reads are for MIPI DSI controller and MIPI display is not
      active during that time, then the MMIO read operation causes system
      hard hang and only way to recover is hard reboot. A genuine
      process/application won't submit batch buffer like this and doesn't
      cause any issue. But on a compromised system, a malign userspace
      process/app can generate such batch buffer and can trigger system
      hard hang (denial of service attack).
      
      The fix is to lower the internal MMIO timeout value to an optimum
      value of 950us as recommended by hardware team. If the timeout is
      beyond 1ms (which will hit for any value we choose if MMIO READ on a
      DSI specific register is performed without PLL ON), it causes the
      system hang. But if the timeout value is lower than it will be below
      the threshold (even if timeout happens) and system will not get into
      a hung state. This will avoid a system hang without losing any
      programming or GT interrupts, taking the worst case of lowest CDCLK
      frequency and early DC5 abort into account.
      Signed-off-by: NUma Shankar <uma.shankar@intel.com>
      Reviewed-by: NJon Bloomfield <jon.bloomfield@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      011b7173
    • J
      drm/i915: Add gen9 BCS cmdparsing · cdd77c6b
      Jon Bloomfield 提交于
      commit 0f2f39758341df70202ae1c42d5a1e4ee392b6d3 upstream.
      
      For gen9 we enable cmdparsing on the BCS ring, specifically
      to catch inadvertent accesses to sensitive registers
      
      Unlike gen7/hsw, we use the parser only to block certain
      registers. We can rely on h/w to block restricted commands,
      so the command tables only provide enough info to allow the
      parser to delineate each command, and identify commands that
      access registers.
      
      Note: This patch deliberately ignores checkpatch issues in
      favour of matching the style of the surrounding code. We'll
      correct the entire file in one go in a later patch.
      Signed-off-by: NJon Bloomfield <jon.bloomfield@intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Tyler Hicks <tyhicks@canonical.com>
      Signed-off-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      Reviewed-by: NChris Wilson <chris.p.wilson@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cdd77c6b
  2. 16 9月, 2019 1 次提交
  3. 11 6月, 2019 1 次提交
    • J
      drm/i915: Maintain consistent documentation subsection ordering · 6600ec26
      Jonathan Corbet 提交于
      commit 551bd3368a7b3cfef01edaade8970948d178d40a upstream.
      
      With Sphinx 2.0 (or prior versions with the deprecation warnings fixed) the
      docs build fails with:
      
        Documentation/gpu/i915.rst:403: WARNING: Title level inconsistent:
      
        Global GTT Fence Handling
        ~~~~~~~~~~~~~~~~~~~~~~~~~
      
        reST markup error:
        Documentation/gpu/i915.rst:403: (SEVERE/4) Title level inconsistent:
      
      I "fixed" it by changing the subsections in i915.rst, but that didn't seem
      like the correct change.  It turns out that a couple of i915 files create
      their own subsections in kerneldoc comments using apostrophes as the
      heading marker:
      
        Layout
        ''''''
      
      That breaks the normal subsection marker ordering, and newer Sphinx is
      rather more strict about enforcing that ordering.  So fix the offending
      comments to make Sphinx happy.
      
      (This is unfortunate, in that kerneldoc comments shouldn't need to be aware
      of where they might be included in the heading hierarchy, but I don't see
      a better way around it).
      
      Cc: stable@vger.kernel.org  # v4.14+
      Acked-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6600ec26
  4. 21 11月, 2018 1 次提交
  5. 04 9月, 2018 1 次提交
  6. 16 8月, 2018 1 次提交
  7. 07 8月, 2018 1 次提交
  8. 19 7月, 2018 4 次提交
  9. 12 7月, 2018 2 次提交
  10. 11 7月, 2018 1 次提交
  11. 06 7月, 2018 4 次提交
  12. 05 7月, 2018 2 次提交
  13. 03 7月, 2018 1 次提交
  14. 02 7月, 2018 1 次提交
  15. 28 6月, 2018 1 次提交
    • A
      drm/i915/icp: Add Interrupt Support · 31604222
      Anusha Srivatsa 提交于
      This patch addresses Interrupts from south display engine (SDE).
      
      ICP has two registers - SHOTPLUG_CTL_DDI and SHOTPLUG_CTL_TC.
      Introduce these registers and their intended values.
      
      Introduce icp_irq_handler().
      
      The icp_irq_postinstall() takes care of
      enabling all PCH interrupt sources, to unmask
      them as needed with SDEIMR, as is done
      done by ibx_irq_pre_postinstall() for earlier platforms.
      We do not need to explicitly call the ibx_irq_pre_postinstall().
      
      Also, while changing these,
      s/CPT/PPT/CPT-CNP comment.
      
      v2:
      - remove redundant register defines.(Lucas)
      - Change register names to be more consistent with
      previous platforms (Lucas)
      
      v3:
      -Reorder bit defines to a more appropriate location.
       Change the comments. Confirm in the commit message that
       icp_irq_postinstall() need not go to
       ibx_irq_pre_postinstall() and ibx_irq_postinstall()
       as in earlier platforms. (Paulo)
      
      Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Reviewed-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NAnusha Srivatsa <anusha.srivatsa@intel.com>
      [Paulo: coding style bikesheds and rebases].
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1530046343-30649-1-git-send-email-anusha.srivatsa@intel.com
      31604222
  16. 27 6月, 2018 2 次提交
    • I
      drm/i915/icl: Add power well support · 67ca07e7
      Imre Deak 提交于
      Add the definition for ICL power wells and their mapping to power
      domains. On ICL there are 3 power well control registers, we'll select
      the correct one based on higher bits of the power well ID. The offset
      for the control and status flags within this register is based on the
      lower bits of the ID as on older platforms.
      
      As the DC state programming is also the same as on old platforms we can
      reuse the corresponding helpers. For this we mark here the DC-off power
      well as shared among multiple platforms.
      
      Other than the above the delta between old platforms and ICL:
      - Pipe C has its own power well, so we can save some additional power in the
        pipe A+B and (non-eDP) pipe A configurations.
      - Power wells for port E/F DDI/AUX IO and Thunderbolt 1-4 AUX IO
      
      v2:
      - Rebase on drm-tip after prep patch for this was merged there as
        requested by Paulo.
      - Actually add the new AUX and DDI power well control regs (Rakshmi)
      
      v3:
      - Fix power well register names in code comments
      - Add TBT AUX->power well 3 dependency
      
      v4:
      - Rebase
      
      v5:
      - Detach AUX power wells from the INIT power domain. These power wells
        can only be enabled in a TC/TBT connected state and otherwise not
        needed during driver initialization.
      
      v6:
      - Use _MMIO_PORT(...) instead _MMIO(_PICK(...)) (Paulo)
        Fix checkpatch warnings.
      
      Cc: Animesh Manna <animesh.manna@intel.com>
      Cc: Rakshmi Bhatia <rakshmi.bhatia@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: Animesh Manna <animesh.manna@intel.com> (v1)
      Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180626142232.22361-1-imre.deak@intel.com
      67ca07e7
    • J
      drm/i915/psr: Enable CRC check in the static frame on the sink side · 00c8f194
      José Roberto de Souza 提交于
      Sink can be configured to calculate the CRC over the static frame and
      compare with the CRC calculated and transmited in the VSC SDP by
      source, if there is a mismatch sink will do a short pulse in HPD
      and set DP_PSR_LINK_CRC_ERROR in DP_PSR_ERROR_STATUS.
      
      Spec: 7723
      
      v6:
      andling DP_PSR_LINK_CRC_ERROR here and remove "bdw+" from commit
      message
      
      v4:
      patch moved to after 'drm/i915/psr: Avoid PSR exit max time timeout'
      to avoid touch in 2 patches EDP_PSR_DEBUG.
      
      v3:
      disabling PSR instead of exiting on error
      Reviewed-by: NDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NJosé Roberto de Souza <jose.souza@intel.com>
      Signed-off-by: NDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180626201644.21932-5-jose.souza@intel.com
      00c8f194
  17. 22 6月, 2018 2 次提交
  18. 19 6月, 2018 7 次提交
  19. 18 6月, 2018 2 次提交
  20. 15 6月, 2018 2 次提交