<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/gpu/drm/i915/intel_ringbuffer.c, branch v3.2</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>drm/i915: Use PIPE_CONTROL for flushing on gen6+.</title>
<updated>2011-10-20T22:26:41+00:00</updated>
<author>
<name>Jesse Barnes</name>
<email>jbarnes@virtuousgeek.org</email>
</author>
<published>2011-10-16T08:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8d31528703ceda6f631e39953130abe9b3ca52b2'/>
<id>8d31528703ceda6f631e39953130abe9b3ca52b2</id>
<content type='text'>
v2 by danvet: Use a new flag to flush the render target cache on gen6+
(hw reuses the old write flush bit), as suggested by Ben Widawsdy.

Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
[danvet: this seems to fix cairo-perf-trace hangs on my snb]
Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
v2 by danvet: Use a new flag to flush the render target cache on gen6+
(hw reuses the old write flush bit), as suggested by Ben Widawsdy.

Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
[danvet: this seems to fix cairo-perf-trace hangs on my snb]
Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: Rename PIPE_CONTROL bit defines to be less terse.</title>
<updated>2011-10-20T22:26:40+00:00</updated>
<author>
<name>Kenneth Graunke</name>
<email>kenneth@whitecape.org</email>
</author>
<published>2011-10-11T21:41:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9d971b37534fb268251f74cc04a36a0a16f7da04'/>
<id>9d971b37534fb268251f74cc04a36a0a16f7da04</id>
<content type='text'>
"STALL_AT_SCOREBOARD" is much clearer than "STALL_EN" now that there are
several different kinds of stalls.  Also, "INSTRUCTION_CACHE_INVALIDATE"
is a lot easier to understand at a glance than the terse "IS_FLUSH."

Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
[danvet: use INVALIDATE for ro cache flags for more consistency]
Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"STALL_AT_SCOREBOARD" is much clearer than "STALL_EN" now that there are
several different kinds of stalls.  Also, "INSTRUCTION_CACHE_INVALIDATE"
is a lot easier to understand at a glance than the terse "IS_FLUSH."

Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
[danvet: use INVALIDATE for ro cache flags for more consistency]
Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: Remove implied length of 2 from GFX_OP_PIPE_CONTROL #define.</title>
<updated>2011-10-20T22:26:40+00:00</updated>
<author>
<name>Kenneth Graunke</name>
<email>kenneth@whitecape.org</email>
</author>
<published>2011-10-11T21:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fcbc34e4dc9ed43f5b147e95beec56c987c683c5'/>
<id>fcbc34e4dc9ed43f5b147e95beec56c987c683c5</id>
<content type='text'>
Not all PIPE_CONTROLs have a length of 2, so remove it from the #define
and make each invocation specify the desired length.

Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
[danvet: implement style suggestion from Ben Widawsdy]
Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not all PIPE_CONTROLs have a length of 2, so remove it from the #define
and make each invocation specify the desired length.

Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
[danvet: implement style suggestion from Ben Widawsdy]
Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: Dumb down the semaphore logic</title>
<updated>2011-09-21T21:52:41+00:00</updated>
<author>
<name>Ben Widawsky</name>
<email>ben@bwidawsk.net</email>
</author>
<published>2011-09-15T03:32:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c8c99b0f0dea1ced5d0e10cdb9143356cc16b484'/>
<id>c8c99b0f0dea1ced5d0e10cdb9143356cc16b484</id>
<content type='text'>
While I think the previous code is correct, it was hard to follow and
hard to debug. Since we already have a ring abstraction, might as well
use it to handle the semaphore updates and compares.

I don't expect this code to make semaphores better or worse, but you
never know...

v2:
Remove magic per Keith's suggestions.
Ran Daniel's gem_ring_sync_loop test on this.

v3:
Ignored one of Keith's suggestions.

v4:
Removed some bloat per Daniel's recommendation.

Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Keith Packard &lt;keithp@keithp.com&gt;
Signed-off-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While I think the previous code is correct, it was hard to follow and
hard to debug. Since we already have a ring abstraction, might as well
use it to handle the semaphore updates and compares.

I don't expect this code to make semaphores better or worse, but you
never know...

v2:
Remove magic per Keith's suggestions.
Ran Daniel's gem_ring_sync_loop test on this.

v3:
Ignored one of Keith's suggestions.

v4:
Removed some bloat per Daniel's recommendation.

Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Keith Packard &lt;keithp@keithp.com&gt;
Signed-off-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Drivers: i915: Fix all space related issues.</title>
<updated>2011-09-20T01:01:47+00:00</updated>
<author>
<name>Akshay Joshi</name>
<email>me@akshayjoshi.com</email>
</author>
<published>2011-08-16T19:34:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0206e353a0416ad63ce07f53c807c2c725633b87'/>
<id>0206e353a0416ad63ce07f53c807c2c725633b87</id>
<content type='text'>
Various issues involved with the space character were generating
warnings in the checkpatch.pl file. This patch removes most of those
warnings.

Signed-off-by: Akshay Joshi &lt;me@akshayjoshi.com&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Various issues involved with the space character were generating
warnings in the checkpatch.pl file. This patch removes most of those
warnings.

