<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/remoteproc, branch linus/master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/remoteproc?h=linus%2Fmaster</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/remoteproc?h=linus%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-05-09T15:29:25Z</updated>
<entry>
<title>remoteproc: imx_rproc: Support i.MX93</title>
<updated>2022-05-09T15:29:25Z</updated>
<author>
<name>Peng Fan</name>
<email>peng.fan@nxp.com</email>
</author>
<published>2022-04-29T00:53:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=9222fabf0e39d281de65e908b94f4331eab556a2'/>
<id>urn:sha1:9222fabf0e39d281de65e908b94f4331eab556a2</id>
<content type='text'>
i.MX93 features a Cortex-M33 core which could be kicked by ROM/Bootloader
/Linux. Similar with i.MX8MN/P, we use SMC to trap into Arm Trusted
Firmware to start/stop the M33 core.

Signed-off-by: Peng Fan &lt;peng.fan@nxp.com&gt;
Link: https://lore.kernel.org/r/20220429005346.2108279-3-peng.fan@oss.nxp.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom: pas: Add MSM8226 ADSP support</title>
<updated>2022-05-06T02:19:46Z</updated>
<author>
<name>Luca Weiss</name>
<email>luca@z3ntu.xyz</email>
</author>
<published>2022-04-23T15:50:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=fb4f07cc93995ebad7725512c0edc903c693037f'/>
<id>urn:sha1:fb4f07cc93995ebad7725512c0edc903c693037f</id>
<content type='text'>
Add a config for the ADSP present on MSM8226.

Signed-off-by: Luca Weiss &lt;luca@z3ntu.xyz&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220423155059.660387-2-luca@z3ntu.xyz
</content>
</entry>
<entry>
<title>remoteproc: mediatek: Allow reading firmware-name from DT</title>
<updated>2022-04-26T16:21:37Z</updated>
<author>
<name>Allen-KH Cheng</name>
<email>allen-kh.cheng@mediatek.com</email>
</author>
<published>2022-04-19T12:33:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=1552de67fbf0a51eab127fc15d55e9e1befdb156'/>
<id>urn:sha1:1552de67fbf0a51eab127fc15d55e9e1befdb156</id>
<content type='text'>
The SCP firmware blob differs between platforms and SoCs. We add
support in the SCP driver for reading the path of firmware file from
DT in order to allow these files to live in a generic file system
(or linux-firmware).

The firmware-name property is optional and the code falls back to the
old filename if the property isn't present.

Signed-off-by: Allen-KH Cheng &lt;allen-kh.cheng@mediatek.com&gt;
Reviewed-by: Rex-BC Chen &lt;rex-bc.chen@mediatek.com&gt;
Reviewed-by: AngeloGioacchino Del Regno &lt;angelogioacchino.delregno@collabora.com&gt;
Link: https://lore.kernel.org/r/20220419123331.14377-3-allen-kh.cheng@mediatek.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom: pas: Add sc8280xp remoteprocs</title>
<updated>2022-04-22T23:00:26Z</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2022-04-08T22:05:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=4e55a6cf48119243ca05c16bcb3bd3887a3c68b5'/>
<id>urn:sha1:4e55a6cf48119243ca05c16bcb3bd3887a3c68b5</id>
<content type='text'>
Among the subsystems in the Qualcomm sc8280xp platform we find an audio
and two compute DSPs. Add support for controlling these using the
peripheral authentication service (PAS) remoteproc driver.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Reviewed-by: Vinod Koul &lt;vkoul@kernel.org&gt;
Link: https://lore.kernel.org/r/20220408220539.625301-2-bjorn.andersson@linaro.org
</content>
</entry>
<entry>
<title>remoteproc: imx_rproc: Ignore create mem entry for resource table</title>
<updated>2022-04-18T17:10:13Z</updated>
<author>
<name>Peng Fan</name>
<email>peng.fan@nxp.com</email>
</author>
<published>2022-04-15T02:57:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=58b7c856519fe946620ee68dd0c37bd3c695484a'/>
<id>urn:sha1:58b7c856519fe946620ee68dd0c37bd3c695484a</id>
<content type='text'>
Resource table is used by Linux to get information published by
remote processor. It should be not be used for memory allocation, so
not create rproc mem entry.

Fixes: b29b4249f8f0 ("remoteproc: imx_rproc: add i.MX specific parse fw hook")
Signed-off-by: Peng Fan &lt;peng.fan@nxp.com&gt;
Link: https://lore.kernel.org/r/20220415025737.1561976-1-peng.fan@oss.nxp.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: core: Move state checking to remoteproc_core</title>
<updated>2022-04-14T17:13:33Z</updated>
<author>
<name>Shengjiu Wang</name>
<email>shengjiu.wang@nxp.com</email>
</author>
<published>2022-03-28T02:20:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=5e6a0e05270e3a4bb9289a0415d062966c27d192'/>
<id>urn:sha1:5e6a0e05270e3a4bb9289a0415d062966c27d192</id>
<content type='text'>
There is no mutex protection of these state checking for 'stop'
and 'detach' which can't guarantee there is no another instance
is trying to do same operation.

