1. 08 1月, 2021 2 次提交
  2. 16 9月, 2020 1 次提交
    • 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
  3. 13 9月, 2020 1 次提交
  4. 23 8月, 2020 1 次提交
  5. 31 7月, 2020 2 次提交
  6. 24 5月, 2020 1 次提交
  7. 19 5月, 2020 2 次提交
  8. 03 1月, 2020 2 次提交
  9. 05 11月, 2019 1 次提交
    • A
      drm/msm/adreno: Add support for Adreno 510 GPU · e20c9284
      AngeloGioacchino Del Regno 提交于
      The Adreno 510 GPU is a stripped version of the Adreno 5xx,
      found in low-end SoCs like 8x56 and 8x76, which has 256K of
      GMEM, with no GPMU nor ZAP.
      Also, since the Adreno 5xx part of this driver seems to be
      developed with high-end Adreno GPUs in mind, and since this
      is a lower end one, add a comment making clear which GPUs
      which support is not implemented yet is not using the GPMU
      related hw init code, so that future developers will not go
      crazy with that.
      
      By the way, the lower end Adreno GPUs with no GPMU are:
      A505/A506/A510 (usually no ZAP firmware)
      A508/A509/A512 (usually with ZAP firmware)
      Signed-off-by: NAngeloGioacchino Del Regno <kholk11@gmail.com>
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      e20c9284
  10. 07 10月, 2019 1 次提交
  11. 19 6月, 2019 2 次提交
  12. 21 4月, 2019 1 次提交
  13. 12 12月, 2018 2 次提交
  14. 11 8月, 2018 2 次提交
  15. 30 7月, 2018 4 次提交
  16. 25 7月, 2018 1 次提交
  17. 20 2月, 2018 3 次提交
  18. 10 1月, 2018 2 次提交
  19. 28 10月, 2017 5 次提交
  20. 16 6月, 2017 2 次提交
    • J
      drm/msm: Remove memptrs->wptr · 42a105e9
      Jordan Crouse 提交于
      memptrs->wptr seems to be unused. Remove it to avoid
      confusing the upcoming preemption code.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      42a105e9
    • J
      drm/msm: gpu: Enable zap shader for A5XX · 7c65817e
      Jordan Crouse 提交于
      The A5XX GPU powers on in "secure" mode. In secure mode the GPU can
      only render to buffers that are marked as secure and inaccessible
      to the kernel and user through a series of hardware protections. In
      practice secure mode is used to draw things like a UI on a secure
      video frame.
      
      In order to switch out of secure mode the GPU executes a special
      shader that clears out the GMEM and other sensitve registers and
      then writes a register. Because the kernel can't be trusted the
      shader binary is signed and verified and programmed by the
      secure world. To do this we need to read the MDT header and the
      segments from the firmware location and put them in memory and
      present them for approval.
      
      For targets without secure support there is an out: if the
      secure world doesn't support secure then there are no hardware
      protections and we can freely write the SECVID_TRUST register from
      the CPU. We don't have 100% confidence that we can query the
      secure capabilities at run time but we have enough calls that
      need to go right to give us some confidence that we're at least doing
      something useful.
      
      Of course if we guess wrong you trigger a permissions violation
      which usually ends up in a system crash but thats a problem
      that shows up immediately.
      
      [v2: use child device per Bjorn]
      [v3: use generic MDT loader per Bjorn]
      [v4: use managed dma functions and ifdefs for the MDT loader]
      [v5: Add depends for QCOM_MDT_LOADER]
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Acked-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      [robclark: fix Kconfig to use select instead of depends + #if IS_ENABLED()]
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      7c65817e
  21. 08 4月, 2017 1 次提交
    • J
      drm/msm: Hard code the GPU "slow frequency" · bf5af4ae
      Jordan Crouse 提交于
      Some A3XX and A4XX GPU targets required that the GPU clock be
      programmed to a non zero value when it was disabled so
      27Mhz was chosen as the "invalid" frequency.
      
      Even though newer targets do not have the same clock restrictions
      we still write 27Mhz on clock disable and expect the clock subsystem
      to round down to zero.
      
      For unknown reasons even though the slow clock speed is always
      27Mhz and it isn't actually a functional level the legacy device tree
      frequency tables always defined it and then did gymnastics to work
      around it.
      
      Instead of playing the same silly games just hard code the "slow" clock
      speed in the code as 27MHz and save ourselves a bit of infrastructure.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      bf5af4ae
  22. 07 2月, 2017 1 次提交