<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/i915/intel_fbdev.c, branch linux-4.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2016-06-06T23:12:23Z</updated>
<entry>
<title>drm/i915/fbdev: Fix num_connector references in intel_fb_initial_config()</title>
<updated>2016-06-06T23:12:23Z</updated>
<author>
<name>Lyude</name>
<email>cpaul@redhat.com</email>
</author>
<published>2016-05-12T14:56:58Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d648fcdb0adc44bafa01dc1cd0fbc3e4c9375488'/>
<id>urn:sha1:d648fcdb0adc44bafa01dc1cd0fbc3e4c9375488</id>
<content type='text'>
[ Upstream commit 14a3842a1d5945067d1dd0788f314e14d5b18e5b ]

During boot time, MST devices usually send a ton of hotplug events
irregardless of whether or not any physical hotplugs actually occurred.
Hotplugs mean connectors being created/destroyed, and the number of DRM
connectors changing under us. This isn't a problem if we use
fb_helper-&gt;connector_count since we only set it once in the code,
however if we use num_connector from struct drm_mode_config we risk it's
value changing under us. On top of that, there's even a chance that
dev-&gt;mode_config.num_connector != fb_helper-&gt;connector_count. If the
number of connectors happens to increase under us, we'll end up using
the wrong array size for memcpy and start writing beyond the actual
length of the array, occasionally resulting in kernel panics.

Note: This is just polish for 4.7, Dave Airlie's drm_connector
refcounting fixed these bugs for real. But it's good enough duct-tape
for stable kernel backporting, since backporting the refcounting
changes is way too invasive.

Cc: stable@vger.kernel.org
Signed-off-by: Lyude &lt;cpaul@redhat.com&gt;
[danvet: Clarify why we need this.]
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1463065021-18280-2-git-send-email-cpaul@redhat.com

Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Pass in plane state when (un)pinning frame buffers</title>
<updated>2015-03-23T14:00:57Z</updated>
<author>
<name>Tvrtko Ursulin</name>
<email>tvrtko.ursulin@intel.com</email>
</author>
<published>2015-03-23T11:10:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=82bc3b2daa78d99b5c93ef17e8b660e56447c935'/>
<id>urn:sha1:82bc3b2daa78d99b5c93ef17e8b660e56447c935</id>
<content type='text'>
Plane state carries the rotation information which is needed for determining
the appropriate GGTT view type.

This just adds the parameter with the actual usage coming in future patches.

Signed-off-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Reviewed-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Make sure we invalidate frontbuffer on fbcon.</title>
<updated>2015-03-17T21:30:14Z</updated>
<author>
<name>Rodrigo Vivi</name>
<email>rodrigo.vivi@intel.com</email>
</author>
<published>2015-03-10T00:57:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=03e515f7f8949c0787e0674091d9fbdb8afc4fd3'/>
<id>urn:sha1:03e515f7f8949c0787e0674091d9fbdb8afc4fd3</id>
<content type='text'>
There are some cases like suspend/resume or dpms off/on sequences
that can flush frontbuffer bits. In these cases features that relies
on frontbuffer tracking can start working and user can stop getting
screen updates on fbcon having impression the system is frozen.

So, let's make sure we also invalidate frontbuffer on fbdev blank.

v2: Daniel was right, backtrace didn't show other path than this blank
one so let's make sure frontbuffer bits gets invalidate here instead of
on random write operations that doesn't garantee we track all frontbuffer
writes.

Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
[danvet: Exchange code comments for one that complains about the
locking, like in set_par.]
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Switch intel_fb_align_height to fb format modifiers</title>
<updated>2015-02-13T22:28:18Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2015-02-10T17:16:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=091df6cbf248811150552d51dacb9dc1fe6b0a23'/>
<id>urn:sha1:091df6cbf248811150552d51dacb9dc1fe6b0a23</id>
<content type='text'>
With this we can treat the fb format modifier completely independently
from the fencing mode in obj-&gt;tiling_mode in the initial plane code.
Which means new tiling modes without any gtt fence are now fully
support in the core i915 driver code.

