<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/platform/x86/intel_ips.c, branch v3.4.27</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>intel_ips: blacklist HP ProBook laptops</title>
<updated>2012-07-19T15:58:56+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-06-25T13:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=665c7a83a1a64582c4393dd45430c848150a10dd'/>
<id>665c7a83a1a64582c4393dd45430c848150a10dd</id>
<content type='text'>
commit 88ca518b0bb4161e5f20f8a1d9cc477cae294e54 upstream.

intel_ips driver spews the warning message
  "ME failed to update for more than 1s, likely hung"
at each second endlessly on HP ProBook laptops with IronLake.

As this has never worked, better to blacklist the driver for now.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 88ca518b0bb4161e5f20f8a1d9cc477cae294e54 upstream.

intel_ips driver spews the warning message
  "ME failed to update for more than 1s, likely hung"
at each second endlessly on HP ProBook laptops with IronLake.

As this has never worked, better to blacklist the driver for now.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>intel_ips: Hush the i915 symbols message</title>
<updated>2012-04-17T13:31:33+00:00</updated>
<author>
<name>Adam Jackson</name>
<email>ajax@redhat.com</email>
</author>
<published>2012-04-09T21:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fc1a93bd9bad32581bca1e66fb7b3cabad9b3361'/>
<id>fc1a93bd9bad32581bca1e66fb7b3cabad9b3361</id>
<content type='text'>
We can't control order here, and getting it inverted is harmless.  So
turn this down to dev_info() and leave a note about how to fix it in
case userspace is insufficiently automagic.

Bugzilla: https://bugzilla.redhat.com/794953
Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can't control order here, and getting it inverted is harmless.  So
turn this down to dev_info() and leave a note about how to fix it in
case userspace is insufficiently automagic.

Bugzilla: https://bugzilla.redhat.com/794953
Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable MCP limit exceeded messages from Intel IPS driver</title>
<updated>2012-03-30T20:06:12+00:00</updated>
<author>
<name>Andi Kleen</name>
<email>ak@linux.intel.com</email>
</author>
<published>2012-02-06T16:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c264c651fd318274ffe27219947f17f24f07c073'/>
<id>c264c651fd318274ffe27219947f17f24f07c073</id>
<content type='text'>
On a system on the thermal limit these are quite noisy and flood the logs.
Better would be a counter anyways. But given that we don't even have
anything for normal throttling this doesn't seem to be urgent either.

Reviewed-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On a system on the thermal limit these are quite noisy and flood the logs.
Better would be a counter anyways. But given that we don't even have
anything for normal throttling this doesn't seem to be urgent either.

Reviewed-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>asm-generic: architecture independent readq/writeq for 32bit environment</title>
<updated>2012-02-22T00:47:28+00:00</updated>
<author>
<name>Hitoshi Mitake</name>
<email>mitake@dcl.info.waseda.ac.jp</email>
</author>
<published>2012-02-07T02:45:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=797a796a13df6b84a4791e57306737059b5b2384'/>
<id>797a796a13df6b84a4791e57306737059b5b2384</id>
<content type='text'>
This provides unified readq()/writeq() helper functions for 32-bit
drivers.

For some cases, readq/writeq without atomicity is harmful, and order of
io access has to be specified explicitly.  So in this patch, new two
header files which contain non-atomic readq/writeq are added.

 - &lt;asm-generic/io-64-nonatomic-lo-hi.h&gt; provides non-atomic readq/
   writeq with the order of lower address -&gt; higher address

 - &lt;asm-generic/io-64-nonatomic-hi-lo.h&gt; provides non-atomic readq/
   writeq with reversed order