Signed-off-by: Akshay Joshi &lt;me@akshayjoshi.com&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: set GFX_MODE to pre-Ivybridge default value even on Ivybridge</title>
<updated>2011-08-19T18:57:12+00:00</updated>
<author>
<name>Jesse Barnes</name>
<email>jbarnes@virtuousgeek.org</email>
</author>
<published>2011-08-12T22:28:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b095cd0a0ccdbc00c9fd99d90b22f8563687971f'/>
<id>b095cd0a0ccdbc00c9fd99d90b22f8563687971f</id>
<content type='text'>
Prior to Ivybridge, the GFX_MODE would default to 0x800, meaning that
MI_FLUSH would flush the TLBs in addition to the rest of the caches
indicated in the MI_FLUSH command.  However starting with Ivybridge, the
register defaults to 0x2800 out of reset, meaning that to invalidate the
TLB we need to use PIPE_CONTROL.  Since we're not doing that yet, go
back to the old default so things work.

v2: don't forget to actually *clear* the new bit

Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Tested-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prior to Ivybridge, the GFX_MODE would default to 0x800, meaning that
MI_FLUSH would flush the TLBs in addition to the rest of the caches
indicated in the MI_FLUSH command.  However starting with Ivybridge, the
register defaults to 0x2800 out of reset, meaning that to invalidate the
TLB we need to use PIPE_CONTROL.  Since we're not doing that yet, go
back to the old default so things work.

v2: don't forget to actually *clear* the new bit

Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Tested-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'drm-intel-fixes' into drm-intel-next</title>
<updated>2011-07-22T20:40:42+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2011-07-22T20:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=df7976797fa9af161690dbf4dee81ed92cdc150f'/>
<id>df7976797fa9af161690dbf4dee81ed92cdc150f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: Initialize RCS ring status page address in intel_render_ring_init_dri</title>
<updated>2011-07-22T20:36:52+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2011-07-22T17:44:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f3234706a77bd6e1592ae71fb3268e04cb030dba'/>
<id>f3234706a77bd6e1592ae71fb3268e04cb030dba</id>
<content type='text'>
Physically-addressed hardware status pages are initialized early in
the driver load process by i915_init_phys_hws. For UMS environments,
the ring structure is not initialized until the X server starts. At
that point, the entire ring structure is re-initialized with all new
values. Any values set in the ring structure (including
ring-&gt;status_page.page_addr) will be lost when the ring is
re-initialized.

This patch moves the initialization of the status_page.page_addr value
to intel_render_ring_init_dri.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
Cc: stable@kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Physically-addressed hardware status pages are initialized early in
the driver load process by i915_init_phys_hws. For UMS environments,
the ring structure is not initialized until the X server starts. At
that point, the entire ring structure is re-initialized with all new
values. Any values set in the ring structure (including
ring-&gt;status_page.page_addr) will be lost when the ring is
re-initialized.

This patch moves the initialization of the status_page.page_addr value
to intel_render_ring_init_dri.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
Cc: stable@kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: Add an interface to dynamically change the cache level</title>
<updated>2011-06-10T04:51:16+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-04-04T08:44:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e4ffd173a1c2f96b43127c2537dd99d89e759bba'/>
<id>e4ffd173a1c2f96b43127c2537dd99d89e759bba</id>
<content type='text'>
[anholt v2: Don't forget that when going from cached to uncached, we
haven't been tracking the write domain from the CPU perspective, since
we haven't needed it for GPU coherency.]

[ickle v3: We also need to make sure we relinquish any fences on older
chipsets and clear the GTT for sane domain tracking.]

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[anholt v2: Don't forget that when going from cached to uncached, we
haven't been tracking the write domain from the CPU perspective, since
we haven't needed it for GPU coherency.]

[ickle v3: We also need to make sure we relinquish any fences on older
chipsets and clear the GTT for sane domain tracking.]

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: clean up unused ring_get_irq/ring_put_irq functions</title>
<updated>2011-05-16T19:54:16+00:00</updated>
<author>
<name>Feng, Boqun</name>
<email>boqun.feng@intel.com</email>
</author>
<published>2011-04-28T09:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8547920fc6f0d288fcc57ca705ccb2d00920fc72'/>
<id>8547920fc6f0d288fcc57ca705ccb2d00920fc72</id>
<content type='text'>
This patch depends on patch "drm/i915: fix user irq miss in BSD ring on
g4x".
Once the previous patch apply, ring_get_irq/ring_put_irq become unused.
So simply remove them.

Signed-off-by: Feng, Boqun &lt;boqun.feng@intel.com&gt;
Reviewed-by: Xiang, Haihao &lt;haihao.xiang@intel.com&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch depends on patch "drm/i915: fix user irq miss in BSD ring on
g4x".
Once the previous patch apply, ring_get_irq/ring_put_irq become unused.
So simply remove them.

Signed-off-by: Feng, Boqun &lt;boqun.feng@intel.com&gt;
Reviewed-by: Xiang, Haihao &lt;haihao.xiang@intel.com&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
