<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/remoteproc, branch v5.6</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>remoteproc: qcom: q6v5-mss: Improve readability of reset_assert</title>
<updated>2020-01-24T17:34:07+00:00</updated>
<author>
<name>Sibi Sankar</name>
<email>sibis@codeaurora.org</email>
</author>
<published>2020-01-23T13:12:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=600c39b34369e2a1bf78eb67afb99ce550f271cc'/>
<id>600c39b34369e2a1bf78eb67afb99ce550f271cc</id>
<content type='text'>
Define AXI_GATING_VALID_OVERRIDE and fixup comments to improve readability
of Q6 modem reset sequence on SC7180 SoCs.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200123131236.1078-3-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Define AXI_GATING_VALID_OVERRIDE and fixup comments to improve readability
of Q6 modem reset sequence on SC7180 SoCs.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200123131236.1078-3-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: qcom: q6v5-mss: Use regmap_read_poll_timeout</title>
<updated>2020-01-24T17:34:03+00:00</updated>
<author>
<name>Sibi Sankar</name>
<email>sibis@codeaurora.org</email>
</author>
<published>2020-01-23T13:12:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=01bf3fec38e9188846f6755cd29da515f5852bc5'/>
<id>01bf3fec38e9188846f6755cd29da515f5852bc5</id>
<content type='text'>
Replace the loop for HALT_ACK detection with regmap_read_poll_timeout.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200123131236.1078-2-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace the loop for HALT_ACK detection with regmap_read_poll_timeout.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200123131236.1078-2-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: qcom: q6v5-mss: Rename boot status timeout</title>
<updated>2020-01-21T23:37:08+00:00</updated>
<author>
<name>Sibi Sankar</name>
<email>sibis@codeaurora.org</email>
</author>
<published>2020-01-17T13:51:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0c2caf75aa40b2622900ed47ff59cf342a4b5b09'/>
<id>0c2caf75aa40b2622900ed47ff59cf342a4b5b09</id>
<content type='text'>
Rename the FSM timeout on SC7180 to BOOT_STATUS_TIMEOUT_US.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200117135130.3605-4-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename the FSM timeout on SC7180 to BOOT_STATUS_TIMEOUT_US.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200117135130.3605-4-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: qcom: q6v5-mss: Improve readability across clk handling</title>
<updated>2020-01-21T23:37:01+00:00</updated>
<author>
<name>Sibi Sankar</name>
<email>sibis@codeaurora.org</email>
</author>
<published>2020-01-17T13:51:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7e0f8688798c72ba29c50abb7156c40c72954290'/>
<id>7e0f8688798c72ba29c50abb7156c40c72954290</id>
<content type='text'>
Define CLKEN and CLKOFF for improving readability of Q6SS clock
handling.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200117135130.3605-3-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Define CLKEN and CLKOFF for improving readability of Q6SS clock
handling.

Reviewed-by: Evan Green &lt;evgreen@chromium.org&gt;
Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200117135130.3605-3-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: use struct_size() helper</title>
<updated>2020-01-20T18:50:54+00:00</updated>
<author>
<name>Gustavo A. R. Silva</name>
<email>gustavo@embeddedor.com</email>
</author>
<published>2019-08-30T15:14:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c87846571587f1c2217f16104586fd33216fc9e0'/>
<id>c87846571587f1c2217f16104586fd33216fc9e0</id>
<content type='text'>
One of the more common cases of allocation size calculations is finding
the size of a structure that has a zero-sized array at the end, along
with memory for some number of elements for that array. For example:

struct fw_rsc_vdev {
	...
        struct fw_rsc_vdev_vring vring[0];
} __packed;

Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

So, replace the following form:

sizeof(*rsc) + rsc-&gt;num_of_vrings * sizeof(struct fw_rsc_vdev_vring)

with:

struct_size(rsc, vring, rsc-&gt;num_of_vrings)

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva &lt;gustavo@embeddedor.com&gt;
Link: https://lore.kernel.org/r/20190830151406.GA23274@embeddedor
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One of the more common cases of allocation size calculations is finding
the size of a structure that has a zero-sized array at the end, along
with memory for some number of elements for that array. For example:

struct fw_rsc_vdev {
	...
        struct fw_rsc_vdev_vring vring[0];
} __packed;

Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

