<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/arch/arm/kernel/sleep.S, branch linux-3.1.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>ARM: pm: allow suspend finisher to return error codes</title>
<updated>2011-07-02T08:54:01+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-07-02T08:54:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=29cb3cd208dd0e4471bb80bec4facc49ceb199fa'/>
<id>29cb3cd208dd0e4471bb80bec4facc49ceb199fa</id>
<content type='text'>
There are SoCs where attempting to enter a low power state is ignored,
and the CPU continues executing instructions with all state preserved.
It is over-complex at that point to disable the MMU just to call the
resume path.

Instead, allow the suspend finisher to return error codes to abort
suspend in this circumstance, where the cpu_suspend internals will then
unwind the saved state on the stack.  Also omit the tlb flush as no
changes to the page tables will have happened.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are SoCs where attempting to enter a low power state is ignored,
and the CPU continues executing instructions with all state preserved.
It is over-complex at that point to disable the MMU just to call the
resume path.

Instead, allow the suspend finisher to return error codes to abort
suspend in this circumstance, where the cpu_suspend internals will then
unwind the saved state on the stack.  Also omit the tlb flush as no
changes to the page tables will have happened.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: hide 1st and 2nd arguments to cpu_suspend from platform code</title>
<updated>2011-06-24T08:54:39+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-22T16:41:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2c74a0cefa463a7a483b07ba4d2ea8e4ec7b996c'/>
<id>2c74a0cefa463a7a483b07ba4d2ea8e4ec7b996c</id>
<content type='text'>
The first and second arguments shouldn't concern platform code, so
hide them from each platforms caller.

Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The first and second arguments shouldn't concern platform code, so
hide them from each platforms caller.

Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: move cpu_init() call into core code</title>
<updated>2011-06-24T07:48:43+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-21T15:32:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=14cd8fd574bce1cfbe510ccb1f73c7c1024d770f'/>
<id>14cd8fd574bce1cfbe510ccb1f73c7c1024d770f</id>
<content type='text'>
As we have core code dealing with CPU suspend/resume, we can
re-initialize the CPUs exception banked registers via that code rather
than having platforms deal with that level of detail.  So, move the
call to cpu_init() out of platform code into core code.

Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As we have core code dealing with CPU suspend/resume, we can
re-initialize the CPUs exception banked registers via that code rather
than having platforms deal with that level of detail.  So, move the
call to cpu_init() out of platform code into core code.

Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: convert cpu_suspend() to a normal function</title>
<updated>2011-06-24T07:48:43+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-13T14:58:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e8856a8797e76e6883ae81f8f9ecbb231cc535df'/>
<id>e8856a8797e76e6883ae81f8f9ecbb231cc535df</id>
<content type='text'>
cpu_suspend() has a weird calling method which makes it only possible to
call from assembly code: it returns with a modified stack pointer to
finish the suspend, but on resume, it 'returns' via a provided pointer.

We can make cpu_suspend() appear to be a normal function merely by
swapping the resume pointer argument and the link register.

Do so, and update all callers to take account of this more traditional
behaviour.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cpu_suspend() has a weird calling method which makes it only possible to
call from assembly code: it returns with a modified stack pointer to
finish the suspend, but on resume, it 'returns' via a provided pointer.

We can make cpu_suspend() appear to be a normal function merely by
swapping the resume pointer argument and the link register.

Do so, and update all callers to take account of this more traditional
behaviour.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: rejig suspend follow-on function calling convention</title>
<updated>2011-06-24T07:47:36+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-13T14:28:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3799bbe57843d279008c9ec3406838966cad5f15'/>
<id>3799bbe57843d279008c9ec3406838966cad5f15</id>
<content type='text'>
Save the suspend function pointer onto the stack for use when returning.
Allocate r2 to pass an argument to the suspend function.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Save the suspend function pointer onto the stack for use when returning.
Allocate r2 to pass an argument to the suspend function.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: reallocate registers to avoid r2, r3</title>
<updated>2011-06-24T07:47:32+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-13T14:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8111eaa6d424ab3ba8a4d7a3148d4681ae5c6ae3'/>
<id>8111eaa6d424ab3ba8a4d7a3148d4681ae5c6ae3</id>
<content type='text'>
Avoid using r2 and r3 in the suspend code, allowing these to be
passed further into the function as arguments.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid using r2 and r3 in the suspend code, allowing these to be
passed further into the function as arguments.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: preserve r4 - r11 across a suspend</title>
<updated>2011-06-24T07:47:29+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-13T14:04:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5fa94c812c0001ac7c3d8868e956ec514734a352'/>
<id>5fa94c812c0001ac7c3d8868e956ec514734a352</id>
<content type='text'>
Make cpu_suspend()..return function preserve r4 to r11 across a suspend
cycle.  This is in preparation of relieving platform support code from
this task.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make cpu_suspend()..return function preserve r4 to r11 across a suspend
cycle.  This is in preparation of relieving platform support code from
this task.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: extract common code from MULTI_CPU/!MULTI_CPU paths</title>
<updated>2011-06-24T07:47:26+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-13T12:53:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3fd431bd0cbc75a506b90b42619de3b04fe813a7'/>
<id>3fd431bd0cbc75a506b90b42619de3b04fe813a7</id>
<content type='text'>
Very little code is different between these two paths now, so extract
the common code.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Very little code is different between these two paths now, so extract
the common code.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: move return address (for cpu_resume) to top of stack</title>
<updated>2011-06-24T07:47:23+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-13T12:45:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2fefbcd58590cf33189c6178098e12b31b994b5f'/>
<id>2fefbcd58590cf33189c6178098e12b31b994b5f</id>
<content type='text'>
Move the return address for cpu_resume to the top of stack so that
cpu_resume looks more like a normal function.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the return address for cpu_resume to the top of stack so that
cpu_resume looks more like a normal function.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: pm: make MULTI_CPU and !MULTI_CPU resume paths the same</title>
<updated>2011-06-24T07:47:20+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-06-13T12:39:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6b5f6ab0e1c33beaed828271f13c03ed02ee3c15'/>
<id>6b5f6ab0e1c33beaed828271f13c03ed02ee3c15</id>
<content type='text'>
Eliminate the differences between MULTI_CPU and non-MULTI_CPU resume
paths, making the saved structure identical irrespective of the way
the kernel was configured.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Eliminate the differences between MULTI_CPU and non-MULTI_CPU resume
paths, making the saved structure identical irrespective of the way
the kernel was configured.

Acked-by: Frank Hofmann &lt;frank.hofmann@tomtom.com&gt;
Tested-by: Kevin Hilman &lt;khilman@ti.com&gt;
Acked-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
</feed>
