diff --git a/Documentation/DocBook/media/v4l/func-poll.xml b/Documentation/DocBook/media/v4l/func-poll.xml
index bd07104a35e9..4c73f115219b 100644
--- a/Documentation/DocBook/media/v4l/func-poll.xml
+++ b/Documentation/DocBook/media/v4l/func-poll.xml
@@ -29,9 +29,12 @@ can suspend execution until the driver has captured data or is ready
to accept data for output.
When streaming I/O has been negotiated this function waits
-until a buffer has been filled or displayed and can be dequeued with
-the &VIDIOC-DQBUF; ioctl. When buffers are already in the outgoing
-queue of the driver the function returns immediately.
+until a buffer has been filled by the capture device and can be dequeued
+with the &VIDIOC-DQBUF; ioctl. For output devices this function waits
+until the device is ready to accept a new buffer to be queued up with
+the &VIDIOC-QBUF; ioctl for display. When buffers are already in the outgoing
+queue of the driver (capture) or the incoming queue isn't full (display)
+the function returns immediately.
On success poll() returns the number of
file descriptors that have been selected (that is, file descriptors
@@ -57,6 +60,10 @@ as well, but it sets the POLLOUT and
POLLWRNORM flags in the revents
field.
+ If an event occurred (see &VIDIOC-DQEVENT;) then
+POLLPRI will be set in the revents
+field and poll() will return.
+
When use of the read() function has
been negotiated and the driver does not capture yet, the
poll function starts capturing. When that fails
@@ -66,10 +73,18 @@ continuously (as opposed to, for example, still images) the function
may return immediately.
When use of the write() function has
-been negotiated the poll function just waits
+been negotiated and the driver does not stream yet, the
+poll function starts streaming. When that fails
+it returns a POLLERR as above. Otherwise it waits
until the driver is ready for a non-blocking
write() call.
+ If the caller is only interested in events (just
+POLLPRI is set in the events
+field), then poll() will not
+start streaming if the driver does not stream yet. This makes it
+possible to just poll for events and not for buffers.
+
All drivers implementing the read() or
write() function or streaming I/O must also
support the poll() function.