<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/i915/intel_fbdev.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-05-17T13:42:35Z</updated>
<entry>
<title>drm/i915/fbdev: Fix num_connector references in intel_fb_initial_config()</title>
<updated>2016-05-17T13:42:35Z</updated>
<author>
<name>Lyude</name>
</author>
<published>2016-05-12T14:56:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=14a3842a1d5945067d1dd0788f314e14d5b18e5b'/>
<id>urn:sha1:14a3842a1d5945067d1dd0788f314e14d5b18e5b</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Revert "drm/i915: Fix races on fbdev"</title>
<updated>2016-04-01T12:03:55Z</updated>
<author>
<name>Joonas Lahtinen</name>
</author>
<published>2016-04-01T11:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=934458c2c95df4077b426a00bfd9d62e818f914e'/>
<id>urn:sha1:934458c2c95df4077b426a00bfd9d62e818f914e</id>
<content type='text'>
This reverts commit a7442b93cf32c1e1ddb721a26cd1f92302e2a222.

With the patch applied SNB, IVB and ILK are experiencing hard machine
hangs. Original patch was to fix "just" kernel panics so it's not a good
trade-off.

Proper fix for the panic is on the way, lets revert until then.

Fixes: a7442b93cf32 ("drm/i915: Fix races on fbdev")
Cc: Lukas Wunner &lt;lukas@wunner.de&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Tomi Sarvela &lt;tomi.p.sarvela@intel.com&gt;
Cc: stable@vger.kernel.org
Acked-by: Lukas Wunner &lt;lukas@wunner.de&gt;
Tested-by: Tomi Sarvela &lt;tomi.p.sarvela@intel.com&gt;
Suggested-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1459510861-29035-1-git-send-email-joonas.lahtinen@linux.intel.com
</content>
</entry>
<entry>
<title>drm/i915: Refer to GGTT {,VM} consistently</title>
<updated>2016-03-31T14:55:43Z</updated>
<author>
<name>Joonas Lahtinen</name>
</author>
<published>2016-03-30T13:57:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72e96d6450c067f58b65224bb5e73914e2cc43ab'/>
<id>urn:sha1:72e96d6450c067f58b65224bb5e73914e2cc43ab</id>
<content type='text'>
Refer to the GGTT VM consistently as "ggtt-&gt;base" instead of just "ggtt",
"vm" or indirectly through other variables like "dev_priv-&gt;ggtt.base"
to avoid confusion with the i915_ggtt object itself and PPGTT VMs.

Refer to the GGTT as "ggtt" instead of indirectly through chaining.

As a bonus gets rid of the long-standing i915_obj_to_ggtt vs.
i915_gem_obj_to_ggtt conflict, due to removal of i915_obj_to_ggtt!

v2:
- Added some more after grepping sources with Chris

v3:
- Refer to GGTT VM through ggtt-&gt;base consistently instead of ggtt_vm
  (Chris)

v4:
- Convert all dev_priv-&gt;ggtt-&gt;foo accesses to ggtt-&gt;foo.

v5:
- Make patch checker happy

Cc: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Cc: Mika Kuoppala &lt;mika.kuoppala@linux.intel.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>drm/i915: Fix races on fbdev</title>
<updated>2016-03-30T06:23:41Z</updated>
<author>
<name>Lukas Wunner</name>
</author>
<published>2016-03-09T11:52:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a7442b93cf32c1e1ddb721a26cd1f92302e2a222'/>
<id>urn:sha1:a7442b93cf32c1e1ddb721a26cd1f92302e2a222</id>
<content type='text'>
The -&gt;lastclose callback invokes intel_fbdev_restore_mode() and has
been witnessed to run before intel_fbdev_initial_config_async()
has finished.

We might likewise receive hotplug events before we've had a chance to
fully set up the fbdev.

Fix by waiting for the asynchronous thread to finish.

v2:
An async_synchronize_full() was also added to intel_fbdev_set_suspend()
in v1 which turned out to be entirely gratuitous. It caused a deadlock
on suspend (discovered by CI, thanks to Damien Lespiau and Tomi Sarvela
for CI support) and was unnecessary since a device is never suspended
until its -&gt;probe callback (and all asynchronous tasks it scheduled)
have finished. See dpm_prepare(), which calls wait_for_device_probe(),
which calls async_synchronize_full().

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93580
Reported-by: Gustav Fägerlind &lt;gustav.fagerlind@gmail.com&gt;
Reported-by: "Li, Weinan Z" &lt;weinan.z.li@intel.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20160309115147.67B2B6E0D3@gabe.freedesktop.org
</content>
</entry>
<entry>
<title>drm/i915: Implement color management on bdw/skl/bxt/kbl</title>
<updated>2016-03-21T18:40:31Z</updated>
<author>
<name>Lionel Landwerlin</name>
</author>
<published>2016-03-16T10:57:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=82cf435b3134a5f892971b721b34e4c5d249363d'/>
<id>urn:sha1:82cf435b3134a5f892971b721b34e4c5d249363d</id>
<content type='text'>
Patch based on a previous series by Shashank Sharma.

v2: Do not read GAMMA_MODE register to figure what mode we're in

v3: Program PREC_PAL_GC_MAX to clamp pixel values &gt; 1.0

    Add documentation on how the Broadcast RGB property is affected by CTM

v4: Update contributors

v5: Refactor degamma/gamma LUTs load into a single function

v6: Fix missing intel_crtc variable (bisect issue)

