<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/sysdev/qe_lib/qe.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-08-31T21:41:03Z</updated>
<entry>
<title>arch/powerpc/sysdev/qe_lib/qe.c: Add of_node_put to avoid memory leak</title>
<updated>2010-08-31T21:41:03Z</updated>
<author>
<name>Julia Lawall</name>
</author>
<published>2010-08-29T09:52:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5aac4d73dc234fe7be91679b547af2436d7f8d1e'/>
<id>urn:sha1:5aac4d73dc234fe7be91679b547af2436d7f8d1e</id>
<content type='text'>
Add a call to of_node_put in the error handling code following a call to
of_find_compatible_node.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@r exists@
local idexpression x;
expression E,E1;
statement S;
@@

*x =
(of_find_node_by_path
|of_find_node_by_name
|of_find_node_by_phandle
|of_get_parent
|of_get_next_parent
|of_get_next_child
|of_find_compatible_node
|of_match_node
)(...);
...
if (x == NULL) S
&lt;... when != x = E
*if (...) {
  ... when != of_node_put(x)
      when != if (...) { ... of_node_put(x); ... }
(
  return &lt;+...x...+&gt;;
|
*  return ...;
)
}
...&gt;
of_node_put(x);
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Acked-by: Timur Tabi &lt;timur@freescale.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: remove references to of_device and to_of_device</title>
<updated>2010-07-24T15:58:21Z</updated>
<author>
<name>Grant Likely</name>
</author>
<published>2010-07-22T21:52:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a454dc50590c6d758abba016a303a221f2f1b4b8'/>
<id>urn:sha1:a454dc50590c6d758abba016a303a221f2f1b4b8</id>
<content type='text'>
of_device is just a #define alias to platform_device.  This patch
replaces all references to it with platform_device.

Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
</entry>
<entry>
<title>of: Remove duplicate fields from of_platform_driver</title>
<updated>2010-05-22T06:10:40Z</updated>
<author>
<name>Grant Likely</name>
</author>
<published>2010-04-13T23:13:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4018294b53d1dae026880e45f174c1cc63b5d435'/>
<id>urn:sha1:4018294b53d1dae026880e45f174c1cc63b5d435</id>
<content type='text'>
.name, .match_table and .owner are duplicated in both of_platform_driver
and device_driver.  This patch is a removes the extra copies from struct
of_platform_driver and converts all users to the device_driver members.

This patch is a pretty mechanical change.  The usage model doesn't change
and if any drivers have been missed, or if anything has been fixed up
incorrectly, then it will fail with a compile time error, and the fixup
will be trivial.  This patch looks big and scary because it touches so
many files, but it should be pretty safe.

Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Acked-by: Sean MacLennan &lt;smaclennan@pikatech.com&gt;

</content>
</entry>
<entry>
<title>powerpc/qe: Implement QE driver for handling resume on MPC85xx</title>
<updated>2009-11-12T03:43:27Z</updated>
<author>
<name>Anton Vorontsov</name>
</author>
<published>2009-09-15T21:43:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdfde24e108b49373f8702d5b9981217f35315d8'/>
<id>urn:sha1:fdfde24e108b49373f8702d5b9981217f35315d8</id>
<content type='text'>
So far the driver is used to reset QE upon resume, which is needed on
85xx. Later we can move some QE initialization steps into probe().

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/qe: QE also shuts down on MPC8568</title>
<updated>2009-11-12T03:43:15Z</updated>
<author>
<name>Anton Vorontsov</name>
</author>
<published>2009-09-15T21:43:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=46d2293470c18c1bb632083bf0b589deff30ccae'/>
<id>urn:sha1:46d2293470c18c1bb632083bf0b589deff30ccae</id>
<content type='text'>
It appears that QE shuts down on all MPC85xx CPUs (i.e. MPC8568 and
MPC8569) and thus needs reset upon resume.

