<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/remoteproc, branch v3.4.2</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>remoteproc: fix off-by-one bug in __rproc_free_vrings</title>
<updated>2012-05-13T20:15:42+00:00</updated>
<author>
<name>Subramaniam Chanderashekarapuram</name>
<email>subramaniam.ca@ti.com</email>
</author>
<published>2012-05-13T13:28:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6fd98c124c66b0b0001bc4217392d891b1ad4a02'/>
<id>6fd98c124c66b0b0001bc4217392d891b1ad4a02</id>
<content type='text'>
Fix a nasty off-by-one bug in __rproc_free_vrings which
resulted in a memory leak and (for some platforms) failures
to reload the remote processor.

Signed-off-by: Subramaniam Chanderashekarapuram &lt;subramaniam.ca@ti.com&gt;
[ohad@wizery.com: reword commit log, stick with the for loop]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a nasty off-by-one bug in __rproc_free_vrings which
resulted in a memory leak and (for some platforms) failures
to reload the remote processor.

Signed-off-by: Subramaniam Chanderashekarapuram &lt;subramaniam.ca@ti.com&gt;
[ohad@wizery.com: reword commit log, stick with the for loop]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>simple_open: automatically convert to simple_open()</title>
<updated>2012-04-05T22:25:50+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2012-04-05T21:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=234e340582901211f40d8c732afc49f0630ecf05'/>
<id>234e340582901211f40d8c732afc49f0630ecf05</id>
<content type='text'>
Many users of debugfs copy the implementation of default_open() when
they want to support a custom read/write function op.  This leads to a
proliferation of the default_open() implementation across the entire
tree.

Now that the common implementation has been consolidated into libfs we
can replace all the users of this function with simple_open().

This replacement was done with the following semantic patch:

&lt;smpl&gt;
@ open @
identifier open_f != simple_open;
identifier i, f;
@@
-int open_f(struct inode *i, struct file *f)
-{
(
-if (i-&gt;i_private)
-f-&gt;private_data = i-&gt;i_private;
|
-f-&gt;private_data = i-&gt;i_private;
)
-return 0;
-}

@ has_open depends on open @
identifier fops;
identifier open.open_f;
@@
struct file_operations fops = {
...
-.open = open_f,
+.open = simple_open,
...
};
&lt;/smpl&gt;

