1. 30 3月, 2020 1 次提交
  2. 26 3月, 2020 14 次提交
  3. 25 3月, 2020 2 次提交
  4. 24 3月, 2020 17 次提交
  5. 21 3月, 2020 2 次提交
    • L
      drm/etnaviv: fix TS cache flushing on GPUs with BLT engine · f232d9ec
      Lucas Stach 提交于
      As seen in the Vivante kernel driver, most GPUs with the BLT engine have
      a broken TS cache flush. The workaround is to temporarily set the BLT
      command to CLEAR_IMAGE, without actually executing the clear. Apparently
      this state change is enough to trigger the required TS cache flush. As
      the BLT engine is completely asychronous, we also need a few more stall
      states to synchronize the flush with the frontend.
      Root-caused-by: NJonathan Marek <jonathan@marek.ca>
      Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
      f232d9ec
    • L
      drm/etnaviv: request pages from DMA32 zone when needed · b72af445
      Lucas Stach 提交于
      Some Vivante GPUs are found in systems that have interconnects restricted
      to 32 address bits, but may have system memory mapped above the 4GB mark.
      As this region isn't accessible to the GPU via DMA any GPU memory allocated
      in the upper part needs to go through SWIOTLB bounce buffering. This kills
      performance if it happens too often, as well as overrunning the available
      bounce buffer space, as the GPU buffer may stay mapped for a long time.
      
      Avoid bounce buffering by checking the addressing restrictions. If the
      GPU is unable to access memory above the 4GB mark, request our SHM buffers
      to be located in the DMA32 zone.
      Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
      b72af445
  6. 20 3月, 2020 4 次提交