So modify qe_alive_during_sleep() to account that.

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/qe: Make qe_reset() code path safe for repeated invocation</title>
<updated>2009-11-12T03:43:13Z</updated>
<author>
<name>Anton Vorontsov</name>
</author>
<published>2009-09-15T21:43:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c7b87b0857f0e17be982fd840046444a83c3996'/>
<id>urn:sha1:0c7b87b0857f0e17be982fd840046444a83c3996</id>
<content type='text'>
For MPC8569 CPUs we'll need to reset QE after each suspend, so make
qe_reset() code path suitable for repeated invocation, that is:

- Don't initialize rheap structures if already initialized;
- Don't allocate muram for SDMA if already allocated, just reinitialize
  registers with previously allocated muram offset;
- Remove __init attributes from qe_reset() and cpm_muram_init();

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/qe: Increase MAX_QE_RISC to 4</title>
<updated>2009-11-12T03:43:09Z</updated>
<author>
<name>Anton Vorontsov</name>
</author>
<published>2009-08-27T17:30:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98eaa0987afdcab0929dc205edb5c492cf66a370'/>
<id>urn:sha1:98eaa0987afdcab0929dc205edb5c492cf66a370</id>
<content type='text'>
MPC8569 CPUs have four QE RISCs, so we need to increase MAX_QE_RISC
constant, otherwise qe_upload_firmware() fails at sanity checking.

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Acked-by: Timur Tabi &lt;timur@freescale.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/qe: Implement qe_alive_during_sleep() helper function</title>
<updated>2009-08-31T04:51:33Z</updated>
<author>
<name>Anton Vorontsov</name>
</author>
<published>2009-08-27T07:35:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed24157ede901608e00f28b4897398a373e1e926'/>
<id>urn:sha1:ed24157ede901608e00f28b4897398a373e1e926</id>
<content type='text'>
In some CPUs (i.e. MPC8569) QE shuts down completely during sleep,
drivers may want to know that to reinitialize registers and buffer
descriptors.

This patch implements qe_alive_during_sleep() helper function, so far
it just checks if MPC8569-compatible power management controller is
present, which is a sign that QE turns off during sleep.

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>powerpc/qe: add polling timeout to qe_issue_cmd()</title>
<updated>2009-06-23T13:09:41Z</updated>
<author>
<name>Timur Tabi</name>
</author>
<published>2009-05-26T15:21:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f49156ea1bf3bccf45a01351cf3db2b5f6a8597e'/>
<id>urn:sha1:f49156ea1bf3bccf45a01351cf3db2b5f6a8597e</id>
<content type='text'>
The qe_issue_cmd() function (Freescale PowerPC QUICC Engine library) polls
on a register until a status bit changes, but does not include a timeout
to handle the situation if the bit never changes.  Change the code to use
the new spin_event_timeout() macro, which simplifies polling on a register
without a timeout.

Signed-off-by: Timur Tabi &lt;timur@freescale.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/qe: update QE Serial Number</title>
<updated>2009-05-19T05:50:24Z</updated>
<author>
<name>Haiying Wang</name>
</author>
<published>2009-05-01T19:40:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98ca77af23da6682bb3e34961a3f32e2c064a4ce'/>
<id>urn:sha1:98ca77af23da6682bb3e34961a3f32e2c064a4ce</id>
<content type='text'>
The latest QE chip may have more Serial Number(SNUM)s of thread to use. We
will get the number of SNUMs from device tree by reading the new property
"fsl,qe-num-snums", and set 28 as the default number of SNUMs so that it is
compatible with the old QE chips' device trees which don't have this new
property. The macro QE_NUM_OF_SNUM is defined as the maximum number in QE
snum table which is 256.

Also we update the snum_init[] array with 18 more new SNUMs which are
confirmed to be useful on new chip.

Signed-off-by: Haiying Wang &lt;Haiying.Wang@freescale.com&gt;
Acked-by: Timur Tabi &lt;timur@freescale.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
</feed>
