<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/hwspinlock, branch v4.4.93</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>drivers/hwspinlock: fix race between radix tree insertion and lookup</title>
<updated>2016-02-25T20:01:23+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@linux.intel.com</email>
</author>
<published>2016-02-03T00:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=077b6173a8c89d666a06203f42267ff8b6d02d73'/>
<id>077b6173a8c89d666a06203f42267ff8b6d02d73</id>
<content type='text'>
commit c6400ba7e13a41539342f1b6e1f9e78419cb0148 upstream.

of_hwspin_lock_get_id() is protected by the RCU lock, which means that
insertions can occur simultaneously with the lookup.  If the radix tree
transitions from a height of 0, we can see a slot with the indirect_ptr
bit set, which will cause us to at least read random memory, and could
cause other havoc.

Fix this by using the newly introduced radix_tree_iter_retry().

Signed-off-by: Matthew Wilcox &lt;willy@linux.intel.com&gt;
Cc: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Konstantin Khlebnikov &lt;khlebnikov@openvz.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c6400ba7e13a41539342f1b6e1f9e78419cb0148 upstream.

of_hwspin_lock_get_id() is protected by the RCU lock, which means that
insertions can occur simultaneously with the lookup.  If the radix tree
transitions from a height of 0, we can see a slot with the indirect_ptr
bit set, which will cause us to at least read random memory, and could
cause other havoc.

Fix this by using the newly introduced radix_tree_iter_retry().

Signed-off-by: Matthew Wilcox &lt;willy@linux.intel.com&gt;
Cc: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Konstantin Khlebnikov &lt;khlebnikov@openvz.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock: qcom: Correct msb in regmap_field</title>
<updated>2015-07-01T13:15:05+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@sonymobile.com</email>
</author>
<published>2015-06-26T21:47:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bd5717a4632cdecafe82d03de7dcb3b1876e2828'/>
<id>bd5717a4632cdecafe82d03de7dcb3b1876e2828</id>
<content type='text'>
msb of the regmap_field was mistakenly given the value 32, to set all bits
in the regmap update mask; although incorrect this worked until 921cc294,
where the mask calculation was corrected.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
msb of the regmap_field was mistakenly given the value 32, to set all bits
in the regmap update mask; although incorrect this worked until 921cc294,
where the mask calculation was corrected.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock: add a CSR atlas7 driver</title>
<updated>2015-06-12T07:44:06+00:00</updated>
<author>
<name>Wei Chen</name>
<email>wei.chen@csr.com</email>
</author>
<published>2015-05-26T08:28:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cc16d664e21ef640faaf51e9952384cf90b92d9f'/>
<id>cc16d664e21ef640faaf51e9952384cf90b92d9f</id>
<content type='text'>
Add hwspinlock support for the CSR atlas7 SoC.

The Hardware Spinlock device on atlas7 provides hardware assistance
for synchronization between the multiple processors in the system
(dual Cortex-A7, CAN bus Cortex-M3 and audio DSP).

Reviewed-by: Suman Anna &lt;s-anna@ti.com&gt;
Reviewed-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Signed-off-by: Wei Chen &lt;wei.chen@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add hwspinlock support for the CSR atlas7 SoC.

The Hardware Spinlock device on atlas7 provides hardware assistance
for synchronization between the multiple processors in the system
(dual Cortex-A7, CAN bus Cortex-M3 and audio DSP).

Reviewed-by: Suman Anna &lt;s-anna@ti.com&gt;
Reviewed-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Signed-off-by: Wei Chen &lt;wei.chen@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock: qcom: Add support for Qualcomm HW Mutex block</title>
<updated>2015-05-02T07:19:17+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@sonymobile.com</email>
</author>
<published>2015-03-24T17:11:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=19a0f61224d2d91860fa8291ab63cb104ee86bdd'/>
<id>19a0f61224d2d91860fa8291ab63cb104ee86bdd</id>
<content type='text'>
Add driver for Qualcomm Hardware Mutex block found in many Qualcomm
SoCs.

Based on initial effort by Kumar Gala &lt;galak@codeaurora.org&gt;

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Reviewed-by: Andy Gross &lt;agross@codeaurora.org&gt;
Reviewed-by: Jeffrey Hugo &lt;jhugo@codeaurora.org&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add driver for Qualcomm Hardware Mutex block found in many Qualcomm
SoCs.

