1. 15 Sep, 2020 3 commits
    • Jordan Crouse's avatar
      drm/msm: Get rid of the REG_ADRENO offsets · 2fb7487a
      Jordan Crouse authored
      As newer GPU families are added it makes less sense to maintain a
      "generic" version functions for older families. Move adreno_submit()
      and get_rptr() into the target specific code for a2xx, a3xx and a4xx.
      Add a parameter to adreno_flush to pass the target specific WPTR register
      instead of relying on the generic register.
      
      All of this gets rid of the last of the REG_ADRENO offsets so remove all
      all the register definitions and infrastructure.
      Signed-off-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      2fb7487a
    • 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 4 commits