<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/include/linux/remoteproc.h, branch v4.13.16</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=v4.13.16</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=v4.13.16'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2017-01-30T22:18:54+00:00</updated>
<entry>
<title>remoteproc: Drop firmware_loading_complete</title>
<updated>2017-01-30T22:18:54+00:00</updated>
<author>
<name>Sarangdhar Joshi</name>
<email>spjoshi@codeaurora.org</email>
</author>
<published>2017-01-24T01:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=2099c77d4af7d1582db6d4437014cf18fe62e74b'/>
<id>urn:sha1:2099c77d4af7d1582db6d4437014cf18fe62e74b</id>
<content type='text'>
firmware_loading_complete is used to synchronize operations
on rproc while asynchronous firmware loading is in progress.
However, rproc_boot() no longer waits on
firmware_loading_complete. Hence drop this completion
variable altogether and handle the race between rproc_del()
and rproc_boot() using new state RPROC_DELETED.

The request_firmware_nowait() will hold the reference to
rproc device by using a get_device()/put_device(), so the
rproc struct will remain valid even when we return from
rproc_del() before the asynchronous call to
rproc_fw_config_virtio() completes.

CC: Loic Pallardy &lt;loic.pallardy@st.com&gt;
CC: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Signed-off-by: Sarangdhar Joshi &lt;spjoshi@codeaurora.org&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Add RPROC_DELETED state</title>
<updated>2017-01-30T22:18:52+00:00</updated>
<author>
<name>Sarangdhar Joshi</name>
<email>spjoshi@codeaurora.org</email>
</author>
<published>2017-01-24T01:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=608d792192d7136d354bc1b44585c441164dc54e'/>
<id>urn:sha1:608d792192d7136d354bc1b44585c441164dc54e</id>
<content type='text'>
Add new state RPROC_DELETED to handle synchronization
between rproc_del() and other operations on rproc. This
state represents the rproc device that has been "deleted".

CC: Loic Pallardy &lt;loic.pallardy@st.com&gt;
CC: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Signed-off-by: Sarangdhar Joshi &lt;spjoshi@codeaurora.org&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>Revert "remoteproc: Merge table_ptr and cached_table pointers"</title>
<updated>2016-12-30T11:26:31+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2016-12-30T11:21:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=a0c10687ec9506b5e14fe3dd47832a77f2f2500c'/>
<id>urn:sha1:a0c10687ec9506b5e14fe3dd47832a77f2f2500c</id>
<content type='text'>
Following any fw_rsc_vdev entries in the resource table are two variable
length arrays, the first one reference vring resources and the second
one is the virtio config space.  The virtio config space is used by
virtio to communicate status and configuration changes and must as such
be shared with the remote.

The reverted commit incorrectly made any changes to the virtio config
space only affect the local copy, in an attempt to allowing memory
protection of the shared resource table.

This reverts commit cda8529346935fc86f476999ac4fbfe4e17abf11.
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Merge table_ptr and cached_table pointers</title>
<updated>2016-11-15T05:52:18+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2016-10-20T02:40:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=cda8529346935fc86f476999ac4fbfe4e17abf11'/>
<id>urn:sha1:cda8529346935fc86f476999ac4fbfe4e17abf11</id>
<content type='text'>
As all vdev resources are allocated before we boot the remote processor
we no longer need to support modifying the resource table while the
remote is running.

This saves us from the table_ptr dance, but more importantly allow the
remote processor to enable security lock down of the loaded table memory
region.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Decouple vdev resources and devices</title>
<updated>2016-11-15T05:52:17+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2016-10-20T02:40:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=f5bcb35387efc994cfd88f87039d7cdb6c1a06a2'/>
<id>urn:sha1:f5bcb35387efc994cfd88f87039d7cdb6c1a06a2</id>
<content type='text'>
Represent the virtio device part of the vdev resources as remoteproc
subdevices to finalize the decoupling of the virtio resource and device
handling.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Assign kref to rproc_vdev</title>
<updated>2016-11-15T05:52:15+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2016-10-20T02:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=aab8d8022304b646fbf6eed5f6ac9bc21d54d2fd'/>
<id>urn:sha1:aab8d8022304b646fbf6eed5f6ac9bc21d54d2fd</id>
<content type='text'>
No functional change

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Introduce subdevices</title>
<updated>2016-11-10T05:17:08+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2016-10-20T02:40:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=7bdc9650f03604b06ba7434fab694e8ae8ca782d'/>
<id>urn:sha1:7bdc9650f03604b06ba7434fab694e8ae8ca782d</id>
<content type='text'>
A subdevice is an abstract entity that can be used to tie actions to the
booting and shutting down of a remote processor. The subdevice object is
expected to be embedded in concrete implementations, allowing for a
variety of use cases to be implemented.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Keep local copy of firmware name</title>
<updated>2016-10-18T22:03:35+00:00</updated>
<author>
<name>Matt Redfearn</name>
<email>matt.redfearn@imgtec.com</email>
</author>
<published>2016-10-17T15:48:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=0f57dc6ae1ff0c702450083176b657ba37c07363'/>
<id>urn:sha1:0f57dc6ae1ff0c702450083176b657ba37c07363</id>
<content type='text'>
Storage of the firmware name was inconsistent, either storing a pointer
to a name stored with unknown ownership, or a variable length tacked
onto the end of the struct proc allocated in rproc_alloc.

In preparation for allowing the firmware of an already allocated struct
rproc to be changed, instead always keep a locally maintained copy of
the firmware name.

Signed-off-by: Matt Redfearn &lt;matt.redfearn@imgtec.com&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Split driver and consumer dereferencing</title>
<updated>2016-10-03T05:50:21+00:00</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2016-10-03T00:46:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=433c0e04bc06da6d049c691a9ef238d61edb841c'/>
<id>urn:sha1:433c0e04bc06da6d049c691a9ef238d61edb841c</id>
<content type='text'>
In order to be able to lock a rproc driver implementations only when
used by a client, we must differ between the dereference operation of a
client and the implementation itself.

This patch brings no functional change.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: core: transform struct fw_rsc_vdev_vring reserved field in pa</title>
<updated>2016-09-06T18:06:40+00:00</updated>
<author>
<name>Loic PALLARDY</name>
<email>loic.pallardy@st.com</email>
</author>
<published>2016-09-06T07:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=21b6657ef4458f90d64b696105e3898257dea221'/>
<id>urn:sha1:21b6657ef4458f90d64b696105e3898257dea221</id>
<content type='text'>
In current implementation, struct fw_rsc_vdev_vring which describes
vring resource in firmware resource table owns only device address,
because it assumes that host is responsible of vring allocation and
only device address is needed by coprocessor.
But if vrings need to be fixed in system memory map for any reasons
(security, SoC charactieristics...), physical address is needed exatly
identified the memory chunck by host.

For that let's transform reserved field of struct fw_rsc_vdev_vring
to pa (physical address).

Signed-off-by: Loic Pallardy &lt;loic.pallardy@st.com&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
</feed>
