1. 05 11月, 2020 2 次提交
  2. 02 11月, 2020 1 次提交
  3. 21 9月, 2020 1 次提交
  4. 16 9月, 2020 2 次提交
    • J
      drm/msm: Get rid of the REG_ADRENO offsets · 2fb7487a
      Jordan Crouse 提交于
      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: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      2fb7487a
    • J
      drm/msm: a6xx: Use WHERE_AM_I for eligible targets · d3a569fc
      Jordan Crouse 提交于
      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: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      d3a569fc
  5. 13 9月, 2020 3 次提交
  6. 05 9月, 2020 2 次提交
  7. 24 8月, 2020 1 次提交
  8. 31 7月, 2020 4 次提交
  9. 18 6月, 2020 1 次提交
  10. 24 5月, 2020 1 次提交
  11. 20 5月, 2020 1 次提交
  12. 19 5月, 2020 3 次提交
  13. 11 2月, 2020 3 次提交
  14. 03 1月, 2020 2 次提交
    • S
      drm: msm: a6xx: Add support for A618 · e812744c
      Sharat Masetty 提交于
      This patch adds support for enabling Graphics Bus Interface(GBIF)
      used in multiple A6xx series chipets. Also makes changes to the
      PDC/RSC sequencing specifically required for A618. This is needed
      for proper interfacing with RPMH.
      Signed-off-by: NSharat Masetty <smasetty@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      e812744c
    • R
      drm/msm/adreno: fix zap vs no-zap handling · 15ab987c
      Rob Clark 提交于
      We can have two cases, when it comes to "zap" fw.  Either the fw
      requires zap fw to take the GPU out of secure mode at boot, or it does
      not and we can write RBBM_SECVID_TRUST_CNTL directly.  Previously we
      decided based on whether zap fw load succeeded, but this is not a great
      plan because:
      
      1) we could have zap fw in the filesystem on a device where it is not
         required
      2) we could have the inverse case
      
      Instead, shift to deciding based on whether we have a 'zap-shader' node
      in dt.  In practice, there is only one device (currently) with upstream
      dt that does not use zap (cheza), and it already has a /delete-node/ for
      the zap-shader node.
      
      Fixes: abccb9fe ("drm/msm/a6xx: Add zap shader load")
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      15ab987c
  15. 01 8月, 2019 1 次提交
  16. 19 6月, 2019 1 次提交
  17. 24 5月, 2019 1 次提交
  18. 09 5月, 2019 1 次提交
  19. 21 4月, 2019 2 次提交
  20. 20 4月, 2019 2 次提交
  21. 12 12月, 2018 5 次提交
    • J
      drm/msm: Add a name field for gem objects · 0815d774
      Jordan Crouse 提交于
      For debugging purposes it is useful to assign descriptions
      to buffers so that we know what they are used for. Add
      a field to the buffer object and use that to name the various
      kernel side allocations which ends up looking like like this
      in /d/dri/X/gem:
      
         flags       id ref  offset   kaddr            size     madv      name
         00040000: I  0 ( 1) 00000000 0000000070b79eca 00004096           memptrs
            vmas: [gpu: 01000000,mapped,inuse=1]
         00020000: I  0 ( 1) 00000000 0000000031ed4074 00032768           ring0
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      0815d774
    • J
      drm/msm: Count how many times iova memory is pinned · 7ad0e8cf
      Jordan Crouse 提交于
      Add a reference count to track how many times a particular
      chunk of iova memory is pinned (mapped) in the iomu and
      add msm_gem_unpin_iova to give up references.
      
      It is important to note that msm_gem_unpin_iova replaces
      msm_gem_put_iova because the new implicit behavior
      that an assigned iova in a given vma is now valid for the
      life of the buffer and what we are really focusing on is
      the use of that iova.
      
      For now the unmappings are lazy; once the reference counts
      go to zero they *COULD* be unmapped dynamically but that
      will require an outside force such as a shrinker or
      mm_notifiers.  For now, we're just focusing on getting
      the counting right and setting ourselves up to be ready
      for the future.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      7ad0e8cf
    • J
      drm/msm/a6xx: Add a6xx gpu state · 1707add8
      Jordan Crouse 提交于
      Add support for gathering and dumping the a6xx GPU state including
      registers, GMU registers, indexed registers, shader blocks,
      context clusters and debugbus.
      
      v2: Fix bugs discovered by Sharat Masetty
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      1707add8
    • J
      drm/msm/gpu: Add trace events for tracking GPU submissions · 4241db42
      Jordan Crouse 提交于
      Add trace events to track the progress of a GPU submission
      msm_gpu_submit occurs at the beginning of the submissions,
      msm_gpu_submit_flush happens when the submission is put on
      the ringbuffer and msm_submit_flush_retired is sent when
      the operation is retired.
      
      To make it easier to track the operations a unique sequence
      number is assigned to each submission and displayed in each
      event output so a human or a script can easily associate
      the events related to a specific submission.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      4241db42
    • J
      drm/msm/gpu: Add per-submission statistics · 56869210
      Jordan Crouse 提交于
      Add infrastructure to track statistics for GPU submissions
      by sampling certain perfcounters before and after a submission.
      
      To store the statistics, the per-ring memptrs region is
      expanded to include room for up to 64 entries - this should
      cover a reasonable amount of inflight submissions without
      worrying about losing data. The target specific code inserts
      PM4 commands to sample the counters before and after
      submission and store them in the data region. The CPU can
      access the data after the submission retires to make sense
      of the statistics and communicate them to the user.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      56869210