Based on initial effort by Kumar Gala &lt;galak@codeaurora.org&gt;

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Reviewed-by: Andy Gross &lt;agross@codeaurora.org&gt;
Reviewed-by: Jeffrey Hugo &lt;jhugo@codeaurora.org&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock/omap: add support for dt nodes</title>
<updated>2015-05-02T07:05:10+00:00</updated>
<author>
<name>Suman Anna</name>
<email>s-anna@ti.com</email>
</author>
<published>2015-03-05T02:01:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=65bd4341d61678494ea14994d0d7df73644ca014'/>
<id>65bd4341d61678494ea14994d0d7df73644ca014</id>
<content type='text'>
HwSpinlock IP is present only on OMAP4 and other newer SoCs,
which are all device-tree boot only. This patch adds the
base support for parsing the DT nodes, and removes the code
dealing with the traditional platform device instantiation.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
[tony@atomide.com: ack for legacy file removal]
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
[comment on the imperfect always-zero base_id]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
HwSpinlock IP is present only on OMAP4 and other newer SoCs,
which are all device-tree boot only. This patch adds the
base support for parsing the DT nodes, and removes the code
dealing with the traditional platform device instantiation.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
[tony@atomide.com: ack for legacy file removal]
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
[comment on the imperfect always-zero base_id]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock/core: add device tree support</title>
<updated>2015-05-02T06:54:30+00:00</updated>
<author>
<name>Suman Anna</name>
<email>s-anna@ti.com</email>
</author>
<published>2015-03-05T02:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fb7737e949e31d8a71acee6bbb670f32dbd2a2c0'/>
<id>fb7737e949e31d8a71acee6bbb670f32dbd2a2c0</id>
<content type='text'>
This patch adds a new OF-friendly API of_hwspin_lock_get_id()
for hwspinlock clients to use/request locks from a hwspinlock
device instantiated through a device-tree blob. This new API
can be used by hwspinlock clients to get the id for a specific
lock using the phandle + args specifier, so that it can be
requested using the available hwspin_lock_request_specific()
API.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
Reviewed-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
[small comment clarification]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds a new OF-friendly API of_hwspin_lock_get_id()
for hwspinlock clients to use/request locks from a hwspinlock
device instantiated through a device-tree blob. This new API
can be used by hwspinlock clients to get the id for a specific
lock using the phandle + args specifier, so that it can be
requested using the available hwspin_lock_request_specific()
API.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
Reviewed-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
[small comment clarification]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock: drop owner assignment from platform_drivers</title>
<updated>2014-10-20T14:20:37+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa@the-dreams.de</email>
</author>
<published>2014-10-20T14:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a7629c70d0ffd5ea12e681f0dd168d03ff3b60ec'/>
<id>a7629c70d0ffd5ea12e681f0dd168d03ff3b60ec</id>
<content type='text'>
A platform_driver does not need to set an owner, it will be populated by the
driver core.

Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A platform_driver does not need to set an owner, it will be populated by the
driver core.

Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock: enable OMAP build for AM33xx, AM43xx &amp; DRA7xx</title>
<updated>2014-07-29T08:46:28+00:00</updated>
<author>
<name>Suman Anna</name>
<email>s-anna@ti.com</email>
</author>
<published>2014-07-02T23:01:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ceca89e89ee21a3af050c3ea4c634b3be0e34d51'/>
<id>ceca89e89ee21a3af050c3ea4c634b3be0e34d51</id>
<content type='text'>
HwSpinlocks are supported on TI's AM33xx, AM43xx and DRA7xx SoC
device families as well. The IPs are identical to that of
OMAP4/OMAP5, except for the number of locks.

Add a depends on to the above family of SoCs to enable the
build support for OMAP hwspinlock driver for any of the above
SoC configs.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
[small commit log changes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
HwSpinlocks are supported on TI's AM33xx, AM43xx and DRA7xx SoC
device families as well. The IPs are identical to that of
OMAP4/OMAP5, except for the number of locks.

Add a depends on to the above family of SoCs to enable the
build support for OMAP hwspinlock driver for any of the above
SoC configs.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
[small commit log changes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwspinlock/omap: enable module before reading SYSSTATUS register</title>
<updated>2014-07-29T08:46:25+00:00</updated>
<author>
<name>Suman Anna</name>
<email>s-anna@ti.com</email>
</author>
<published>2014-07-02T23:00:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e1e4528f8c99624494043597859e7f9421832833'/>
<id>e1e4528f8c99624494043597859e7f9421832833</id>
<content type='text'>
The number of hwspinlocks are determined based on the value read
from the IP block's SYSSTATUS register. However, the module may
not be enabled and clocked, and the read may result in a bus error.

This particular issue is seen rather easily on AM33XX, since the
module wakeup is software controlled, and it is disabled out of
reset. Make sure the module is enabled and clocked before reading
the SYSSTATUS register.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
[replace pm_runtime_put_sync with lenient pm_runtime_put]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The number of hwspinlocks are determined based on the value read
from the IP block's SYSSTATUS register. However, the module may
not be enabled and clocked, and the read may result in a bus error.

This particular issue is seen rather easily on AM33XX, since the
module wakeup is software controlled, and it is disabled out of
reset. Make sure the module is enabled and clocked before reading
the SYSSTATUS register.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
[replace pm_runtime_put_sync with lenient pm_runtime_put]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'hwspinlock-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock</title>
<updated>2013-05-07T21:01:27+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-05-07T21:01:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c807b17375be26d7710b248deae6d75ecb32e4ba'/>
<id>c807b17375be26d7710b248deae6d75ecb32e4ba</id>
<content type='text'>
Pullhwspinlock update from Ohad Ben-Cohen:
 "A single patch from Vincent extending OMAP's hwspinlock support to
  OMAP5"

* tag 'hwspinlock-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
  hwspinlock/omap: support OMAP5 as well
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pullhwspinlock update from Ohad Ben-Cohen:
 "A single patch from Vincent extending OMAP's hwspinlock support to
  OMAP5"

* tag 'hwspinlock-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
  hwspinlock/omap: support OMAP5 as well
</pre>
</div>
</content>
</entry>
</feed>
