<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu, branch v3.0.87</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/gpu?h=v3.0.87</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/gpu?h=v3.0.87'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-06-20T18:28:20Z</updated>
<entry>
<title>drm/i915: prefer VBT modes for SVDO-LVDS over EDID</title>
<updated>2013-06-20T18:28:20Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-06-10T07:47:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bac5719cdfb081dd68b0eeef7d9796c15fc29811'/>
<id>urn:sha1:bac5719cdfb081dd68b0eeef7d9796c15fc29811</id>
<content type='text'>
commit c3456fb3e4712d0448592af3c5d644c9472cd3c1 upstream.

In

commit 53d3b4d7778daf15900867336c85d3f8dd70600c
Author: Egbert Eich &lt;eich@suse.de&gt;
Date:   Tue Jun 4 17:13:21 2013 +0200

    drm/i915/sdvo: Use &amp;intel_sdvo-&gt;ddc instead of intel_sdvo-&gt;i2c for DDC

Egbert Eich fixed a long-standing bug where we simply used a
non-working i2c controller to read the EDID for SDVO-LVDS panels.
Unfortunately some machines seem to not be able to cope with the mode
provided in the EDID. Specifically they seem to not be able to cope
with a 4x pixel mutliplier instead of a 2x one, which seems to have
been worked around by slightly changing the panels native mode in the
VBT so that the dotclock is just barely above 50MHz.

Since it took forever to notice the breakage it's fairly safe to
assume that at least for SDVO-LVDS panels the VBT contains fairly sane
data. So just switch around the order and use VBT modes first.

v2: Also add EDID modes just in case, and spell Egbert correctly.

v3: Elaborate a bit more about what's going on on Chris' machine.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65524
Reported-and-tested-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Egbert Eich &lt;eich@suse.de&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915/sdvo: Use &amp;intel_sdvo-&gt;ddc instead of intel_sdvo-&gt;i2c for DDC.</title>
<updated>2013-06-13T16:25:09Z</updated>
<author>
<name>Egbert Eich</name>
<email>eich@suse.de</email>
</author>
<published>2013-06-04T15:13:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c4c2a7db886d6a7bb562fe5eebbb74ba043745b2'/>
<id>urn:sha1:c4c2a7db886d6a7bb562fe5eebbb74ba043745b2</id>
<content type='text'>
commit 53d3b4d7778daf15900867336c85d3f8dd70600c upstream.

In intel_sdvo_get_lvds_modes() the wrong i2c adapter record is used
for DDC. Thus the code will always have to rely on a LVDS panel
mode supplied by VBT.
In most cases this succeeds, so this didn't get detected for quite
a while.

This regression seems to have been introduced in

commit f899fc64cda8569d0529452aafc0da31c042df2e
Author: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Date:   Tue Jul 20 15:44:45 2010 -0700

    drm/i915: use GMBUS to manage i2c links

Signed-off-by: Egbert Eich &lt;eich@suse.de&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
[danvet: Add note about which commit likely introduced this issue.]
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm: fix a use-after-free when GPU acceleration disabled</title>
<updated>2013-06-13T16:25:09Z</updated>
<author>
<name>Huacai Chen</name>
<email>chenhc@lemote.com</email>
</author>
<published>2013-05-21T06:23:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ad712863393b6d3b772529c1726b3aa3375e3fc1'/>
<id>urn:sha1:ad712863393b6d3b772529c1726b3aa3375e3fc1</id>
<content type='text'>
commit b7ea85a4fed37835eec78a7be3039c8dc22b8178 upstream.

When GPU acceleration is disabled, drm_vblank_cleanup() will free the
vblank-related data, such as vblank_refcount, vblank_inmodeset, etc.
But we found that drm_vblank_post_modeset() may be called after the
cleanup, which use vblank_refcount and vblank_inmodeset. And this will
cause a kernel panic.

Fix this by return immediately if dev-&gt;num_crtcs is zero. This is the
same thing that drm_vblank_pre_modeset() does.

Call trace of a drm_vblank_post_modeset() after drm_vblank_cleanup():
[   62.628906] [&lt;ffffffff804868d0&gt;] drm_vblank_post_modeset+0x34/0xb4
[   62.628906] [&lt;ffffffff804c7008&gt;] atombios_crtc_dpms+0xb4/0x174
[   62.628906] [&lt;ffffffff804c70e0&gt;] atombios_crtc_commit+0x18/0x38
[   62.628906] [&lt;ffffffff8047f038&gt;] drm_crtc_helper_set_mode+0x304/0x3cc
[   62.628906] [&lt;ffffffff8047f92c&gt;] drm_crtc_helper_set_config+0x6d8/0x988
[   62.628906] [&lt;ffffffff8047dd40&gt;] drm_fb_helper_set_par+0x94/0x104
[   62.628906] [&lt;ffffffff80439d14&gt;] fbcon_init+0x424/0x57c
[   62.628906] [&lt;ffffffff8046a638&gt;] visual_init+0xb8/0x118
[   62.628906] [&lt;ffffffff8046b9f8&gt;] take_over_console+0x238/0x384
[   62.628906] [&lt;ffffffff80436df8&gt;] fbcon_takeover+0x7c/0xdc
[   62.628906] [&lt;ffffffff8024fa20&gt;] notifier_call_chain+0x44/0x94
[   62.628906] [&lt;ffffffff8024fcbc&gt;] __blocking_notifier_call_chain+0x48/0x68
[   62.628906] [&lt;ffffffff8042d990&gt;] register_framebuffer+0x228/0x260
[   62.628906] [&lt;ffffffff8047e010&gt;] drm_fb_helper_single_fb_probe+0x260/0x314
[   62.628906] [&lt;ffffffff8047e2c4&gt;] drm_fb_helper_initial_config+0x200/0x234
[   62.628906] [&lt;ffffffff804e5560&gt;] radeon_fbdev_init+0xd4/0xf4
[   62.628906] [&lt;ffffffff804e0e08&gt;] radeon_modeset_init+0x9bc/0xa18
[   62.628906] [&lt;ffffffff804bfc14&gt;] radeon_driver_load_kms+0xdc/0x12c
[   62.628906] [&lt;ffffffff8048b548&gt;] drm_get_pci_dev+0x148/0x238
[   62.628906] [&lt;ffffffff80423564&gt;] local_pci_probe+0x5c/0xd0
[   62.628906] [&lt;ffffffff80241ac4&gt;] work_for_cpu_fn+0x1c/0x30
[   62.628906] [&lt;ffffffff802427c8&gt;] process_one_work+0x274/0x3bc
[   62.628906] [&lt;ffffffff80242934&gt;] process_scheduled_works+0x24/0x44
[   62.628906] [&lt;ffffffff8024515c&gt;] worker_thread+0x31c/0x3f4
[   62.628906] [&lt;ffffffff802497a8&gt;] kthread+0x88/0x90
[   62.628906] [&lt;ffffffff80206794&gt;] kernel_thread_helper+0x10/0x18

