1. 07 Feb, 2019 1 commit
    • Thierry Reding's avatar
      gpu: host1x: Introduce support for wide opcodes · 5a5fccbd
      Thierry Reding authored
      The CDMA push buffer can currently only handle opcodes that take a
      single word parameter. However, the host1x implementation on Tegra186
      and later supports opcodes that require multiple words as parameters.
      
      Unfortunately the way the push buffer is structured, these wide opcodes
      cannot simply be composed of two regular opcodes because that could
      result in the wide opcode being split across the end of the push buffer
      and the final RESTART opcode required to wrap the push buffer around
      would break the wide opcode.
      
      One way to fix this would be to remove the concept of slots to simplify
      push buffer operations. However, that's not entirely trivial and should
      be done in a separate patch. For now, simply use a different function
      to push four-word opcodes into the push buffer. Technically only three
      words are pushed, with the fourth word used as padding to preserve the
      2-word alignment required by the slots abstraction. The fourth word is
      always a NOP opcode.
      
      Additional care must be taken when the end of the push buffer is
      reached. If a four-word opcode doesn't fit into the push buffer without
      being split by the boundary, NOP opcodes will be introduced and the new
      wide opcode placed at the beginning of the push buffer.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      5a5fccbd
  2. 04 Feb, 2019 1 commit
  3. 18 May, 2018 2 commits
  4. 15 Jun, 2017 1 commit
  5. 05 Apr, 2017 1 commit
  6. 13 Nov, 2014 1 commit
  7. 22 Apr, 2013 1 commit