1. 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
  2. 11 10月, 2019 1 次提交
  3. 01 8月, 2019 1 次提交
  4. 19 6月, 2019 2 次提交
  5. 05 6月, 2019 1 次提交
  6. 21 4月, 2019 1 次提交
  7. 19 4月, 2019 1 次提交
    • W
      drm/msm: a5xx: fix possible object reference leak · 6cd5235c
      Wen Yang 提交于
      The call to of_get_child_by_name returns a node pointer with refcount
      incremented thus it must be explicitly decremented after the last
      usage.
      
      Detected by coccinelle with the following warnings:
      drivers/gpu/drm/msm/adreno/a5xx_gpu.c:57:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 47, but without a corresponding object release within this function.
      drivers/gpu/drm/msm/adreno/a5xx_gpu.c:66:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 47, but without a corresponding object release within this function.
      drivers/gpu/drm/msm/adreno/a5xx_gpu.c:118:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 47, but without a corresponding object release within this function.
      drivers/gpu/drm/msm/adreno/a5xx_gpu.c:57:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 51, but without a corresponding object release within this function.
      drivers/gpu/drm/msm/adreno/a5xx_gpu.c:66:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 51, but without a corresponding object release within this function.
      drivers/gpu/drm/msm/adreno/a5xx_gpu.c:118:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 51, but without a corresponding object release within this function.
      Signed-off-by: NWen Yang <wen.yang99@zte.com.cn>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Sean Paul <sean@poorly.run>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Jordan Crouse <jcrouse@codeaurora.org>
      Cc: Mamta Shukla <mamtashukla555@gmail.com>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Sharat Masetty <smasetty@codeaurora.org>
      Cc: linux-arm-msm@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: freedreno@lists.freedesktop.org
      Cc: linux-kernel@vger.kernel.org (open list)
      Reviewed-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      6cd5235c
  8. 12 12月, 2018 5 次提交
  9. 23 10月, 2018 1 次提交
  10. 09 10月, 2018 1 次提交
  11. 08 10月, 2018 1 次提交
  12. 04 10月, 2018 2 次提交
  13. 05 8月, 2018 1 次提交
  14. 30 7月, 2018 4 次提交
  15. 20 2月, 2018 5 次提交
  16. 13 2月, 2018 1 次提交
  17. 11 1月, 2018 1 次提交
  18. 10 1月, 2018 2 次提交
  19. 28 10月, 2017 6 次提交
    • J
      drm/msm: Implement preemption for A5XX targets · b1fc2839
      Jordan Crouse 提交于
      Implement preemption for A5XX targets - this allows multiple
      ringbuffers for different priorities with automatic preemption
      of a lower priority ringbuffer if a higher one is ready.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      b1fc2839
    • J
      drm/msm: Support multiple ringbuffers · f97decac
      Jordan Crouse 提交于
      Add the infrastructure to support the idea of multiple ringbuffers.
      Assign each ringbuffer an id and use that as an index for the various
      ring specific operations.
      
      The biggest delta is to support legacy fences. Each fence gets its own
      sequence number but the legacy functions expect to use a unique integer.
      To handle this we return a unique identifier for each submission but
      map it to a specific ring/sequence under the covers. Newer users use
      a dma_fence pointer anyway so they don't care about the actual sequence
      ID or ring.
      
      The actual mechanics for multiple ringbuffers are very target specific
      so this code just allows for the possibility but still only defines
      one ringbuffer for each target family.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      f97decac
    • J
      drm/msm: Move memptrs to msm_gpu · cd414f3d
      Jordan Crouse 提交于
      When we move to multiple ringbuffers we're going to store the data
      in the memptrs on a per-ring basis. In order to prepare for that
      move the current memptrs from the adreno namespace into msm_gpu.
      This is way cleaner and immediately lets us kill off some sub
      functions so there is much less cost later when we do move to
      per-ring structs.
      Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      cd414f3d
    • R
      drm/msm/adreno: deal with linux-firmware fw paths · 2c41ef1b
      Rob Clark 提交于
      When firmware was added to linux-firmware, it was put in a qcom sub-
      directory, unlike what we'd been using before.  For a300_pfp.fw and
      a300_pm4.fw symlinks were created, but we'd prefer not to have to do
      this in the future.  So add support to look in both places when
      loading firmware.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      2c41ef1b
    • R
      drm/msm/adreno: split out helper to load fw · e8f3de96
      Rob Clark 提交于
      Prep work for the next patch.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      e8f3de96
    • R
      drm/msm/adreno: load gpu at probe/bind time · eec874ce
      Rob Clark 提交于
      Previously, in an effort to defer initializing the gpu until firmware
      was available (ie. rootfs mounted), the gpu was not loaded at when the
      subdevice was bound.  Which resulted that clks/etc were requested in a
      place that devm couldn't really help unwind if something failed.
      
      Instead move request_firmware() to gpu->hw_init() and construct the gpu
      earlier in adreno_bind().  To avoid the rest of the driver needing to
      be aware of a gpu that hasn't managed to load firmware and hw_init()
      yet, stash the gpu ptr in the adreno device's drvdata, and don't set
      priv->gpu() until hw_init() succeeds.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      eec874ce
  20. 23 8月, 2017 2 次提交