<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/input/touchscreen/sur40.c, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-12-18T15:53:31Z</updated>
<entry>
<title>[media] media: videobuf2: Move timestamp to vb2_buffer</title>
<updated>2015-12-18T15:53:31Z</updated>
<author>
<name>Junghak Sung</name>
<email>jh1009.sung@samsung.com</email>
</author>
<published>2015-11-03T10:16:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d6dd645eae76eeb42cb47d9da69cd3f56b3f2cb6'/>
<id>urn:sha1:d6dd645eae76eeb42cb47d9da69cd3f56b3f2cb6</id>
<content type='text'>
Move timestamp from struct vb2_v4l2_buffer to struct vb2_buffer
for common use, and change its type to u64 in order to handling
y2038 problem. This patch also includes all device drivers' changes related to
this restructuring.

Signed-off-by: Junghak Sung &lt;jh1009.sung@samsung.com&gt;
Signed-off-by: Geunyoung Kim &lt;nenggun.kim@samsung.com&gt;
Acked-by: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Acked-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Hans Verkuil &lt;hansverk@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] vb2: drop v4l2_format argument from queue_setup</title>
<updated>2015-12-18T15:48:19Z</updated>
<author>
<name>Hans Verkuil</name>
<email>hans.verkuil@cisco.com</email>
</author>
<published>2015-10-28T02:50:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=df9ecb0cad14b952a2865f8b3af86b2bbadfab45'/>
<id>urn:sha1:df9ecb0cad14b952a2865f8b3af86b2bbadfab45</id>
<content type='text'>
The queue_setup callback has a void pointer that is just for V4L2
and is the pointer to the v4l2_format struct that was passed to
VIDIOC_CREATE_BUFS. The idea was that drivers would use the information
from that struct to buffers suitable for the requested format.

After the vb2 split series this pointer is now a void pointer,
which is ugly, and the reality is that all existing drivers will
effectively just look at the sizeimage field of v4l2_format.

To make this more generic the queue_setup callback is changed:
the void pointer is dropped, instead if the *num_planes argument
is 0, then use the current format size, if it is non-zero, then
it contains the number of requested planes and the sizes array
contains the requested sizes. If either is unsupported, then return
-EINVAL, otherwise use the requested size(s).

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: videobuf2: Change queue_setup argument</title>
<updated>2015-10-20T16:48:39Z</updated>
<author>
<name>Junghak Sung</name>
<email>jh1009.sung@samsung.com</email>
</author>
<published>2015-10-06T09:37:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=33119e80c3b96ac81912677a6e86dc1890a5859f'/>
<id>urn:sha1:33119e80c3b96ac81912677a6e86dc1890a5859f</id>
<content type='text'>
Replace struct v4l2_format * with void * to make queue_setup()
for common use.
And then, modify all device drivers related with this change.

Signed-off-by: Junghak Sung &lt;jh1009.sung@samsung.com&gt;
Signed-off-by: Geunyoung Kim &lt;nenggun.kim@samsung.com&gt;
Acked-by: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Acked-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
[hans.verkuil@cisco.com: fix missing const in fimc-lite.c]

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: videobuf2: Restructure vb2_buffer</title>
<updated>2015-10-01T12:04:43Z</updated>
<author>
<name>Junghak Sung</name>
<email>jh1009.sung@samsung.com</email>
</author>
<published>2015-09-22T13:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2d7007153f0c9b1dd00c01894df7d26ddc32b79f'/>
<id>urn:sha1:2d7007153f0c9b1dd00c01894df7d26ddc32b79f</id>
<content type='text'>
Remove v4l2 stuff - v4l2_buf, v4l2_plane - from struct vb2_buffer.

Add new member variables - bytesused, length, offset, userptr, fd,
data_offset - to struct vb2_plane in order to cover all information
of v4l2_plane.
struct vb2_plane {
        &lt;snip&gt;
        unsigned int            bytesused;
        unsigned int            length;
        union {
                unsigned int    offset;
                unsigned long   userptr;
                int             fd;
        } m;
        unsigned int            data_offset;
}

Replace v4l2_buf with new member variables - index, type, memory - which
are common fields for buffer management.
struct vb2_buffer {
        &lt;snip&gt;
        unsigned int            index;
        unsigned int            type;
        unsigned int            memory;
        unsigned int            num_planes;
        struct vb2_plane        planes[VIDEO_MAX_PLANES];
        &lt;snip&gt;
};

v4l2 specific fields - flags, field, timestamp, timecode,
sequence - are moved to vb2_v4l2_buffer in videobuf2-v4l2.c
struct vb2_v4l2_buffer {
        struct vb2_buffer       vb2_buf;

        __u32                   flags;
        __u32                   field;
        struct timeval          timestamp;
        struct v4l2_timecode    timecode;
        __u32                   sequence;
};