Consider two instances case:
Instance1: echo stop &gt; /sys/class/remoteproc/remoteproc0/state
Instance2: echo stop &gt; /sys/class/remoteproc/remoteproc0/state

The issue is that the instance2 case may success, Or it
may fail with -EINVAL, which is uncertain.

So move this state checking in rproc_cdev_write() and
state_store() for 'stop', 'detach' operation to
'rproc_shutdown' , 'rproc_detach' function under the mutex
protection.

Signed-off-by: Shengjiu Wang &lt;shengjiu.wang@nxp.com&gt;
Link: https://lore.kernel.org/r/1648434012-16655-3-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: core: Remove state checking before calling rproc_boot()</title>
<updated>2022-04-14T17:08:26Z</updated>
<author>
<name>Shengjiu Wang</name>
<email>shengjiu.wang@nxp.com</email>
</author>
<published>2022-03-28T02:20:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=8f454f950dbb663180f596db18c3dc7ec26497f0'/>
<id>urn:sha1:8f454f950dbb663180f596db18c3dc7ec26497f0</id>
<content type='text'>
There is no mutex protection of the state checking before rproc_boot(),
which can't guarantee there is no another instance is trying to do
same operation.

Consider two instances case:
Instance1: echo start &gt; /sys/class/remoteproc/remoteproc0/state
Instance2: echo start &gt; /sys/class/remoteproc/remoteproc0/state
...
Instance2: echo stop &gt; /sys/class/remoteproc/remoteproc0/state
...
Instance1: echo stop &gt; /sys/class/remoteproc/remoteproc0/state

The one issue is that the instance2 case may success when 'start'
happens at same time as instance1, then rproc-&gt;power = 2; Or it
may fail with -BUSY, then rproc-&gt;power = 1; which is uncertain.

The another issue is for 'stop' operation, if the rproc-&gt;power = 1,
when instance2 'stop' the remoteproc the instance1 will be
impacted for it still needs the service at that time.

The reference counter rproc-&gt;power is used to manage state
changing and there is mutex protection in each operation
function for multi instance case.

So remove this state checking in rproc_cdev_write() and
state_store() for 'start' operation, just let reference
counter rproc-&gt;power to manage the behaviors.

Signed-off-by: Shengjiu Wang &lt;shengjiu.wang@nxp.com&gt;
Link: https://lore.kernel.org/r/1648434012-16655-2-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: imx_dsp_rproc: Make rsc_table optional</title>
<updated>2022-04-13T17:59:43Z</updated>
<author>
<name>Daniel Baluta</name>
<email>daniel.baluta@nxp.com</email>
</author>
<published>2022-03-31T10:32:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=79a43db93399cfc7825a908a03320677c52ef919'/>
<id>urn:sha1:79a43db93399cfc7825a908a03320677c52ef919</id>
<content type='text'>
There are cases when we want to test a simple "hello world"
app on the DSP and we do not need a resource table.

remoteproc core allows us having an optional rsc_table.

Signed-off-by: Daniel Baluta &lt;daniel.baluta@nxp.com&gt;
Acked-by: Shengjiu Wang &lt;shengjiu.wang@gmail.com&gt;
Link: https://lore.kernel.org/r/20220331103237.340796-1-daniel.baluta@oss.nxp.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: imx_dsp_rproc: use common rproc_elf_load_segments</title>
<updated>2022-04-13T17:14:17Z</updated>
<author>
<name>Peng Fan</name>
<email>peng.fan@nxp.com</email>
</author>
<published>2022-04-13T03:30:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=c7457143668a98e5ddb0ab92d1c61d8899f7ac74'/>
<id>urn:sha1:c7457143668a98e5ddb0ab92d1c61d8899f7ac74</id>
<content type='text'>
remoteproc elf loader supports the specific case that segments
have PT_LOAD and memsz/filesz set to zero, so no duplicate
code.

Acked-by: Daniel Baluta &lt;daniel.baluta@nxp.com&gt;
Signed-off-by: Peng Fan &lt;peng.fan@nxp.com&gt;
Link: https://lore.kernel.org/r/20220413033038.1715945-3-peng.fan@oss.nxp.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: elf_loader: skip segment with memsz as zero</title>
<updated>2022-04-13T17:14:03Z</updated>
<author>
<name>Peng Fan</name>
<email>peng.fan@nxp.com</email>
</author>
<published>2022-04-13T03:30:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=f340d5a19dc76c6b29eeb23537fd7345611e9117'/>
<id>urn:sha1:f340d5a19dc76c6b29eeb23537fd7345611e9117</id>
<content type='text'>
Per elf specification,
p_filesz: This member gives the number of bytes in the file image of
the segment; it may be zero.
p_memsz: This member gives the number of bytes in the memory image
of the segment; it may be zero.

There is a case that i.MX DSP firmware has segment with PT_LOAD and
p_memsz/p_filesz set to zero. Such segment needs to be ignored,
otherwize rproc_da_to_va would report error.

Signed-off-by: Peng Fan &lt;peng.fan@nxp.com&gt;
Link: https://lore.kernel.org/r/20220413033038.1715945-2-peng.fan@oss.nxp.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
</feed>
