mbox series

[0/5] Add option to mmap GEM buffers cached, try 2

Message ID 20201102220651.22069-1-paul@crapouillou.net (mailing list archive)
Headers show
Series Add option to mmap GEM buffers cached, try 2 | expand

Message

Paul Cercueil Nov. 2, 2020, 10:06 p.m. UTC
Rework of my previous patchset which added support for GEM buffers
backed by non-coherent memory to the ingenic-drm driver.

For the record, the previous patchset was accepted for 5.10 then had
to be reverted, as it conflicted with some changes made to the DMA API.

This new patchset is pretty different as it adds the functionality to
the DRM core. The first three patches add variants to existing functions
but with the "non-coherent memory" twist, exported as GPL symbols. The
fourth patch adds a function to be used with the damage helpers.
Finally, the last patch adds support for non-coherent GEM buffers to the
ingenic-drm driver. The functionality is enabled through a module
parameter, and is disabled by default.

Cheers,
-Paul

Paul Cercueil (5):
  drm: Add and export function drm_gem_cma_create_noncoherent
  drm: Add and export function drm_gem_cma_dumb_create_noncoherent
  drm: Add and export function drm_gem_cma_mmap_noncoherent
  drm: Add and export function drm_gem_cma_sync_data
  drm/ingenic: Add option to alloc cached GEM buffers

 drivers/gpu/drm/drm_gem_cma_helper.c      | 190 +++++++++++++++++++---
 drivers/gpu/drm/ingenic/ingenic-drm-drv.c |  58 ++++++-
 drivers/gpu/drm/ingenic/ingenic-drm.h     |   4 +
 drivers/gpu/drm/ingenic/ingenic-ipu.c     |  12 +-
 include/drm/drm_gem_cma_helper.h          |  13 ++
 5 files changed, 251 insertions(+), 26 deletions(-)