v7: Fix &amp; simplify limited range matrix multiplication (Matt Roper's
    comment)

Signed-off-by: Shashank Sharma &lt;shashank.sharma@intel.com&gt;
Signed-off-by: Kumar, Kiran S &lt;kiran.s.kumar@intel.com&gt;
Signed-off-by: Kausal Malladi &lt;kausalmalladi@gmail.com&gt;
Signed-off-by: Lionel Landwerlin &lt;lionel.g.landwerlin@intel.com&gt;
Acknowledged-by: Matt Roper &lt;matthew.d.roper@intel.com&gt;
Signed-off-by: Matt Roper &lt;matthew.d.roper@intel.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1458125837-2576-4-git-send-email-lionel.g.landwerlin@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Rename dev_priv-&gt;gtt to dev_priv-&gt;ggtt</title>
<updated>2016-03-18T13:18:15Z</updated>
<author>
<name>Joonas Lahtinen</name>
</author>
<published>2016-03-18T08:42:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=62106b4f6b9118073ec59e3e34ec393ed76cf24f'/>
<id>urn:sha1:62106b4f6b9118073ec59e3e34ec393ed76cf24f</id>
<content type='text'>
Refer to Global GTT consistently as GGTT, thus rename dev_priv-&gt;gtt
to dev_priv-&gt;ggtt and struct i915_gtt to struct i915_ggtt.

Fix a couple of whitespace problems while at it.

v2:
- Fix a typo in commit message.

Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Don't pass plane+plane_state to intel_pin_and_fence_fb_obj()</title>
<updated>2016-03-01T10:48:09Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2016-02-15T20:54:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3465c580afc86c066cc55842bae38ba3cb1acb99'/>
<id>urn:sha1:3465c580afc86c066cc55842bae38ba3cb1acb99</id>
<content type='text'>
intel_pin_and_fence_fb_obj() only needs the framebuffer, and the desird
rotation (to find the right GTT view for it), so no need to pass all
kinds of plane stuff.

The main motivation is to get rid of the uggy NULL plane_state handling
due to fbdev.

v2: Add a note why I really want this

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Grumpily-Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1455569699-27905-6-git-send-email-ville.syrjala@linux.intel.com
</content>
</entry>
<entry>
<title>drm/i915: Use atomic state in intel_fb_initial_config.</title>
<updated>2016-02-18T09:41:54Z</updated>
<author>
<name>Maarten Lankhorst</name>
</author>
<published>2016-02-17T08:18:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e28661bd1acbdcb6ae845b49a01aa765bfde19d4'/>
<id>urn:sha1:e28661bd1acbdcb6ae845b49a01aa765bfde19d4</id>
<content type='text'>
This is another step in removing legacy state.

Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1455697119-31416-6-git-send-email-maarten.lankhorst@linux.intel.com
</content>
</entry>
<entry>
<title>drm/i915: Remove obsolete code from intelfb_alloc()</title>
<updated>2015-12-21T16:03:25Z</updated>
<author>
<name>Lukas Wunner</name>
</author>
<published>2015-12-19T14:40:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4601b933c9dcb6802e3289d62bcdb52ea32425d6'/>
<id>urn:sha1:4601b933c9dcb6802e3289d62bcdb52ea32425d6</id>
<content type='text'>
Clean up after 0c82312f3f15 ("drm/i915: Pin the ifbdev for the
info-&gt;system_base GGTT mmapping"):

At each of the remaining "goto out" in intelfb_alloc(), fb can only be
either an ERR_PTR or NULL, so the call to drm_framebuffer_unreference()
is now obsolete.

Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/56756c41.c306c20a.d0602.1830SMTPIN_ADDED_MISSING@mx.google.com
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Pin the ifbdev for the info-&gt;system_base GGTT mmapping</title>
<updated>2015-12-17T15:59:24Z</updated>
<author>
<name>Chris Wilson</name>
</author>
<published>2015-12-04T16:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c82312f3f15538f4e6ceda2a82caee8fbac4501'/>
<id>urn:sha1:0c82312f3f15538f4e6ceda2a82caee8fbac4501</id>
<content type='text'>
A long time ago (before 3.14) we relied on a permanent pinning of the
ifbdev to lock the fb in place inside the GGTT. However, the
introduction of stealing the BIOS framebuffer and reusing its address in
the GGTT for the fbdev has muddied waters and we use an inherited fb.
However, the inherited fb is only pinned whilst it is active and we no
longer have an explicit pin for the info-&gt;system_base mmapping used by
the fbdev. The result is that after some aperture pressure the fbdev may
be evicted, but we continue to write the fbcon into the same GGTT
address - overwriting anything else that may be put into that offset.
The effect is most pronounced across suspend/resume as
intel_fbdev_set_suspend() does a full clear over the whole scanout.

v2: Only unpin the intel_fb is we allocate it. If we inherit the fb from
the BIOS, we do not own the pinned vma (except for the reference we add
in this patch for our access via info-&gt;screen_base).

v3: Finish balancing the vma pinning for the normal !preallocated case.

v4: Try to simplify the pinning even further.
v5: Leak the VMA (cleaned up by object-free) to avoid complicated error paths.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: "Goel, Akash" &lt;akash.goel@intel.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Cc: Lukas Wunner &lt;lukas@wunner.de&gt;
Cc: drm-intel-fixes@lists.freedesktop.org
Link: http://patchwork.freedesktop.org/patch/msgid/1449245126-26158-1-git-send-email-chris@chris-wilson.co.uk
Tested-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
</feed>
