<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/input/mt.h, branch v6.6.132</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.132</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.132'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2020-05-12T20:18:26+00:00</updated>
<entry>
<title>Input: introduce input_mt_report_slot_inactive()</title>
<updated>2020-05-12T20:18:26+00:00</updated>
<author>
<name>Jiada Wang</name>
<email>jiada_wang@mentor.com</email>
</author>
<published>2020-05-11T20:12:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5fc70e350edd30fb22d2f9b4e6d680c5471890ff'/>
<id>urn:sha1:5fc70e350edd30fb22d2f9b4e6d680c5471890ff</id>
<content type='text'>
input_mt_report_slot_state() ignores "tool" argument when the slot is
closed, which has caused a bit of confusion. Let's introduce
input_mt_report_slot_inactive() to report inactive slot state.

Suggested-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Jiada Wang &lt;jiada_wang@mentor.com&gt;
Link: https://lore.kernel.org/r/20200508055656.96389-2-jiada_wang@mentor.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500</title>
<updated>2019-06-19T15:09:55+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-06-04T08:11:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d2912cb15bdda8ba4a5dd73396ad62641af2f520'/>
<id>urn:sha1:d2912cb15bdda8ba4a5dd73396ad62641af2f520</id>
<content type='text'>
Based on 2 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation #

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 4122 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Enrico Weigelt &lt;info@metux.net&gt;
Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Input: make input_report_slot_state() return boolean</title>
<updated>2018-06-11T17:21:06+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2018-06-05T17:08:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bf6247a70f2b7569180304041b63b59ab14217bc'/>
<id>urn:sha1:bf6247a70f2b7569180304041b63b59ab14217bc</id>
<content type='text'>
Let's make input_report_slot_state() return boolean representing whether
the contact is active or not. This will allow writing code like:

	if (input_mt_report_slot_state(input, obj-&gt;mt_tool,
					obj-&gt;type != RMI_2D_OBJECT_NONE) {

		input_event(sensor-&gt;input, EV_ABS, ABS_MT_POSITION_X, obj-&gt;x);
		input_event(sensor-&gt;input, EV_ABS, ABS_MT_POSITION_Y, obj-&gt;y);
		...
	}

instead of:

	input_mt_report_slot_state(input, obj-&gt;mt_tool,
				   obj-&gt;type != RMI_2D_OBJECT_NONE);
	if (obj-&gt;type != RMI_2D_OBJECT_NONE) {
		input_event(sensor-&gt;input, EV_ABS, ABS_MT_POSITION_X, obj-&gt;x);
		input_event(sensor-&gt;input, EV_ABS, ABS_MT_POSITION_Y, obj-&gt;y);
		...
	}

Reviewed-by: Henrik Rydberg &lt;rydberg@bitmath.org&gt;
Acked-by: Benjamin Tissoires &lt;benjamin.tissoires@redaht.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: MT - add support for balanced slot assignment</title>
<updated>2015-02-01T19:50:35+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@bitmath.org</email>
</author>
<published>2015-02-01T19:25:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=448c7f3830ca283e485aa943279acea6bde8b270'/>
<id>urn:sha1:448c7f3830ca283e485aa943279acea6bde8b270</id>
<content type='text'>
Some devices are not fast enough to differentiate between a fast-moving
contact and a new contact. This problem cannot be fully resolved because
information is truly missing, but it is possible to safe-guard against
obvious mistakes by restricting movement with a maximum displacement.

The new problem formulation for dmax &gt; 0 cannot benefit from the speedup
for positive definite matrices, but since the convergence is faster, the
result is about the same. For a handful of contacts, the latency difference
is truly negligible.

Suggested-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Tested-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Henrik Rydberg &lt;rydberg@bitmath.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: MT - make slot cleanup callable outside mt_sync_frame()</title>
<updated>2014-08-08T06:37:07+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2014-07-26T00:16:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f8ec894945e7d205ce62be59e55e72c4304e4739'/>
<id>urn:sha1:f8ec894945e7d205ce62be59e55e72c4304e4739</id>
<content type='text'>
Some semi-mt drivers use the slots in a manual way, but may still
want to call parts of the frame synchronization logic. This patch
makes input_mt_drop_unused callable from those drivers.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Reviewed-by: Benson Leung &lt;bleung@chromium.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: MT - handle semi-mt devices in core</title>
<updated>2013-04-08T04:02:32+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2013-04-08T03:52:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a0ef6a348a47bdb3896c468608f9cd19c1c26949'/>
<id>urn:sha1:a0ef6a348a47bdb3896c468608f9cd19c1c26949</id>
<content type='text'>
Most semi-mt drivers use the slots in a manual way, but really only
need to treat the finger count manually. With this patch, a semi-mt
driver may use the input-mt core for everything else.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: mt: add input_mt_is_used</title>
<updated>2012-11-15T09:16:56+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@gmail.com</email>
</author>
<published>2012-11-14T15:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=29807d1e24b7cd696442d2f600057230f084b3c7'/>
<id>urn:sha1:29807d1e24b7cd696442d2f600057230f084b3c7</id>
<content type='text'>
This patch extracts the test (slot-&gt;frame == mt-&gt;frame) so that it can
be used in third party drivers.

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@gmail.com&gt;
Reviewed-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>Input: MT - Get slot by key</title>
<updated>2012-09-19T17:50:19+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2012-09-01T07:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=17a465a7f2d6ce31738a3a76591afeab165f185a'/>
<id>urn:sha1:17a465a7f2d6ce31738a3a76591afeab165f185a</id>
<content type='text'>
Some devices use an internal key for tracking which cannot be directly
mapped to slots. This patch provides a key-to-slot mapping, which can
be used by drivers of such devices.

Reviewed-and-tested-by: Benjamin Tissoires &lt;benjamin.tissoires@enac.fr&gt;
Acked-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
</content>
</entry>
<entry>
<title>Input: MT - Add in-kernel tracking</title>
<updated>2012-09-19T17:50:19+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2012-08-12T18:47:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7c1a87897c75139dec258eb03e1a24fb73385b73'/>
<id>urn:sha1:7c1a87897c75139dec258eb03e1a24fb73385b73</id>
<content type='text'>
With the INPUT_MT_TRACK flag set, the function input_mt_assign_slots()
can be used to match a new set of contacts against the currently used
slots. The algorithm used is based on Lagrange relaxation, and performs
very well in practice; slower than mtdev for a few corner cases, but
faster in most commonly occuring cases.

Tested-by: Benjamin Tissoires &lt;benjamin.tissoires@enac.fr&gt;
Acked-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
</content>
</entry>
<entry>
<title>Input: MT - Handle frame synchronization in core</title>
<updated>2012-09-19T17:50:19+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2012-08-22T18:43:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=55e49089f4589908eb688742d2d7eff33b74ac78'/>
<id>urn:sha1:55e49089f4589908eb688742d2d7eff33b74ac78</id>
<content type='text'>
Most MT drivers perform the same actions on frame synchronization.
Some actions, like dropping unseen contacts, are also unnecessarily
complex. Collect common frame synchronization tasks in a new function,
input_mt_sync_frame(). Depending on the flags set, it drops unseen
contacts and performs pointer emulation.

With init flags and frame synchronization in place, most MT drivers
can be simplified. First out are the bcm5974 and hid-multitouch
drivers, following this patch.

Reviewed-and-tested-by: Benjamin Tissoires &lt;benjamin.tissoires@enac.fr&gt;
Tested-by: Ping Cheng &lt;pingc@wacom.com&gt;
Acked-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
</content>
</entry>
</feed>
