[PATCH v2 00/16] omapdrm: Implement dma_buf import
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Dec 14 12:39:28 PST 2015
Hello,
This patch series implements support for dma_buf import in the omapdrm driver.
The patches are based on top of the latest drm-next branch and can be found in
my git tree at
git://linuxtv.org/pinchartl/fbdev.git omapdrm/dmabuf-import
The first two patches are unrelated fixes and enhancements, but I've included
them in the series to avoid merge conflicts.
The next 13 patches are miscellaneous fixes, cleanups and refactoring to
prepare for patch 16/16 that implements dma_buf import.
The code has been successfully tested with the vivid driver as an exporter,
using a hacked version that uses uncached CPU mappings in vivid when filling
the buffers. vivid is a test driver that generates a test pattern using the
CPU with cached mappings by default, resulting in corruption on the screen due
to missing cache handling. As the problem doesn't occur when sharing buffers
not touched by the CPU or touched through uncached mappings only, it will be
addressed separately.
Changes since v1:
- Added patch 11/16 ("drm: omapdrm: gem: Fix GEM object destroy in error path")
- Drop the dma-buf reexport check, reexport is handled by the DRM core
- Make the OMAP_BO_USER_MASK definition private
Laurent Pinchart (16):
drm: omapdrm: Fix plane state free in plane reset handler
drm: omapdrm: Make fbdev emulation optional
drm: omapdrm: gem: Remove unused function prototypes
drm: omapdrm: gem: Remove forward declarations
drm: omapdrm: gem: Group functions by purpose
drm: omapdrm: gem: Move global usergart variable to omap_drm_private
drm: omapdrm: gem: Remove omap_drm_private has_dmm field
drm: omapdrm: gem: Mask out private flags passed from userspace
drm: omapdrm: gem: Clean up GEM objects memory flags
drm: omapdrm: gem: Free the correct memory object
drm: omapdrm: gem: Fix GEM object destroy in error path
drm: omapdrm: gem: Don't free mmap offset twice
drm: omapdrm: gem: Simplify error handling when creating GEM object
drm: omapdrm: gem: Remove check for impossible condition
drm: omapdrm: gem: Refactor GEM object allocation
drm: omapdrm: gem: Implement dma_buf import
drivers/gpu/drm/omapdrm/Makefile | 3 +-
drivers/gpu/drm/omapdrm/omap_debugfs.c | 4 +
drivers/gpu/drm/omapdrm/omap_drv.c | 17 +-
drivers/gpu/drm/omapdrm/omap_drv.h | 16 +-
drivers/gpu/drm/omapdrm/omap_fbdev.c | 6 +-
drivers/gpu/drm/omapdrm/omap_gem.c | 501 +++++++++++++++++++-----------
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 53 +++-
drivers/gpu/drm/omapdrm/omap_plane.c | 55 ++--
8 files changed, 421 insertions(+), 234 deletions(-)
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list