From: Tiago Vignatti <tiago.vignatti@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>,
Chris Wilson <chris@chris-wilson.co.uk>,
dri-devel@lists.freedesktop.org, daniel.thompson@linaro.org,
marcheu@google.com, daniel.vetter@ffwll.ch,
thellstrom@vmware.com, jglisse@redhat.com, reveman@google.com,
Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH v9] dma-buf: Add ioctls to allow userspace to flush
Date: Mon, 14 Mar 2016 17:21:10 -0300 [thread overview]
Message-ID: <56E71D36.1060205@intel.com> (raw)
In-Reply-To: <20160305093446.GC18536@phenom.ffwll.local>
On 03/05/2016 06:34 AM, Daniel Vetter wrote:
> On Mon, Feb 29, 2016 at 03:02:09PM +0000, Chris Wilson wrote:
>> On Mon, Feb 29, 2016 at 03:54:19PM +0100, Daniel Vetter wrote:
>>> On Thu, Feb 25, 2016 at 06:01:22PM +0000, Chris Wilson wrote:
>>>> On Thu, Feb 11, 2016 at 08:04:51PM -0200, Tiago Vignatti wrote:
>>>>> +static long dma_buf_ioctl(struct file *file,
>>>>> + unsigned int cmd, unsigned long arg)
>>>>> +{
>>>>> + struct dma_buf *dmabuf;
>>>>> + struct dma_buf_sync sync;
>>>>> + enum dma_data_direction direction;
>>>>> +
>>>>> + dmabuf = file->private_data;
>>>>> +
>>>>> + switch (cmd) {
>>>>> + case DMA_BUF_IOCTL_SYNC:
>>>>> + if (copy_from_user(&sync, (void __user *) arg, sizeof(sync)))
>>>>> + return -EFAULT;
>>>>> +
>>>>> + if (sync.flags & ~DMA_BUF_SYNC_VALID_FLAGS_MASK)
>>>>> + return -EINVAL;
>>>>> +
>>>>> + switch (sync.flags & DMA_BUF_SYNC_RW) {
>>>>> + case DMA_BUF_SYNC_READ:
>>>>> + direction = DMA_FROM_DEVICE;
>>>>> + break;
>>>>> + case DMA_BUF_SYNC_WRITE:
>>>>> + direction = DMA_TO_DEVICE;
>>>>> + break;
>>>>> + case DMA_BUF_SYNC_RW:
>>>>> + direction = DMA_BIDIRECTIONAL;
>>>>> + break;
>>>>> + default:
>>>>> + return -EINVAL;
>>>>> + }
>>>>> +
>>>>> + if (sync.flags & DMA_BUF_SYNC_END)
>>>>> + dma_buf_end_cpu_access(dmabuf, direction);
>>>>> + else
>>>>> + dma_buf_begin_cpu_access(dmabuf, direction);
>>>>
>>>> We forgot to report the error back to userspace. Might as well fixup the
>>>> callchain to propagate error from end-cpu-access as well. Found after
>>>> updating igt/gem_concurrent_blit to exercise dmabuf mmaps vs the GPU.
>>>
>>> EINTR? Do we need to make this ABI - I guess so? Tiago, do you have
>>> patches? See drmIoctl() in libdrm for what's needed on the userspace side
>>> if my guess is right.
>>
>> EINTR is the easiest, but conceivably we could also get EIO and
>> currently EAGAIN.
>>
>> I am also seeing some strange timing dependent (i.e. valgrind doesn't
>> show up anything client side and the tests then pass) failures (SIGSEGV,
>> SIGBUS) with !llc.
>
> Tiago, ping. Also probably a gap in igt coverage besides the kernel side.
> -Daniel
Hey guys! I'm back from vacation now. I'll take a look on it in the next
days and then come back to you.
Tiago
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-03-14 20:21 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 21:36 Direct userspace dma-buf mmap (v7) Tiago Vignatti
2015-12-22 21:36 ` [PATCH v7 1/5] drm: prime: Honour O_RDWR during prime-handle-to-fd Tiago Vignatti
2015-12-22 21:36 ` [PATCH v7 2/5] dma-buf: Remove range-based flush Tiago Vignatti
2015-12-22 21:36 ` [PATCH v7 3/5] dma-buf: Add ioctls to allow userspace to flush Tiago Vignatti
2016-02-09 9:26 ` David Herrmann
2016-02-09 10:20 ` Daniel Vetter
2016-02-09 10:52 ` Daniel Vetter
2016-02-11 17:54 ` Tiago Vignatti
2016-02-11 18:00 ` Alex Deucher
2016-02-11 18:08 ` David Herrmann
2016-02-11 18:08 ` Ville Syrjälä
2016-02-11 18:19 ` David Herrmann
2016-02-11 19:10 ` Ville Syrjälä
2016-02-11 22:04 ` [PATCH v9] " Tiago Vignatti
2016-02-12 14:50 ` David Herrmann
2016-02-12 15:02 ` Daniel Vetter
2016-02-25 18:01 ` Chris Wilson
2016-02-29 14:54 ` Daniel Vetter
2016-02-29 15:02 ` Chris Wilson
2016-03-05 9:34 ` Daniel Vetter
2016-03-14 20:21 ` Tiago Vignatti [this message]
2016-03-15 8:51 ` Chris Wilson
2016-03-17 18:18 ` [PATCH] prime_mmap_coherency: Add return error tests for prime sync ioctl Tiago Vignatti
2016-03-17 21:01 ` Chris Wilson
2016-03-17 21:15 ` Tiago Vignatti
2016-03-17 21:18 ` [PATCH v2] " Tiago Vignatti
2016-03-18 9:44 ` Chris Wilson
2016-03-18 9:53 ` [Intel-gfx] " Chris Wilson
2016-03-18 18:08 ` [PATCH v3] " Tiago Vignatti
2016-03-18 18:11 ` Daniel Vetter
2016-03-18 18:17 ` Tiago Vignatti
2016-03-18 20:43 ` Chris Wilson
2015-12-22 21:36 ` [PATCH v7 4/5] drm/i915: Implement end_cpu_access Tiago Vignatti
2015-12-22 21:36 ` [PATCH v7 5/5] drm/i915: Use CPU mapping for userspace dma-buf mmap() Tiago Vignatti
2015-12-22 21:36 ` [PATCH igt v7 1/6] lib: Add gem_userptr and __gem_userptr helpers Tiago Vignatti
2015-12-22 21:36 ` [PATCH igt v7 2/6] prime_mmap: Add new test for calling mmap() on dma-buf fds Tiago Vignatti
2015-12-22 21:36 ` [PATCH igt v7 3/6] prime_mmap: Add basic tests to write in a bo using CPU Tiago Vignatti
2015-12-22 21:36 ` [PATCH igt v7 4/6] lib: Add prime_sync_start and prime_sync_end helpers Tiago Vignatti
2015-12-22 21:36 ` [PATCH igt v7 5/6] tests: Add kms_mmap_write_crc for cache coherency tests Tiago Vignatti
2015-12-22 21:36 ` [PATCH igt v7 6/6] tests: Add prime_mmap_coherency " Tiago Vignatti
2016-02-04 20:55 ` Direct userspace dma-buf mmap (v7) Stéphane Marchesin
2016-02-05 13:53 ` Tiago Vignatti
2016-02-09 8:47 ` Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56E71D36.1060205@intel.com \
--to=tiago.vignatti@intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=daniel.thompson@linaro.org \
--cc=daniel.vetter@ffwll.ch \
--cc=daniel.vetter@intel.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=jglisse@redhat.com \
--cc=marcheu@google.com \
--cc=reveman@google.com \
--cc=thellstrom@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).