[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many users of debugfs copy the implementation of default_open() when
they want to support a custom read/write function op.  This leads to a
proliferation of the default_open() implementation across the entire
tree.

Now that the common implementation has been consolidated into libfs we
can replace all the users of this function with simple_open().

This replacement was done with the following semantic patch:

&lt;smpl&gt;
@ open @
identifier open_f != simple_open;
identifier i, f;
@@
-int open_f(struct inode *i, struct file *f)
-{
(
-if (i-&gt;i_private)
-f-&gt;private_data = i-&gt;i_private;
|
-f-&gt;private_data = i-&gt;i_private;
)
-return 0;
-}

@ has_open depends on open @
identifier fops;
identifier open.open_f;
@@
struct file_operations fops = {
...
-.open = open_f,
+.open = simple_open,
...
};
&lt;/smpl&gt;

[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: cleanup resource table parsing paths</title>
<updated>2012-03-06T17:14:44+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-13T20:47:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1e3e2c7c46b2e6e90f3a26ba9be6326c00ca31e4'/>
<id>1e3e2c7c46b2e6e90f3a26ba9be6326c00ca31e4</id>
<content type='text'>
rproc_handle_resources() looks for the resource table and then
invokes a resource handler function which it took as a parameter.

This works, but it's a bit unintuitive to follow.

Instead of passing around function pointers, this patch changes
rproc_handle_resource() to just find and return the resource table,
and then the calling sites of rproc_handle_resource() invoke their
resource handlers directly.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
rproc_handle_resources() looks for the resource table and then
invokes a resource handler function which it took as a parameter.

This works, but it's a bit unintuitive to follow.

Instead of passing around function pointers, this patch changes
rproc_handle_resource() to just find and return the resource table,
and then the calling sites of rproc_handle_resource() invoke their
resource handlers directly.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: remove the hardcoded vring alignment</title>
<updated>2012-03-06T17:14:37+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-29T12:42:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=63140e0ed2e69bdafe62bc19fd6551d9213f80a7'/>
<id>63140e0ed2e69bdafe62bc19fd6551d9213f80a7</id>
<content type='text'>
Remove the hardcoded vring alignment of 4096 bytes,
and instead utilize tha vring alignment as specified in
the resource table.

This is needed for remote processors that have rigid
memory requirement, and which have found the alignment of
4096 bytes to be excessively big.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the hardcoded vring alignment of 4096 bytes,
and instead utilize tha vring alignment as specified in
the resource table.

This is needed for remote processors that have rigid
memory requirement, and which have found the alignment of
4096 bytes to be excessively big.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc/omap: remove the mbox_callback limitation</title>
<updated>2012-03-06T17:14:23+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-13T10:24:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=55f34080d99be0ac75122a27e7b151c76a5b070d'/>
<id>55f34080d99be0ac75122a27e7b151c76a5b070d</id>
<content type='text'>
Now that remoteproc supports any number of virtio devices,
the previous sanity check in omap_rproc_mbox_callback
doesn't make sense anymore.

Remove that so we can start supporting multiple vdevs.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that remoteproc supports any number of virtio devices,
the previous sanity check in omap_rproc_mbox_callback
doesn't make sense anymore.

Remove that so we can start supporting multiple vdevs.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: remove the single rpmsg vdev limitation</title>
<updated>2012-03-06T17:14:12+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-13T21:30:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7a186941626d19f668b08108db158379b32e6e02'/>
<id>7a186941626d19f668b08108db158379b32e6e02</id>
<content type='text'>
Now that the resource table supports publishing a virtio device
in a single resource entry, firmware images can start supporting
more than a single vdev.

This patch removes the single vdev limitation of the remoteproc
framework so multi-vdev firmwares can be leveraged: VDEV resource
entries are parsed when the rproc is registered, and as a result
their vrings are set up and the virtio devices are registered
(and they go away when the rproc goes away).

Moreover, we no longer only support VIRTIO_ID_RPMSG vdevs; any
virtio device type goes now. As a result, there's no more any
rpmsg-specific APIs or code in remoteproc: it all becomes generic
virtio handling.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that the resource table supports publishing a virtio device
in a single resource entry, firmware images can start supporting
more than a single vdev.

This patch removes the single vdev limitation of the remoteproc
framework so multi-vdev firmwares can be leveraged: VDEV resource
entries are parsed when the rproc is registered, and as a result
their vrings are set up and the virtio devices are registered
(and they go away when the rproc goes away).

Moreover, we no longer only support VIRTIO_ID_RPMSG vdevs; any
virtio device type goes now. As a result, there's no more any
rpmsg-specific APIs or code in remoteproc: it all becomes generic
virtio handling.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: safer boot/shutdown order</title>
<updated>2012-03-06T17:13:53+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-13T07:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=41a6ee09ee8dd7ac3a6ac12a24e26279b5d93385'/>
<id>41a6ee09ee8dd7ac3a6ac12a24e26279b5d93385</id>
<content type='text'>
Boot the remote processor only after setting up the virtqueues,
and shut it down before deleting them.

Remote processors should obey virtio status changes, and
therefore not manipulate/trigger the virtqueues while the virtio
driver isn't ready, but it's just safer not to rely on that
(plus a vq access might already be inflight while a vdev
status is changed).

We also don't have yet status change notifications, but that's
a temporary limitation.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Boot the remote processor only after setting up the virtqueues,
and shut it down before deleting them.

Remote processors should obey virtio status changes, and
therefore not manipulate/trigger the virtqueues while the virtio
driver isn't ready, but it's just safer not to rely on that
(plus a vq access might already be inflight while a vdev
status is changed).

We also don't have yet status change notifications, but that's
a temporary limitation.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: remoteproc_rpmsg -&gt; remoteproc_virtio</title>
<updated>2012-03-06T17:13:45+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-13T02:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=04a9016e82193cfbe2f9111b4c59de5628fbbe3b'/>
<id>04a9016e82193cfbe2f9111b4c59de5628fbbe3b</id>
<content type='text'>
At this point remoteproc can only register a single VIRTIO_ID_RPMSG virtio
device.

This limitation is going away soon: remoteproc is getting support for
registering any number of virtio devices and of any type (as
published by the firmware of the remote processor).

Rename remoteproc_rpmsg.c to remoteproc_virtio.c in preparation of
this generalization work.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At this point remoteproc can only register a single VIRTIO_ID_RPMSG virtio
device.

This limitation is going away soon: remoteproc is getting support for
registering any number of virtio devices and of any type (as
published by the firmware of the remote processor).

Rename remoteproc_rpmsg.c to remoteproc_virtio.c in preparation of
this generalization work.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc: resource table overhaul</title>
<updated>2012-03-06T17:13:39+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-01T19:56:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9'/>
<id>fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9</id>
<content type='text'>
The resource table is an array of 'struct fw_resource' members, where
each resource entry is expressed as a single member of that array.

This approach got us this far, but it has a few drawbacks:

1. Different resource entries end up overloading the same members of 'struct
   fw_resource' with different meanings. The resulting code is error prone
   and hard to read and maintain.

2. It's impossible to extend 'struct fw_resource' without breaking the
   existing firmware images (and we already want to: we can't introduce the
   new virito device resource entry with the current scheme).

3. It doesn't scale: 'struct fw_resource' must be as big as the largest
   resource entry type. As a result, smaller resource entries end up
   utilizing only small part of it.

This is fixed by defining a dedicated structure for every resource type,
and then converting the resource table to a list of type-value members.
Instead of a rigid array of homogeneous structs, the resource table
is turned into a collection of heterogeneous structures.

This way:
1. Resource entries consume exactly the amount of bytes they need.
2. It's easy to extend: just create a new resource entry structure, and assign
   it a new type.
3. The code is easier to read and maintain: the structures' members names are
   meaningful.

While we're at it, this patch has several other resource table changes:
1. The resource table gains a simple header which contains the
   number of entries in the table and their offsets within the table. This
   makes the parsing code simpler and easier to read.
2. A version member is added to the resource table. Should we change the
   format again, we'll bump up this version to prevent breakage with
   existing firmware images.
3. The VRING and VIRTIO_DEV resource entries are combined to a single
   VDEV entry. This paves the way to supporting multiple VDEV entries.
4. Since we don't really support 64-bit rprocs yet, convert two stray u64
   members to u32.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The resource table is an array of 'struct fw_resource' members, where
each resource entry is expressed as a single member of that array.

This approach got us this far, but it has a few drawbacks:

1. Different resource entries end up overloading the same members of 'struct
   fw_resource' with different meanings. The resulting code is error prone
   and hard to read and maintain.

2. It's impossible to extend 'struct fw_resource' without breaking the
   existing firmware images (and we already want to: we can't introduce the
   new virito device resource entry with the current scheme).

3. It doesn't scale: 'struct fw_resource' must be as big as the largest
   resource entry type. As a result, smaller resource entries end up
   utilizing only small part of it.

This is fixed by defining a dedicated structure for every resource type,
and then converting the resource table to a list of type-value members.
Instead of a rigid array of homogeneous structs, the resource table
is turned into a collection of heterogeneous structures.

This way:
1. Resource entries consume exactly the amount of bytes they need.
2. It's easy to extend: just create a new resource entry structure, and assign
   it a new type.
3. The code is easier to read and maintain: the structures' members names are
   meaningful.

While we're at it, this patch has several other resource table changes:
1. The resource table gains a simple header which contains the
   number of entries in the table and their offsets within the table. This
   makes the parsing code simpler and easier to read.
2. A version member is added to the resource table. Should we change the
   format again, we'll bump up this version to prevent breakage with
   existing firmware images.
3. The VRING and VIRTIO_DEV resource entries are combined to a single
   VDEV entry. This paves the way to supporting multiple VDEV entries.
4. Since we don't really support 64-bit rprocs yet, convert two stray u64
   members to u32.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Iliyan Malchev &lt;malchev@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: John Williams &lt;john.williams@petalogix.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Guzman Lugo Fernando &lt;fernando.lugo@ti.com&gt;
Cc: Anna Suman &lt;s-anna@ti.com&gt;
Cc: Clark Rob &lt;rob@ti.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: David Brown &lt;davidb@codeaurora.org&gt;
Cc: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remoteproc/omap: two Kconfig fixes</title>
<updated>2012-02-28T17:09:16+00:00</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-28T11:04:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9cd8eb433cbd440b25d4080b5add998da21fdb9c'/>
<id>9cd8eb433cbd440b25d4080b5add998da21fdb9c</id>
<content type='text'>
1. Depend on OMAP_IOMMU instead of selecting it, to fix an unmet
   direct dependency of it (and its imminent build error)
2. Set default to 'no' (achieved implicitly by dropping the 'default'
   line)

Reported-by: Russell King &lt;linux@arm.linux.org.uk&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: Suman Anna &lt;s-anna@ti.com&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Cc: Rob Clark &lt;rob@ti.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. Depend on OMAP_IOMMU instead of selecting it, to fix an unmet
   direct dependency of it (and its imminent build error)
2. Set default to 'no' (achieved implicitly by dropping the 'default'
   line)

Reported-by: Russell King &lt;linux@arm.linux.org.uk&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: Suman Anna &lt;s-anna@ti.com&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Cc: Rob Clark &lt;rob@ti.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
</feed>