Signed-off-by: Huacai Chen &lt;chenhc@lemote.com&gt;
Signed-off-by: Binbin Zhou &lt;zhoubb@lemote.com&gt;
Reviewed-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Acked-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt;
Signed-off-by: Dave Airlie &lt;airlied@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/radeon: fix card_posted check for newer asics</title>
<updated>2013-06-07T19:46:43Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2013-05-22T15:22:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2b23550e4d01f4c0c1560c899db43e1a63f7ccd0'/>
<id>urn:sha1:2b23550e4d01f4c0c1560c899db43e1a63f7ccd0</id>
<content type='text'>
commit 09fb8bd1a63b0f9f15e655c4fe8d047e5d2bf67a upstream.

Newer asics have variable numbers of crtcs.  Use that
rather than the asic family to determine which crtcs
to check.  This avoids checking non-existent crtcs or
missing crtcs on certain asics.

Reviewed-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/radeon: check incoming cliprects pointer</title>
<updated>2013-05-19T17:04:50Z</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2013-05-13T05:00:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac087d8e21d7722266d913d766b5c8b87772cbb4'/>
<id>urn:sha1:ac087d8e21d7722266d913d766b5c8b87772cbb4</id>
<content type='text'>
commit fefaedcfb82d2e57c2320acf60604ab03b750cc0 upstream.

The "boxes" parameter points into userspace memory. It should be verified
like any other operation against user memory.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/mm: fix dump table BUG</title>
<updated>2013-05-19T17:04:42Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-04-20T10:08:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=875cfc6271a37f35f6334c26184b16eb70625929'/>
<id>urn:sha1:875cfc6271a37f35f6334c26184b16eb70625929</id>
<content type='text'>
commit 3a359f0b21ab218c1bf7a6a1b638b6fd143d0b99 upstream.

In

commit 9e8944ab564f2e3dde90a518cd32048c58918608
Author: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Date:   Thu Nov 15 11:32:17 2012 +0000

    drm: Introduce an iterator over holes in the drm_mm range manager

helpers and iterators for hole handling have been introduced with some
debug BUG_ONs sprinkled over. Unfortunately this broke the mm dumper
which unconditionally tried to compute the size of the very first
hole.

While at it unify the code a bit with the hole dumping in the loop.

v2: Extract a hole dump helper.

Reported-by: Christopher Harvey &lt;charvey@matrox.com&gt;
Cc: Christopher Harvey &lt;charvey@matrox.com&gt;
Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Acked-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/radeon: fix possible segfault when parsing pm tables</title>
<updated>2013-05-11T20:38:03Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2013-04-25T13:29:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=82bab2b3b6d6029b06a4e85156ccf99bf95cc2f2'/>
<id>urn:sha1:82bab2b3b6d6029b06a4e85156ccf99bf95cc2f2</id>
<content type='text'>
commit f8e6bfc2ce162855fa4f9822a45659f4b542c960 upstream.

If we have a empty power table, bail early and allocate
the default power state.

Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=63865

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/radeon: fix endian bugs in atom_allocate_fb_scratch()</title>
<updated>2013-05-11T20:38:02Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2013-04-24T18:39:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b085d867934932a43188297161a5fbbe07565b4c'/>
<id>urn:sha1:b085d867934932a43188297161a5fbbe07565b4c</id>
<content type='text'>
commit beb71fc61c2cad64e347f164991b8ef476529e64 upstream.

Reviwed-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/radeon/evergreen+: don't enable HPD interrupts on eDP/LVDS</title>
<updated>2013-05-11T20:38:02Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2013-04-11T16:45:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=370112b115a3867b2ebf0ac6a2f44f11425fe818'/>
<id>urn:sha1:370112b115a3867b2ebf0ac6a2f44f11425fe818</id>
<content type='text'>
commit 2e97be73e5f74a317232740ae82eb8f95326a660 upstream.

Avoids potential interrupt storms when the display is disabled.

May fix:
https://bugzilla.kernel.org/show_bug.cgi?id=56041

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/radeon: don't use get_engine_clock() on APUs</title>
<updated>2013-05-11T20:38:02Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2013-03-18T21:12:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1459cd57d01eb554821bf263463ef18bc1f59ef'/>
<id>urn:sha1:b1459cd57d01eb554821bf263463ef18bc1f59ef</id>
<content type='text'>
commit bf05d9985111f85ed6922c134567b96eb789283b upstream.

It doesn't work reliably.  Just report back the currently
selected engine clock.

Partially fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=62493

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