This allows us to remove some readq()s that were added drivers when the
default non-atomic ones were removed in commit dbee8a0affd5 ("x86:
remove 32-bit versions of readq()/writeq()")

The drivers which need readq/writeq but can do with the non-atomic ones
must add the line:

  #include &lt;asm-generic/io-64-nonatomic-lo-hi.h&gt; /* or hi-lo.h */

But this will be nop in 64-bit environments, and no other #ifdefs are
required.  So I believe that this patch can solve the problem of
 1. driver-specific readq/writeq
 2. atomicity and order of io access

This patch is tested with building allyesconfig and allmodconfig as
ARCH=x86 and ARCH=i386 on top of tip/master.

Cc: Kashyap Desai &lt;Kashyap.Desai@lsi.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Ravi Anand &lt;ravi.anand@qlogic.com&gt;
Cc: Vikas Chaudhary &lt;vikas.chaudhary@qlogic.com&gt;
Cc: Matthew Garrett &lt;mjg@redhat.com&gt;
Cc: Jason Uhlenkott &lt;juhlenko@akamai.com&gt;
Cc: James Bottomley &lt;James.Bottomley@parallels.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: James Bottomley &lt;jbottomley@parallels.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Matthew Wilcox &lt;matthew.r.wilcox@intel.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Hitoshi Mitake &lt;h.mitake@gmail.com&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>
This provides unified readq()/writeq() helper functions for 32-bit
drivers.

For some cases, readq/writeq without atomicity is harmful, and order of
io access has to be specified explicitly.  So in this patch, new two
header files which contain non-atomic readq/writeq are added.

 - &lt;asm-generic/io-64-nonatomic-lo-hi.h&gt; provides non-atomic readq/
   writeq with the order of lower address -&gt; higher address

 - &lt;asm-generic/io-64-nonatomic-hi-lo.h&gt; provides non-atomic readq/
   writeq with reversed order

This allows us to remove some readq()s that were added drivers when the
default non-atomic ones were removed in commit dbee8a0affd5 ("x86:
remove 32-bit versions of readq()/writeq()")

The drivers which need readq/writeq but can do with the non-atomic ones
must add the line:

  #include &lt;asm-generic/io-64-nonatomic-lo-hi.h&gt; /* or hi-lo.h */

But this will be nop in 64-bit environments, and no other #ifdefs are
required.  So I believe that this patch can solve the problem of
 1. driver-specific readq/writeq
 2. atomicity and order of io access

This patch is tested with building allyesconfig and allmodconfig as
ARCH=x86 and ARCH=i386 on top of tip/master.

Cc: Kashyap Desai &lt;Kashyap.Desai@lsi.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Ravi Anand &lt;ravi.anand@qlogic.com&gt;
Cc: Vikas Chaudhary &lt;vikas.chaudhary@qlogic.com&gt;
Cc: Matthew Garrett &lt;mjg@redhat.com&gt;
Cc: Jason Uhlenkott &lt;juhlenko@akamai.com&gt;
Cc: James Bottomley &lt;James.Bottomley@parallels.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: James Bottomley &lt;jbottomley@parallels.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Matthew Wilcox &lt;matthew.r.wilcox@intel.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Hitoshi Mitake &lt;h.mitake@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86 driver: fix typo in TDP override enabling</title>
<updated>2011-08-05T19:21:49+00:00</updated>
<author>
<name>Jesse Barnes</name>
<email>jbarnes@virtuousgeek.org</email>
</author>
<published>2011-07-22T16:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=70fda70a724c737b0df4195763f9124d181fe64d'/>
<id>70fda70a724c737b0df4195763f9124d181fe64d</id>
<content type='text'>
When enabling turbo, we need to set both the TDC and TDP bits.  IIRC
only the TDC one actually matters, but fix it up anyway since the
current code is confusing.

Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When enabling turbo, we need to set both the TDC and TDP bits.  IIRC
only the TDC one actually matters, but fix it up anyway since the
current code is confusing.

Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86: remove 32-bit versions of readq()/writeq()</title>
<updated>2011-05-25T15:39:44+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2011-05-25T00:13:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dbee8a0affd5e6eaa5d7c816c4bc233f6f110f50'/>
<id>dbee8a0affd5e6eaa5d7c816c4bc233f6f110f50</id>
<content type='text'>
The presense of a writeq() implementation on 32-bit x86 that splits the
64-bit write into two 32-bit writes turns out to break the mpt2sas driver
(and in general is risky for drivers as was discussed in
&lt;http://lkml.kernel.org/r/adaab6c1h7c.fsf@cisco.com&gt;).  To fix this,
revert 2c5643b1c5c7 ("x86: provide readq()/writeq() on 32-bit too") and
follow-on cleanups.

This unfortunately leads to pushing non-atomic definitions of readq() and
write() to various x86-only drivers that in the meantime started using the
definitions in the x86 version of &lt;asm/io.h&gt;.  However as discussed
exhaustively, this is actually the right thing to do, because the right
way to split a 64-bit transaction is hardware dependent and therefore
belongs in the hardware driver (eg mpt2sas needs a spinlock to make sure
no other accesses occur in between the two halves of the access).

Build tested on 32- and 64-bit x86 allmodconfig.

Link: http://lkml.kernel.org/r/x86-32-writeq-is-broken@mdm.bga.com
Acked-by: Hitoshi Mitake &lt;h.mitake@gmail.com&gt;
Cc: Kashyap Desai &lt;Kashyap.Desai@lsi.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Ravi Anand &lt;ravi.anand@qlogic.com&gt;
Cc: Vikas Chaudhary &lt;vikas.chaudhary@qlogic.com&gt;
Cc: Matthew Garrett &lt;mjg@redhat.com&gt;
Cc: Jason Uhlenkott &lt;juhlenko@akamai.com&gt;
Acked-by: James Bottomley &lt;James.Bottomley@parallels.com&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&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>
The presense of a writeq() implementation on 32-bit x86 that splits the
64-bit write into two 32-bit writes turns out to break the mpt2sas driver
(and in general is risky for drivers as was discussed in
&lt;http://lkml.kernel.org/r/adaab6c1h7c.fsf@cisco.com&gt;).  To fix this,
revert 2c5643b1c5c7 ("x86: provide readq()/writeq() on 32-bit too") and
follow-on cleanups.

This unfortunately leads to pushing non-atomic definitions of readq() and
write() to various x86-only drivers that in the meantime started using the
definitions in the x86 version of &lt;asm/io.h&gt;.  However as discussed
exhaustively, this is actually the right thing to do, because the right
way to split a 64-bit transaction is hardware dependent and therefore
belongs in the hardware driver (eg mpt2sas needs a spinlock to make sure
no other accesses occur in between the two halves of the access).

Build tested on 32- and 64-bit x86 allmodconfig.

Link: http://lkml.kernel.org/r/x86-32-writeq-is-broken@mdm.bga.com
Acked-by: Hitoshi Mitake &lt;h.mitake@gmail.com&gt;
Cc: Kashyap Desai &lt;Kashyap.Desai@lsi.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Ravi Anand &lt;ravi.anand@qlogic.com&gt;
Cc: Vikas Chaudhary &lt;vikas.chaudhary@qlogic.com&gt;
Cc: Matthew Garrett &lt;mjg@redhat.com&gt;
Cc: Jason Uhlenkott &lt;juhlenko@akamai.com&gt;
Acked-by: James Bottomley &lt;James.Bottomley@parallels.com&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&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>ips: use interruptible waits in ips-monitor</title>
<updated>2011-03-28T10:46:15+00:00</updated>
<author>
<name>Jesse Barnes</name>
<email>jbarnes@virtuousgeek.org</email>
</author>
<published>2011-03-28T10:36:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a3424216e4935221fdaa5ca3c26e024f11297164'/>
<id>a3424216e4935221fdaa5ca3c26e024f11297164</id>
<content type='text'>
This is what I intended to do since:
  1) the driver handles variable waits just fine, and
  2) interruptible waits aren't reported as load in the load avg.

Reported-and-tested-by: Andreas Hartmann &lt;andihartmann@freenet.de&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is what I intended to do since:
  1) the driver handles variable waits just fine, and
  2) interruptible waits aren't reported as load in the load avg.

