<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu, branch v2.6.39</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.39</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.39'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2011-05-16T02:01:43Z</updated>
<entry>
<title>drm: Take lock around probes for drm_fb_helper_hotplug_event</title>
<updated>2011-05-16T02:01:43Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-04-22T10:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=752d2635ebb12b6122ba05775f7d1ccfef14b275'/>
<id>urn:sha1:752d2635ebb12b6122ba05775f7d1ccfef14b275</id>
<content type='text'>
We need to hold the dev-&gt;mode_config.mutex whilst detecting the output
status. But we also need to drop it for the call into
drm_fb_helper_single_fb_probe(), which indirectly acquires the lock when
attaching the fbcon.

Failure to do so exposes a race with normal output probing. Detected by
adding some warnings that the mutex is held to the backend detect routines:

[   17.772456] WARNING: at drivers/gpu/drm/i915/intel_crt.c:471 intel_crt_detect+0x3e/0x373 [i915]()
[   17.772458] Hardware name: Latitude E6400
[   17.772460] Modules linked in: ....
[   17.772582] Pid: 11, comm: kworker/0:1 Tainted: G        W 2.6.38.4-custom.2 #8
[   17.772584] Call Trace:
[   17.772591]  [&lt;ffffffff81046af5&gt;] ? warn_slowpath_common+0x78/0x8c
[   17.772603]  [&lt;ffffffffa03f3e5c&gt;] ? intel_crt_detect+0x3e/0x373 [i915]
[   17.772612]  [&lt;ffffffffa0355d49&gt;] ?  drm_helper_probe_single_connector_modes+0xbf/0x2af [drm_kms_helper]
[   17.772619]  [&lt;ffffffffa03534d5&gt;] ?  drm_fb_helper_probe_connector_modes+0x39/0x4d [drm_kms_helper]
[   17.772625]  [&lt;ffffffffa0354760&gt;] ?  drm_fb_helper_hotplug_event+0xa5/0xc3 [drm_kms_helper]
[   17.772633]  [&lt;ffffffffa035577f&gt;] ? output_poll_execute+0x146/0x17c [drm_kms_helper]
[   17.772638]  [&lt;ffffffff81193c01&gt;] ? cfq_init_queue+0x247/0x345
[   17.772644]  [&lt;ffffffffa0355639&gt;] ? output_poll_execute+0x0/0x17c [drm_kms_helper]
[   17.772648]  [&lt;ffffffff8105b540&gt;] ? process_one_work+0x193/0x28e
[   17.772652]  [&lt;ffffffff8105c6bc&gt;] ? worker_thread+0xef/0x172
[   17.772655]  [&lt;ffffffff8105c5cd&gt;] ? worker_thread+0x0/0x172
[   17.772658]  [&lt;ffffffff8105c5cd&gt;] ? worker_thread+0x0/0x172
[   17.772663]  [&lt;ffffffff8105f767&gt;] ? kthread+0x7a/0x82
[   17.772668]  [&lt;ffffffff8100a724&gt;] ? kernel_thread_helper+0x4/0x10
[   17.772671]  [&lt;ffffffff8105f6ed&gt;] ? kthread+0x0/0x82
[   17.772674]  [&lt;ffffffff8100a720&gt;] ? kernel_thread_helper+0x0/0x10

Reported-by:  Frederik Himpe &lt;fhimpe@telenet.be&gt;
References: https://bugs.freedesktop.org/show_bug.cgi?id=36394
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Revert i915.semaphore=1 default from 47ae63e0</title>
<updated>2011-05-15T23:15:37Z</updated>
<author>
<name>Andy Lutomirski</name>
<email>luto@mit.edu</email>
</author>
<published>2011-05-13T16:14:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8eea1be174a1ea4b86323167bbadc8a6abdca613'/>
<id>urn:sha1:8eea1be174a1ea4b86323167bbadc8a6abdca613</id>
<content type='text'>
My Q67 / i7-2600 box has rev09 Sandy Bridge graphics.  It hangs
instantly when GNOME loads and it hangs so hard the reset button
doesn't work.  Setting i915.semaphore=0 fixes it.

Semaphores were disabled in a1656b9090f7008d2941c314f5a64724bea2ae37
in 2.6.38 and were re-enabled by

commit 47ae63e0c2e5fdb582d471dc906eb29be94c732f
Merge: c59a333 467cffb
Author: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Date:   Mon Mar 7 12:32:44 2011 +0000

    Merge branch 'drm-intel-fixes' into drm-intel-next

    Apply the trivial conflicting regression fixes, but keep GPU semaphores
    enabled.

    Conflicts:
        drivers/gpu/drm/i915/i915_drv.h
        drivers/gpu/drm/i915/i915_gem_execbuffer.c

(It's worth noting that the offending change is i915_drv.c,
 which is not a conflict.)

Signed-off-by: Andy Lutomirski &lt;luto@mit.edu&gt;
Acked-by: Keith Packard &lt;keithp@keithp.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>vga_switcheroo: don't toggle-switch devices</title>
<updated>2011-05-15T22:57:04Z</updated>
<author>
<name>Florian Mickler</name>
<email>florian@mickler.org</email>
</author>
<published>2011-05-15T14:32:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a67b8887ced9d54cab7759bdb19deafed37481eb'/>
<id>urn:sha1:a67b8887ced9d54cab7759bdb19deafed37481eb</id>
<content type='text'>
If the requested device is already active, ignore the request.