v2: Also add pixel_format while at it, we need this to compute the
height for the new tiling formats.

Reviewed-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Rename plane_config to initial_plane_config</title>
<updated>2015-01-27T08:51:04Z</updated>
<author>
<name>Damien Lespiau</name>
<email>damien.lespiau@intel.com</email>
</author>
<published>2015-01-20T12:51:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5724dbd1678e2f573b13f0688277941fad66cb88'/>
<id>urn:sha1:5724dbd1678e2f573b13f0688277941fad66cb88</id>
<content type='text'>
This vfunc and related structure are only used for fast boot, so let's
rename them to not take them as general purpose ones.

v2: Fix conflicts caused by the introduction of struct intel_crtc_state

Reviewed-By: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt; (v1)
Suggested-by: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Signed-off-by: Damien Lespiau &lt;damien.lespiau@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Use a common function for computing the fb height alignment</title>
<updated>2015-01-27T08:51:01Z</updated>
<author>
<name>Damien Lespiau</name>
<email>damien.lespiau@intel.com</email>
</author>
<published>2015-01-20T12:51:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ec2c981e6232ac2039e679d24642b80fbbd2acc6'/>
<id>urn:sha1:ec2c981e6232ac2039e679d24642b80fbbd2acc6</id>
<content type='text'>
If we need to change the fb height constraints, it sounds like a good
idea to have to do it in one place only.

v2: v2: Rebase on top of Ander's "Make intel_crtc-&gt;config a pointer"

Reviewed-By: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt; (v1)
Signed-off-by: Damien Lespiau &lt;damien.lespiau@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Change plane_config to store a tiling_mode</title>
<updated>2015-01-27T08:51:00Z</updated>
<author>
<name>Damien Lespiau</name>
<email>damien.lespiau@intel.com</email>
</author>
<published>2015-01-20T12:51:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=49af449b457b721ac5c18f537cf7484903f212f8'/>
<id>urn:sha1:49af449b457b721ac5c18f537cf7484903f212f8</id>
<content type='text'>
Rather than having "tiled" meaning "is it X-tiled?" convert the field to
explicitely store the tiling mode. The code doesn't have to change much
as 1 is conveniently I915_TILING_X.

This is to accommodate future changes around tiling modes and scannout
buffers.

v2: Rebase on top of Ander's "Make intel_crtc-&gt;config a pointer"

Reviewed-By: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt; (v1)
Signed-off-by: Damien Lespiau &lt;damien.lespiau@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Make intel_crtc-&gt;config a pointer</title>
<updated>2015-01-27T08:50:50Z</updated>
<author>
<name>Ander Conselvan de Oliveira</name>
<email>ander.conselvan.de.oliveira@intel.com</email>
</author>
<published>2015-01-15T12:55:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6e3c9717e079264d605ffa49183c1364d103166e'/>
<id>urn:sha1:6e3c9717e079264d605ffa49183c1364d103166e</id>
<content type='text'>
To match the semantics of drm_crtc-&gt;state, which this will eventually
become. The allocation of the memory for config will be fixed in a
followup patch. By adding the extra _config field to intel_crtc it was
possible to generate this entire patch with the cocci script below.

