Hi Laurent,
On 14/12/15 22:39, Laurent Pinchart wrote:
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.
I've picked up these patches to my omapdrm-4.5 branch:
drm: omapdrm: move omap_plane_reset() 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: Mask out private flags passed from userspace 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
I did split the "Fix plane state free in plane reset handler" into two, moving the function first. And as I dropped few patches from between the others, they're not exactly as they were in your series.
The remaining patches are:
drm: omapdrm: gem: Remove omap_drm_private has_dmm field drm: omapdrm: gem: Clean up GEM objects memory flags drm: omapdrm: gem: Refactor GEM object allocation drm: omapdrm: gem: Implement dma_buf import
Those are more complex, and I haven't fully reviewed them yet. I wanted to get the bulk of the patches already, so that I can ensure we get at least those to 4.5.
Tomi