Signed-off-by: Junghak Sung &lt;jh1009.sung@samsung.com&gt;
Signed-off-by: Geunyoung Kim &lt;nenggun.kim@samsung.com&gt;
Acked-by: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Acked-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>Input: sur40 - fix error return code</title>
<updated>2015-08-24T17:55:24Z</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@lip6.fr</email>
</author>
<published>2015-08-24T17:51:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ff89de6ba1d41ad4dea2c59531c5b4038ae43e8c'/>
<id>urn:sha1:ff89de6ba1d41ad4dea2c59531c5b4038ae43e8c</id>
<content type='text'>
Propagate error code on failure, or upper layers will be confused by
returned 0 (success) code.

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>[media] return BUF_STATE_ERROR if streaming stopped during acquisition</title>
<updated>2015-05-30T14:45:00Z</updated>
<author>
<name>Florian Echtler</name>
<email>floe@butterbrot.org</email>
</author>
<published>2015-05-25T12:04:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2b7eea83a4e694018ddc155078bc36bf702ea466'/>
<id>urn:sha1:2b7eea83a4e694018ddc155078bc36bf702ea466</id>
<content type='text'>
When stop_streaming is called while a frame is currently being retrieved, the
buffer being filled will still be returned with BUF_STATE_DONE. By resetting
the sequence number and checking before returning the buffer, it can now
correctly be returned with BUF_STATE_ERROR.

Signed-off-by: Martin Kaltenbrunner &lt;modin@yuri.at&gt;
Signed-off-by: Florian Echtler &lt;floe@butterbrot.org&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] add extra debug output, remove noisy warning</title>
<updated>2015-05-30T14:44:35Z</updated>
<author>
<name>Florian Echtler</name>
<email>floe@butterbrot.org</email>
</author>
<published>2015-05-25T12:04:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0cfdfcc1db13c7b6b6f930ac0528d5b010f45220'/>
<id>urn:sha1:0cfdfcc1db13c7b6b6f930ac0528d5b010f45220</id>
<content type='text'>
Add dev_dbg statements for easier future debugging; also change the warning
about packet ID mismatches to debug output to avoid flooding the logs. This
warning is only important in a very specific/rare use case when trying to
correlate input events with video data.

Signed-off-by: Martin Kaltenbrunner &lt;modin@yuri.at&gt;
Signed-off-by: Florian Echtler &lt;floe@butterbrot.org&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] add frame size/frame rate query functions</title>
<updated>2015-05-30T14:44:10Z</updated>
<author>
<name>Florian Echtler</name>
<email>floe@butterbrot.org</email>
</author>
<published>2015-05-25T12:04:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=da6e4674b0917d3a76ebb7938e6e2fa9532ce76f'/>
<id>urn:sha1:da6e4674b0917d3a76ebb7938e6e2fa9532ce76f</id>
<content type='text'>
Add missing functions to query the single fixed frame size (960x540) and
supported frame rates. Technically, the SUR40 supports any arbitrary frame
rate up to 60 FPS, as it is polled and not interrupt-driven. For now, we
just report 30 and 60 FPS, which is sufficient to make most V4L2 tools work.

Signed-off-by: Martin Kaltenbrunner &lt;modin@yuri.at&gt;
Signed-off-by: Florian Echtler &lt;floe@butterbrot.org&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] reduce poll interval to allow full 60 FPS framerate</title>
<updated>2015-05-30T14:43:09Z</updated>
<author>
<name>Florian Echtler</name>
<email>floe@butterbrot.org</email>
</author>
<published>2015-05-25T12:04:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ca27ab31597c9e3c75f0dd46d85087c0627d748c'/>
<id>urn:sha1:ca27ab31597c9e3c75f0dd46d85087c0627d748c</id>
<content type='text'>
The SUR40 hardware can deliver images at up to 60 FPS; at full USB2 bandwidth,
one raw frame will take about 11 ms to transmit. If the poll interval is above
5 ms, fully handling one frame will take longer than 16 ms and the overall
frame rate will drop below 60 FPS. To get the full frame rate without blocking
all the time and still allowing for a bit of timing jitter, we reduce the poll
interval to 4 ms.

Signed-off-by: Martin Kaltenbrunner &lt;modin@yuri.at&gt;
Signed-off-by: Florian Echtler &lt;floe@butterbrot.org&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] sur40: fix occasional hard freeze due to buffer queue underrun</title>
<updated>2015-04-08T09:28:56Z</updated>
<author>
<name>Florian Echtler</name>
<email>floe@butterbrot.org</email>
</author>
<published>2015-03-31T09:43:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c2529908a1905cd8b76bed0a6039975226cb24eb'/>
<id>urn:sha1:c2529908a1905cd8b76bed0a6039975226cb24eb</id>
<content type='text'>
This patch fixes a kernel panic which occurs when buf_list is empty. This can
happen occasionally when user space is under heavy load (e.g. due to image
processing on the CPU) and new buffers aren't re-queued fast enough. In that
case, vb2_start_streaming_called can return true, but when the spinlock
is taken and sur40_poll attempts to fetch the next buffer from buf_list, the
list is in fact empty.

This patch needs to be applied on top of the queued one adding V4L2 support
to the sur40 driver.

Signed-off-by: Florian Echtler &lt;floe@butterbrot.org&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
</feed>
