1. 30 7月, 2018 1 次提交
  2. 25 7月, 2018 1 次提交
  3. 20 2月, 2018 3 次提交
  4. 10 1月, 2018 2 次提交
  5. 28 10月, 2017 5 次提交
  6. 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
  7. 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
  8. 07 2月, 2017 1 次提交
  9. 29 11月, 2016 7 次提交
  10. 24 10月, 2016 1 次提交
  11. 08 5月, 2016 1 次提交
  12. 04 3月, 2016 2 次提交
  13. 12 6月, 2015 3 次提交
    • R
      drm/msm: adreno a306 support · de558cd2
      Rob Clark 提交于
      As found in apq8016 (used in DragonBoard 410c) and msm8916.
      
      Note that numerically a306 is actually 307 (since a305c already claimed
      306).  Nice and confusing.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      de558cd2
    • R
      drm/msm: clarify downstream bus scaling · 6490ad47
      Rob Clark 提交于
      A few spots in the driver have support for downstream android
      CONFIG_MSM_BUS_SCALING.  This is mainly to simplify backporting the
      driver for various devices which do not have sufficient upstream
      kernel support.  But the intentionally dead code seems to cause
      some confusion.  Rename the #define to make this more clear.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      6490ad47
    • R
      drm/msm/adreno: dump scratch regs and other info on hang · 26716185
      Rob Clark 提交于
      Dump a bit more info when the GPU hangs, without having hang_debug
      enabled (which dumps a *lot* of registers).  Also dump the scratch
      registers, as they are useful for determining where in the cmdstream
      the GPU hung (and they seem always safe to read when GPU has hung).
      
      Note that the freedreno gallium driver emits increasing counter values
      to SCRATCH6 (to identify tile #) and SCRATCH7 (to identify draw #), so
      these two in particular can be used to "triangulate" where in the
      cmdstream the GPU hung.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      26716185
  14. 17 11月, 2014 2 次提交
  15. 10 9月, 2014 3 次提交
  16. 31 3月, 2014 2 次提交
  17. 10 1月, 2014 2 次提交
    • R
      drm/msm: add a330/apq8x74 · 55459968
      Rob Clark 提交于
      Add support for adreno 330.  Not too much different, just a few
      differences in initial configuration plus setting OCMEM base.
      Userspace support is already in upstream mesa.
      
      Note that the existing DT code is simply using the bindings from
      downstream android kernel, to simplify porting of this driver to
      existing devices.  These do not constitute any committed/stable
      DT ABI.  The addition of proper DT bindings will be a subsequent
      patch, at which point (as best as possible) I will try to support
      either upstream bindings or what is found in downstream android
      kernel, so that existing device DT files can be used.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      55459968
    • R
      drm/msm: fix bus scaling · bf2b33af
      Rob Clark 提交于
      This got a bit broken with original patches when re-arranging things to
      move dependencies on mach-msm inside #ifndef OF.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      bf2b33af
  18. 25 8月, 2013 1 次提交
    • R
      drm/msm: add basic hangcheck/recovery mechanism · bd6f82d8
      Rob Clark 提交于
      A basic, no-frills recovery mechanism in case the gpu gets wedged.  We
      could try to be a bit more fancy and restart the next submit after the
      one that got wedged, but for now keep it simple.  This is enough to
      recover things if, for example, the gpu hangs mid way through a piglit
      run.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      bd6f82d8