drm/i915: implement dma buf begin_cpu_access (v2)
authorDave Airlie <airlied@redhat.com>
Thu, 16 Aug 2012 00:15:34 +0000 (10:15 +1000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 17 Aug 2012 08:10:06 +0000 (10:10 +0200)
commitec6f1bb90c9865d4a5af01b1c643bcf020d88706
treeba4ab858b7d96ea08ace354332eb9c79bafb65eb
parent0826874a664f9e9479d50fda23923b87a50cda0d
drm/i915: implement dma buf begin_cpu_access (v2)

In order for udl vmap to work properly, we need to push the object
into the CPU domain before we start copying the data to the USB device.

This along with the udl change avoids userspace explicit mapping to
be used.

v2: add a flag for userspace to query to know if Intel kernel driver can
deal with the vmap flushing properly. In theory udl would need a flag also,
but I intend to push the patches very close to each other and other drivers
should do the right thing from the start.

I've added a test to my intel-gpu-tools prime branch, however testing
this is a bit messy since the only way to get udl to vmap is to rendering
something. I've tested this with real code as well to make sure it works.

Signed-off-by: Dave Airlie <airlied@redhat.com>
[danvet: resolved conflict, which required reallocating the PARAM
number to 21.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_gem_dmabuf.c
include/drm/i915_drm.h