@@ @@
struct intel_crtc {
...
-struct intel_crtc_state config;
+struct intel_crtc_state _config;
+struct intel_crtc_state *config;
...
}
@@ struct intel_crtc *crtc; @@
-memset(&amp;crtc-&gt;config, 0, sizeof(crtc-&gt;config));
+memset(crtc-&gt;config, 0, sizeof(*crtc-&gt;config));
@@ @@
__intel_set_mode(...) {
&lt;...
-to_intel_crtc(crtc)-&gt;config = *pipe_config;
+(*(to_intel_crtc(crtc)-&gt;config)) = *pipe_config;
...&gt;
}
@@ @@
intel_crtc_init(...) {
...
WARN_ON(drm_crtc_index(&amp;intel_crtc-&gt;base) != intel_crtc-&gt;pipe);
+intel_crtc-&gt;config = &amp;intel_crtc-&gt;_config;
return;
...
}
@@ struct intel_crtc *crtc; @@
-&amp;crtc-&gt;config
+crtc-&gt;config
@@ struct intel_crtc *crtc; identifier member; @@
-crtc-&gt;config.member
+crtc-&gt;config-&gt;member
@@ expression E; @@
-&amp;(to_intel_crtc(E)-&gt;config)
+to_intel_crtc(E)-&gt;config
@@ expression E; identifier member; @@
-to_intel_crtc(E)-&gt;config.member
+to_intel_crtc(E)-&gt;config-&gt;member

v2: Clarify manual changes by splitting them into another patch. (Matt)
    Improve cocci script to generate even more of the changes. (Ander)

Signed-off-by: Ander Conselvan de Oliveira &lt;ander.conselvan.de.oliveira@intel.com&gt;
Reviewed-by: Matt Roper &lt;matthew.d.roper@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Embedded struct drm_crtc_state in intel_crtc_state</title>
<updated>2015-01-27T08:50:48Z</updated>
<author>
<name>Ander Conselvan de Oliveira</name>
<email>ander.conselvan.de.oliveira@intel.com</email>
</author>
<published>2015-01-15T12:55:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2d112de7db9d2cb0bd43f67120acd6c028bb60e8'/>
<id>urn:sha1:2d112de7db9d2cb0bd43f67120acd6c028bb60e8</id>
<content type='text'>
And get rid of the duplicate mode structures. This patch was generated
with the following semantic patch:

@@ @@
struct intel_crtc_state {
+struct drm_crtc_state base;
+
...
-struct drm_display_mode requested_mode;
-struct drm_display_mode adjusted_mode;
...
}
@@ struct intel_crtc_state *state; @@
-state-&gt;adjusted_mode
+state-&gt;base.adjusted_mode
@@ struct intel_crtc_state *state; @@
-state-&gt;requested_mode
+state-&gt;base.mode
@@ struct intel_crtc_state state; @@
-state.adjusted_mode
+state.base.adjusted_mode
@@ struct intel_crtc_state state; @@
-state.requested_mode
+state.base.mode
@@ struct drm_crtc *crtc; @@
-to_intel_crtc(crtc)-&gt;config.adjusted_mode
+to_intel_crtc(crtc)-&gt;config.base.adjusted_mode
@@ identifier member; expression E; @@
-PIPE_CONF_CHECK_FLAGS(adjusted_mode.member, E);
+PIPE_CONF_CHECK_FLAGS(base.adjusted_mode.member, E);
@@ identifier member; @@
-PIPE_CONF_CHECK_I(adjusted_mode.member);
+PIPE_CONF_CHECK_I(base.adjusted_mode.member);
@@ identifier member; @@
-PIPE_CONF_CHECK_CLOCK_FUZZY(adjusted_mode.member);
+PIPE_CONF_CHECK_CLOCK_FUZZY(base.adjusted_mode.member);

v2: Completely generate the patch with cocci. (Ander)

Signed-off-by: Ander Conselvan de Oliveira &lt;ander.conselvan.de.oliveira@intel.com&gt;
Reviewed-by: Matt Roper &lt;matthew.d.roper@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/fb: add support for tiled monitor configurations. (v2)</title>
<updated>2014-12-08T23:56:49Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2014-10-20T06:31:53Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b0ee9e7fa5b461a91f24d1d03b10c6bf162c86f9'/>
<id>urn:sha1:b0ee9e7fa5b461a91f24d1d03b10c6bf162c86f9</id>
<content type='text'>
This adds fbdev/con support for tiled monitors, so that we
only set a mode on the correct half of the monitor, or
span the two halves if needed.

v2: remove unneeded ERROR, fix | vs ||

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
</feed>