So, replace the following form:

sizeof(*rsc) + rsc-&gt;num_of_vrings * sizeof(struct fw_rsc_vdev_vring)

with:

struct_size(rsc, vring, rsc-&gt;num_of_vrings)

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva &lt;gustavo@embeddedor.com&gt;
Link: https://lore.kernel.org/r/20190830151406.GA23274@embeddedor
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: Initialize rproc_class before use</title>
<updated>2020-01-20T18:41:34+00:00</updated>
<author>
<name>Brandon Maier</name>
<email>brandon.maier@rockwellcollins.com</email>
</author>
<published>2019-05-30T22:52:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a8f40111d184098cd2b3dc0c7170c42250a5fa09'/>
<id>a8f40111d184098cd2b3dc0c7170c42250a5fa09</id>
<content type='text'>
The remoteproc_core and remoteproc drivers all initialize with module_init().
However remoteproc drivers need the rproc_class during their probe. If one of
the remoteproc drivers runs init and gets through probe before
remoteproc_init() runs, a NULL pointer access of rproc_class's `glue_dirs`
spinlock occurs.

&gt; Unable to handle kernel NULL pointer dereference at virtual address 000000dc
&gt; pgd = c0004000
&gt; [000000dc] *pgd=00000000
&gt; Internal error: Oops: 5 [#1] PREEMPT ARM
&gt; Modules linked in:
&gt; CPU: 0 PID: 1 Comm: swapper Tainted: G        W       4.14.106-rt56 #1
&gt; Hardware name: Generic OMAP36xx (Flattened Device Tree)
&gt; task: c6050000 task.stack: c604a000
&gt; PC is at rt_spin_lock+0x40/0x6c
&gt; LR is at rt_spin_lock+0x28/0x6c
&gt; pc : [&lt;c0523c90&gt;]    lr : [&lt;c0523c78&gt;]    psr: 60000013
&gt; sp : c604bdc0  ip : 00000000  fp : 00000000
&gt; r10: 00000000  r9 : c61c7c10  r8 : c6269c20
&gt; r7 : c0905888  r6 : c6269c20  r5 : 00000000  r4 : 000000d4
&gt; r3 : 000000dc  r2 : c6050000  r1 : 00000002  r0 : 000000d4
&gt; Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
...
&gt; [&lt;c0523c90&gt;] (rt_spin_lock) from [&lt;c03b65a4&gt;] (get_device_parent+0x54/0x17c)
&gt; [&lt;c03b65a4&gt;] (get_device_parent) from [&lt;c03b6bec&gt;] (device_add+0xe0/0x5b4)
&gt; [&lt;c03b6bec&gt;] (device_add) from [&lt;c042adf4&gt;] (rproc_add+0x18/0xd8)
&gt; [&lt;c042adf4&gt;] (rproc_add) from [&lt;c01110e4&gt;] (my_rproc_probe+0x158/0x204)
&gt; [&lt;c01110e4&gt;] (my_rproc_probe) from [&lt;c03bb6b8&gt;] (platform_drv_probe+0x34/0x70)
&gt; [&lt;c03bb6b8&gt;] (platform_drv_probe) from [&lt;c03b9dd4&gt;] (driver_probe_device+0x2c8/0x420)
&gt; [&lt;c03b9dd4&gt;] (driver_probe_device) from [&lt;c03ba02c&gt;] (__driver_attach+0x100/0x11c)
&gt; [&lt;c03ba02c&gt;] (__driver_attach) from [&lt;c03b7d08&gt;] (bus_for_each_dev+0x7c/0xc0)
&gt; [&lt;c03b7d08&gt;] (bus_for_each_dev) from [&lt;c03b910c&gt;] (bus_add_driver+0x1cc/0x264)
&gt; [&lt;c03b910c&gt;] (bus_add_driver) from [&lt;c03ba714&gt;] (driver_register+0x78/0xf8)
&gt; [&lt;c03ba714&gt;] (driver_register) from [&lt;c010181c&gt;] (do_one_initcall+0x100/0x190)
&gt; [&lt;c010181c&gt;] (do_one_initcall) from [&lt;c0800de8&gt;] (kernel_init_freeable+0x130/0x1d0)
&gt; [&lt;c0800de8&gt;] (kernel_init_freeable) from [&lt;c051eee8&gt;] (kernel_init+0x8/0x114)
&gt; [&lt;c051eee8&gt;] (kernel_init) from [&lt;c01175b0&gt;] (ret_from_fork+0x14/0x24)
&gt; Code: e2843008 e3c2203f f5d3f000 e5922010 (e193cf9f)
&gt; ---[ end trace 0000000000000002 ]---

Signed-off-by: Brandon Maier &lt;brandon.maier@rockwellcollins.com&gt;
Link: https://lore.kernel.org/r/20190530225223.136420-1-brandon.maier@rockwellcollins.com
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The remoteproc_core and remoteproc drivers all initialize with module_init().
However remoteproc drivers need the rproc_class during their probe. If one of
the remoteproc drivers runs init and gets through probe before
remoteproc_init() runs, a NULL pointer access of rproc_class's `glue_dirs`
spinlock occurs.

&gt; Unable to handle kernel NULL pointer dereference at virtual address 000000dc
&gt; pgd = c0004000
&gt; [000000dc] *pgd=00000000
&gt; Internal error: Oops: 5 [#1] PREEMPT ARM
&gt; Modules linked in:
&gt; CPU: 0 PID: 1 Comm: swapper Tainted: G        W       4.14.106-rt56 #1
&gt; Hardware name: Generic OMAP36xx (Flattened Device Tree)
&gt; task: c6050000 task.stack: c604a000
&gt; PC is at rt_spin_lock+0x40/0x6c
&gt; LR is at rt_spin_lock+0x28/0x6c
&gt; pc : [&lt;c0523c90&gt;]    lr : [&lt;c0523c78&gt;]    psr: 60000013
&gt; sp : c604bdc0  ip : 00000000  fp : 00000000
&gt; r10: 00000000  r9 : c61c7c10  r8 : c6269c20
&gt; r7 : c0905888  r6 : c6269c20  r5 : 00000000  r4 : 000000d4
&gt; r3 : 000000dc  r2 : c6050000  r1 : 00000002  r0 : 000000d4
&gt; Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
...
&gt; [&lt;c0523c90&gt;] (rt_spin_lock) from [&lt;c03b65a4&gt;] (get_device_parent+0x54/0x17c)
&gt; [&lt;c03b65a4&gt;] (get_device_parent) from [&lt;c03b6bec&gt;] (device_add+0xe0/0x5b4)
&gt; [&lt;c03b6bec&gt;] (device_add) from [&lt;c042adf4&gt;] (rproc_add+0x18/0xd8)
&gt; [&lt;c042adf4&gt;] (rproc_add) from [&lt;c01110e4&gt;] (my_rproc_probe+0x158/0x204)
&gt; [&lt;c01110e4&gt;] (my_rproc_probe) from [&lt;c03bb6b8&gt;] (platform_drv_probe+0x34/0x70)
&gt; [&lt;c03bb6b8&gt;] (platform_drv_probe) from [&lt;c03b9dd4&gt;] (driver_probe_device+0x2c8/0x420)
&gt; [&lt;c03b9dd4&gt;] (driver_probe_device) from [&lt;c03ba02c&gt;] (__driver_attach+0x100/0x11c)
&gt; [&lt;c03ba02c&gt;] (__driver_attach) from [&lt;c03b7d08&gt;] (bus_for_each_dev+0x7c/0xc0)
&gt; [&lt;c03b7d08&gt;] (bus_for_each_dev) from [&lt;c03b910c&gt;] (bus_add_driver+0x1cc/0x264)
&gt; [&lt;c03b910c&gt;] (bus_add_driver) from [&lt;c03ba714&gt;] (driver_register+0x78/0xf8)
&gt; [&lt;c03ba714&gt;] (driver_register) from [&lt;c010181c&gt;] (do_one_initcall+0x100/0x190)
&gt; [&lt;c010181c&gt;] (do_one_initcall) from [&lt;c0800de8&gt;] (kernel_init_freeable+0x130/0x1d0)
&gt; [&lt;c0800de8&gt;] (kernel_init_freeable) from [&lt;c051eee8&gt;] (kernel_init+0x8/0x114)
&gt; [&lt;c051eee8&gt;] (kernel_init) from [&lt;c01175b0&gt;] (ret_from_fork+0x14/0x24)
&gt; Code: e2843008 e3c2203f f5d3f000 e5922010 (e193cf9f)
&gt; ---[ end trace 0000000000000002 ]---

Signed-off-by: Brandon Maier &lt;brandon.maier@rockwellcollins.com&gt;
Link: https://lore.kernel.org/r/20190530225223.136420-1-brandon.maier@rockwellcollins.com
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpmsg: add rpmsg support for mt8183 SCP.</title>
<updated>2020-01-20T18:29:56+00:00</updated>
<author>
<name>Pi-Hsun Shih</name>
<email>pihsun@chromium.org</email>
</author>
<published>2019-11-12T11:03:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7017996951fde84698ddfe7fd47f92bd9d9eb85d'/>
<id>7017996951fde84698ddfe7fd47f92bd9d9eb85d</id>
<content type='text'>
Add a simple rpmsg support for mt8183 SCP, that use IPI / IPC directly.

Signed-off-by: Pi-Hsun Shih &lt;pihsun@chromium.org&gt;
Link: https://lore.kernel.org/r/20191112110330.179649-4-pihsun@chromium.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a simple rpmsg support for mt8183 SCP, that use IPI / IPC directly.

Signed-off-by: Pi-Hsun Shih &lt;pihsun@chromium.org&gt;
Link: https://lore.kernel.org/r/20191112110330.179649-4-pihsun@chromium.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc/mediatek: add SCP support for mt8183</title>
<updated>2020-01-20T18:29:54+00:00</updated>
<author>
<name>Erin Lo</name>
<email>erin.lo@mediatek.com</email>
</author>
<published>2019-11-12T11:03:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=63c13d61eafe4606f1c16c54da40c4eee78e9edf'/>
<id>63c13d61eafe4606f1c16c54da40c4eee78e9edf</id>
<content type='text'>
Provide a basic driver to control Cortex M4 co-processor

Signed-off-by: Erin Lo &lt;erin.lo@mediatek.com&gt;
Signed-off-by: Nicolas Boichat &lt;drinkcat@chromium.org&gt;
Signed-off-by: Pi-Hsun Shih &lt;pihsun@chromium.org&gt;
Link: https://lore.kernel.org/r/20191112110330.179649-3-pihsun@chromium.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide a basic driver to control Cortex M4 co-processor

Signed-off-by: Erin Lo &lt;erin.lo@mediatek.com&gt;
Signed-off-by: Nicolas Boichat &lt;drinkcat@chromium.org&gt;
Signed-off-by: Pi-Hsun Shih &lt;pihsun@chromium.org&gt;
Link: https://lore.kernel.org/r/20191112110330.179649-3-pihsun@chromium.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: mss: q6v5-mss: Add modem support on SC7180</title>
<updated>2019-12-20T18:47:12+00:00</updated>
<author>
<name>Sibi Sankar</name>
<email>sibis@codeaurora.org</email>
</author>
<published>2019-12-19T05:45:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6439b5276b9fda037698ad2e26ad18c9528154b4'/>
<id>6439b5276b9fda037698ad2e26ad18c9528154b4</id>
<content type='text'>
Add the out of reset sequence support for modem sub-system on SC7180
SoCs. It requires access to an additional halt nav register to put
the modem back into reset.

Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20191219054506.20565-3-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the out of reset sequence support for modem sub-system on SC7180
SoCs. It requires access to an additional halt nav register to put
the modem back into reset.

Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20191219054506.20565-3-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support</title>
<updated>2019-12-20T17:58:53+00:00</updated>
<author>
<name>Sibi Sankar</name>
<email>sibis@codeaurora.org</email>
</author>
<published>2019-12-18T13:22:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7c77e31733f3dbf88904be3b5e974effae32355f'/>
<id>7c77e31733f3dbf88904be3b5e974effae32355f</id>
<content type='text'>
Add support for booting the Audio and Sensor DSPs found in
Qualcomm's MSM8998 SoCs.

Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20191218132217.28141-4-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for booting the Audio and Sensor DSPs found in
Qualcomm's MSM8998 SoCs.

Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20191218132217.28141-4-sibis@codeaurora.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