Reported-and-tested-by: Andreas Hartmann &lt;andihartmann@freenet.de&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intel_ips: fix sparse non-ANSI function warning</title>
<updated>2011-01-10T16:55:25+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2011-01-09T03:55:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7027d8b570244f0fa3aaebccf0bcd8e95e172631'/>
<id>7027d8b570244f0fa3aaebccf0bcd8e95e172631</id>
<content type='text'>
Fix sparse warning for non-ANSI function declaration:

drivers/platform/x86/intel_ips.c:1477:25: warning: non-ANSI function declaration of function 'ips_link_to_i915_driver'

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc:	Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix sparse warning for non-ANSI function declaration:

drivers/platform/x86/intel_ips.c:1477:25: warning: non-ANSI function declaration of function 'ips_link_to_i915_driver'

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc:	Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915.</title>
<updated>2010-12-23T09:51:36+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2010-12-21T02:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=63ee41d794d9c555f84205517a68509848988760'/>
<id>63ee41d794d9c555f84205517a68509848988760</id>
<content type='text'>
The IPS driver is designed to be able to run detached from i915 and
just not enable GPU turbo in that case, in order to avoid module
dependencies between the two drivers.  This means that we don't know
what the load order between the two is going to be, and we had
previously only supported IPS after (optionally) i915, but not i915
after IPS.  If the wrong order was chosen, you'd get no GPU turbo, and
something like half the possible graphics performance.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: stable@kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The IPS driver is designed to be able to run detached from i915 and
just not enable GPU turbo in that case, in order to avoid module
dependencies between the two drivers.  This means that we don't know
what the load order between the two is going to be, and we had
previously only supported IPS after (optionally) i915, but not i915
after IPS.  If the wrong order was chosen, you'd get no GPU turbo, and
something like half the possible graphics performance.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: stable@kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>IPS driver: Fix limit clamping when reducing CPU power</title>
<updated>2010-10-05T18:59:35+00:00</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2010-10-05T18:54:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d24a9da573444ab4aff38af2f4a0da07408ff491'/>
<id>d24a9da573444ab4aff38af2f4a0da07408ff491</id>
<content type='text'>
Values here are in internal units rather than Watts, so we shouldn't
perform any conversion.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Values here are in internal units rather than Watts, so we shouldn't
perform any conversion.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