This restores the original behaviour of the interface. The change was
probably an unintended side effect of

commit 66b37c6777c4 vga_switcheroo: split switching into two stages

which did not take into account to duplicate the !active check in the split-off
stage2.

Fix this by factoring that check out of stage1 into the debugfs_write routine.

References: https://bugzilla.kernel.org/show_bug.cgi?id=34252
Reported-by: Igor Murzov &lt;e-mail@date.by&gt;
Tested-by: Igor Murzov &lt;e-mail@date.by&gt;
Signed-off-by: Florian Mickler &lt;florian@mickler.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon/kms: add some evergreen/ni safe regs</title>
<updated>2011-05-13T06:16:36Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexdeucher@gmail.com</email>
</author>
<published>2011-05-13T01:15:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3a8ab79eae4500e6ac618a92a90cee63d6e804a8'/>
<id>urn:sha1:3a8ab79eae4500e6ac618a92a90cee63d6e804a8</id>
<content type='text'>
need to programmed from the userspace drivers.

Signed-off-by: Alex Deucher &lt;alexdeucher@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon/kms: fix extended lvds info parsing</title>
<updated>2011-05-13T06:16:33Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexdeucher@gmail.com</email>
</author>
<published>2011-05-11T18:02:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=05fa7ea7d23980de0014417a0e0af2048a0f9fc1'/>
<id>urn:sha1:05fa7ea7d23980de0014417a0e0af2048a0f9fc1</id>
<content type='text'>
On rev &lt;= 1.1 tables, the offset is absolute,
on newer tables, it's relative.

Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=700326

Signed-off-by: Alex Deucher &lt;alexdeucher@gmail.com&gt;
Reviewed-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Cc: stable@kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon/kms: fix tiling reg on fusion</title>
<updated>2011-05-13T06:15:39Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexdeucher@gmail.com</email>
</author>
<published>2011-05-11T07:15:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d9282fca8a763be574a2fc20b2edcc6e132cbf90'/>
<id>urn:sha1:d9282fca8a763be574a2fc20b2edcc6e132cbf90</id>
<content type='text'>
The location of MC_ARB_RAMCFG changed on fusion.
I've diffed all the other regs in evergreend.h and this
is the only other reg that changed.

Signed-off-by: Alex Deucher &lt;alexdeucher@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>Revert "drm/i915: Only enable the plane after setting the fb base (pre-ILK)"</title>
<updated>2011-05-12T19:19:43Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-12T19:19:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=982b2035d9d7033f63db187bac55e9d8998b0266'/>
<id>urn:sha1:982b2035d9d7033f63db187bac55e9d8998b0266</id>
<content type='text'>
This reverts commit 49183b2818de6899383bb82bc032f9344d6791ff.

Quoth Franz Melchior:

  "This patch introduces a bug on my infamous "Acer Travelmate
   5735Z-452G32Mnss": when KMS takes over, the frame buffer contents get
   completely garbled up on screen, with colored stripes and unreadable
   text (photo on request).  Only when X11 is started, the screen gets
   restored again.  Closing and re-opening the lid partly cures the
   mess, too: it makes the font readable, though horizontally stretched."

Acked-by: Keith Packard &lt;keithp@keithp.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drm/radeon/nouveau: fix build regression on alpha due to Xen changes.</title>
<updated>2011-05-11T03:08:02Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2011-05-09T02:24:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=03a80665341bbb9a57064c2ddeca13b554d56893'/>
<id>urn:sha1:03a80665341bbb9a57064c2ddeca13b554d56893</id>
<content type='text'>
The Xen changes were using DMA_ERROR_CODE which isn't defined on a few
platforms, however we reverted the Xen patch that caused use to try and
use this code path earlier in 2.6.39 cycle, so for now lets just force
the code to never take this path and allow it to build again on alpha.

The proper long term answer is probably to store if the dma_addr has
been assigned to alongside the dma_addr in the higher level code,
though I think Thomas wanted to rewrite most of this anyways properly.

Acked-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon/kms: fix cayman acceleration</title>
<updated>2011-05-11T03:06:56Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexdeucher@gmail.com</email>
</author>
<published>2011-05-10T02:14:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1f03128251b77bfc68d1578a4f11316eb3806238'/>
<id>urn:sha1:1f03128251b77bfc68d1578a4f11316eb3806238</id>
<content type='text'>
The TCC disable setup was incorrect.  This
prevents the GPU from hanging when draw commands
are issued.

Signed-off-by: Alex Deucher &lt;alexdeucher@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: fix cayman struct accessors.</title>
<updated>2011-05-11T03:01:21Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2011-05-09T04:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=285e042dcd9fe9a9b7fbfdc215e4d076791ded8e'/>
<id>urn:sha1:285e042dcd9fe9a9b7fbfdc215e4d076791ded8e</id>
<content type='text'>
We are accessing totally the wrong struct in this case, and putting
uninitialised values into the GPU, which it doesn't like unsurprisingly.

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