<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/remoteproc.h, branch v3.10.107</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.10.107</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.10.107'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2013-04-07T11:06:17Z</updated>
<entry>
<title>remoteproc: support virtio config space.</title>
<updated>2013-04-07T11:06:17Z</updated>
<author>
<name>Sjur Brændeland</name>
<email>sjur.brandeland@stericsson.com</email>
</author>
<published>2013-02-21T17:15:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=92b38f851470f8d8ea7ed638d546f83b5268bc12'/>
<id>urn:sha1:92b38f851470f8d8ea7ed638d546f83b5268bc12</id>
<content type='text'>
Support virtio configuration space and device status. The virtio
device can now access the resource table in shared memory.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Acked-by: Ido Yariv &lt;ido@wizery.com&gt;
[rebase and style changes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: perserve resource table data</title>
<updated>2013-04-07T11:06:07Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2013-04-07T11:06:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a2b950ac7b1e6442919ee9e79c4963e134698869'/>
<id>urn:sha1:a2b950ac7b1e6442919ee9e79c4963e134698869</id>
<content type='text'>
Copy resource table from first to second firmware loading.
After firmware is loaded to memory, update the vdevs resource
pointer to the resource table kept in device memory.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Acked-by: Ido Yariv &lt;ido@wizery.com&gt;
[rebase, terminology and style changes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remtoteproc: maintain max notifyid</title>
<updated>2012-09-18T18:55:52Z</updated>
<author>
<name>Sjur Brændeland</name>
<email>sjur.brandeland@stericsson.com</email>
</author>
<published>2012-09-18T18:32:45Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=099a3f33c82b5153a4422eb92c648098b3f7c086'/>
<id>urn:sha1:099a3f33c82b5153a4422eb92c648098b3f7c086</id>
<content type='text'>
Some of the rproc drivers (STE modem specifically) needs to know
the range of the notification IDs used for notifying the device.

Maintain a variable in struct rproc holding the largest allocated
notification id, so low-level rproc drivers could access it.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
[ohad: rebase, slightly edit commit log]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: create a 'recovery' debugfs entry</title>
<updated>2012-09-18T09:53:41Z</updated>
<author>
<name>Fernando Guzman Lugo</name>
<email>fernando.lugo@ti.com</email>
</author>
<published>2012-09-18T09:26:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2e37abb89a2ef13c524b0728bb9893f996a10b6b'/>
<id>urn:sha1:2e37abb89a2ef13c524b0728bb9893f996a10b6b</id>
<content type='text'>
Add a 'recovery' debugfs entry to dynamically disable/enable recovery
at runtime. This is useful when one is trying to debug an rproc crash;
without it, a recovery will immediately take place, making it harder
to debug the crash.

Contributions from Subramaniam Chanderashekarapuram.

Examples:

- disabling recovery:
$ echo disabled &gt; &lt;debugfs&gt;/remoteproc/remoteproc0/recovery

- in case you want to recover a crash, but keep recovery disabled
  (useful in debugging sessions when you expect additional crashes
   you want to debug):
$ echo recover &gt; &lt;debugfs&gt;/remoteproc/remoteproc0/recovery

- enabling recovery:
$ echo enabled &gt; &lt;debugfs&gt;/remoteproc/remoteproc0/recovery

Signed-off-by: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
[ohad: some white space, commentary and commit log changes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: add actual recovery implementation</title>
<updated>2012-09-18T09:53:33Z</updated>
<author>
<name>Fernando Guzman Lugo</name>
<email>fernando.lugo@ti.com</email>
</author>
<published>2012-08-30T18:26:13Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=70b85ef83ce3523f709b622d2c4cb31778686338'/>
<id>urn:sha1:70b85ef83ce3523f709b622d2c4cb31778686338</id>
<content type='text'>
Add rproc_trigger_recovery() which takes care of the recovery itself,
by removing, and re-adding, all of the remoteproc's virtio devices.

This resets all virtio users of the remote processor, during which
the remote processor is powered off and on again.

Signed-off-by: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
[ohad: introduce rproc_add_virtio_devices to avoid 1.copying code 2.anomaly]
[ohad: some white space, naming and commit log changes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: add rproc_report_crash function to notify rproc crashes</title>
<updated>2012-09-18T09:53:22Z</updated>
<author>
<name>Fernando Guzman Lugo</name>
<email>fernando.lugo@ti.com</email>
</author>
<published>2012-08-30T18:26:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=8afd519c3470f685f964deebd61aa51d83cde90a'/>
<id>urn:sha1:8afd519c3470f685f964deebd61aa51d83cde90a</id>
<content type='text'>
Allow low-level remoteproc drivers to report rproc crashes by exporting
a new rproc_report_crash() function (invoking this from non-rproc drivers
is probably wrong, and should be carefully scrutinized if ever needed).

rproc_report_crash() can be called from any context; it offloads the
tasks of handling the crash to a separate thread.

Handling the crash from a separate thread is helpful because:
- Ability to call invoke rproc_report_crash() from atomic context, due to
  the fact that many crashes trigger an interrupt, so this function can be
  called directly from ISR context.
- Avoiding deadlocks which could happen if rproc_report_crash() is called
  from a function which indirectly holds the rproc lock.

Handling the crash might involve:
- Remoteproc register dump
- Remoteproc stack dump
- Remoteproc core dump
- Saving Remoteproc traces so they can be read after the crash
- Reseting the remoteproc in order to make it functional again (hard recovery)

Right now, we only print the crash type which was detected, and only the
mmufault type is supported. Remoteproc low-level drivers can add more types
when needed.

Signed-off-by: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
[ohad: some commentary, white space and commit log changes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: Support custom firmware handlers</title>
<updated>2012-07-15T08:39:01Z</updated>
<author>
<name>Sjur Brændeland</name>
<email>sjur.brandeland@stericsson.com</email>
</author>
<published>2012-06-19T07:08:18Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4afc89d66c60a372ec15e99eee93621f650b5d17'/>
<id>urn:sha1:4afc89d66c60a372ec15e99eee93621f650b5d17</id>
<content type='text'>
Firmware handling is made customizable.
This is done by creating a separate ops structure for the
firmware functions that depends on a particular firmware
format (such as ELF). The ELF functions are default used
unless the HW driver explicitly injects another firmware
handler by updating rproc-&gt;fw_ops.
The function rproc_da_to_va() is exported, as custom
firmware handlers may need to use this function.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
[ohad: namespace fixes, whitespace fixes, style fixes]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: adopt the driver core's alloc/add/del/put naming</title>
<updated>2012-07-05T21:53:27Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-07-04T13:25:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=160e7c840fe85836040c43e0058d5afced470c85'/>
<id>urn:sha1:160e7c840fe85836040c43e0058d5afced470c85</id>
<content type='text'>
To make remoteproc's API more intuitive for developers, we adopt
the driver core's naming, i.e. alloc -&gt; add -&gt; del -&gt; put. We'll also
add register/unregister when their first user shows up.

Otherwise - there's no functional change here.

Suggested by Russell King &lt;linux@arm.linux.org.uk&gt;.

Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Cc: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: remove the get_by_name/put API</title>
<updated>2012-07-05T21:53:27Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-07-02T17:20:53Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=40e575b1d0b34b38519d361c10bdf8e0c688957b'/>
<id>urn:sha1:40e575b1d0b34b38519d361c10bdf8e0c688957b</id>
<content type='text'>
Remove rproc_get_by_name() and rproc_put(), and the associated
remoteproc infrastructure that supports it (i.e. klist and friends),
because:

1. No one uses them
2. Using them is highly discouraged, and any potential user
   will be deeply scrutinized and encouraged to move.

If a user, that absolutely can't live with the direct boot/shutdown
model, does show up one day, then bringing this functionality back
is going to be trivial.

At this point though, keeping this functionality around is way too
much of a maintenance burden.

Cc: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Cc: Loic Pallardy &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Cc: Suman Anna &lt;s-anna@ti.com&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Acked-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>remoteproc: remove the now-redundant kref</title>
<updated>2012-07-05T21:53:25Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-05-30T19:02:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7183a2a799b81490354973117ecd810c23cdc668'/>
<id>urn:sha1:7183a2a799b81490354973117ecd810c23cdc668</id>
<content type='text'>
Now that every rproc instance contains a device, we don't need a
kref anymore to maintain the refcount of the rproc instances:
that's what device are good with!

This patch removes the now-redundant kref, and switches to
{get, put}_device instead of kref_{get, put}.

We also don't need the kref's release function anymore, and instead,
we just utilize the class's release handler (which is now responsible
for all memory de-allocations).

Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
</feed>
