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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel