1. 15 Sep, 2020 2 commits
    • Jordan Crouse's avatar
      drm/msm: a6xx: Use WHERE_AM_I for eligible targets · d3a569fc
      Jordan Crouse authored
      Support the WHERE_AM_I opcode for the A618, A630 and A640 GPUs if the
      microcode supports it. The WHERE_AM_I opcode allows the RPTR shadow
      to be updated in priviliged memory which protects the shadow from being
      read or written from user submissions.
      
      A650 already supports extended APRIV have built in hardware support for
      to access privilged memory from the CP and can go back to using the
      hardware RPTR shadow feature.
      Signed-off-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      d3a569fc
    • Jordan Crouse's avatar
      drm/msm: Allow a5xx to mark the RPTR shadow as privileged · 8907afb4
      Jordan Crouse authored
      Newer microcode versions have support for the CP_WHERE_AM_I opcode which
      allows the RPTR shadow memory to be marked as privileged to protect it
      from corruption. Move the RPTR shadow into its own buffer and protect it
      it if the current microcode version supports the new feature.
      
      We can also re-enable preemption for those targets that support
      CP_WHERE_AM_I. Start out by preemptively assuming that we can enable
      preemption and disable it in a5xx_hw_init if the microcode version comes
      back as too old.
      Signed-off-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      8907afb4
  2. 12 Sep, 2020 18 commits
  3. 09 Sep, 2020 6 commits
  4. 04 Sep, 2020 9 commits
  5. 22 Aug, 2020 5 commits