<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/gpu, branch v3.8-rc4</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.8-rc4</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.8-rc4'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2013-01-13T22:45:27Z</updated>
<entry>
<title>udldrmfb: udl_get_edid: drop unneeded i--</title>
<updated>2013-01-13T22:45:27Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2013-01-11T11:08:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7b4cf994e4c6ba48872bb25253cc393b7fb74c82'/>
<id>urn:sha1:7b4cf994e4c6ba48872bb25253cc393b7fb74c82</id>
<content type='text'>
This is a left-over from when udl_get_edid returned the amount of bytes
successfully read, which it no longer does.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>udldrmfb: udl_get_edid: usb_control_msg buffer must not be on the stack</title>
<updated>2013-01-13T22:44:33Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2013-01-11T11:08:57Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=242187b362555849e8c971dfbbfd55f8bd9fa717'/>
<id>urn:sha1:242187b362555849e8c971dfbbfd55f8bd9fa717</id>
<content type='text'>
The buffer passed to usb_control_msg may end up in scatter-gather list, and
may thus not be on the stack. Having it on the stack usually works on x86, but
not on other archs.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>udldrmfb: Fix EDID not working with monitors with EDID extension blocks</title>
<updated>2013-01-13T22:44:02Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2013-01-11T11:08:56Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c930812fe5ebe725760422c9c351d1f6fde1502d'/>
<id>urn:sha1:c930812fe5ebe725760422c9c351d1f6fde1502d</id>
<content type='text'>
udldrmfb only reads the main EDID block, and if that advertises extensions
the drm_edid code expects them to be present, and starts reading beyond the
buffer udldrmfb passes it.

Although it may be possible to read more EDID info with the udl we simpy don't
know how, and even if trial and error gets it working on one device, that is
no guarantee it will work on other revisions. So this patch does a simple fix
in the form of patching the EDID info to report 0 extension blocks, this
fixes udldrmfb only doing 1024x768 on monitors with EDID extension blocks.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'drm-fixes-3.8' of git://people.freedesktop.org/~agd5f/linux into drm-next</title>
<updated>2013-01-13T22:16:54Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-01-13T22:16:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7d00813f68cea787cedc7251e46b3596a8cfba97'/>
<id>urn:sha1:7d00813f68cea787cedc7251e46b3596a8cfba97</id>
<content type='text'>
Fixes for UMS mode which has been broken for a while plus an rn50 fix
and a dma fix.

* 'drm-fixes-3.8' of git://people.freedesktop.org/~agd5f/linux:
  radeon/kms: fix dma relocation checking
  radeon/kms: force rn50 chip to always report connected on analog output
  drm/radeon: fix error path in kpage allocation
  drm/radeon: fix a bogus kfree
  drm/radeon: fix NULL pointer dereference in UMS mode
</content>
</entry>
<entry>
<title>Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next</title>
<updated>2013-01-13T22:15:36Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-01-13T22:15:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=94bc70a8e7ed734c201a4d7b0607619372f4b724'/>
<id>urn:sha1:94bc70a8e7ed734c201a4d7b0607619372f4b724</id>
<content type='text'>
Regression fixes since rework mostly.

* 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
  drm/nvc0/fb: fix crash when different mutex is used to protect same list
  drm/nouveau/clock: fix support for more than 2 monitors on nve0
  drm/nv50/disp: fix selection of bios script for analog outputs
  drm/nv17-50: restore fence buffer on resume
  drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards
  drm/nouveau: fix nouveau_client allocation failure path
  drm/nouveau: don't return freed object from nouveau_handle_create
  drm/nouveau/vm: fix memory corruption when pgt allocation fails
  drm/nouveau: add locking around instobj list operations
  drm/nouveau: do not forcibly power on lvds panels
  drm/nouveau/devinit: ensure legacy vga control is enabled during post
</content>
</entry>
<entry>
<title>drm/nvc0/fb: fix crash when different mutex is used to protect same list</title>
<updated>2013-01-13T08:07:46Z</updated>
<author>
<name>Aleksi Torhamo</name>
<email>aleksi@torhamo.net</email>
</author>
<published>2013-01-09T18:08:48Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=43f789792e2c7ea2bff37195e4c4b4239e9e02b7'/>
<id>urn:sha1:43f789792e2c7ea2bff37195e4c4b4239e9e02b7</id>
<content type='text'>
Fixes regression introduced in commit 861d2107
"drm/nouveau/fb: merge fb/vram and port to subdev interfaces"

nv50_fb_vram_{new,del} functions were changed to use
nouveau_subdev-&gt;mutex instead of the old nouveau_mm-&gt;mutex.
nvc0_fb_vram_new still uses the nouveau_mm-&gt;mutex, but nvc0 doesn't
have its own fb_vram_del function, using nv50_fb_vram_del instead.
Because of this, on nvc0 a different mutex ends up being used to protect
additions and deletions to the same list.

This patch is a -stable candidate for 3.7.

Signed-off-by: Aleksi Torhamo &lt;aleksi@torhamo.net&gt;
Reported-by: Roy Spliet &lt;r.spliet@student.tudelft.nl&gt;
Tested-by: Roy Spliet &lt;r.spliet@student.tudelft.nl&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/nouveau/clock: fix support for more than 2 monitors on nve0</title>
<updated>2013-01-13T08:07:46Z</updated>
<author>
<name>Aleksi Torhamo</name>
<email>aleksi@torhamo.net</email>
</author>
<published>2013-01-04T16:39:13Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d19528a9e4f220519c2cb3f56ef0c84ead3ee440'/>
<id>urn:sha1:d19528a9e4f220519c2cb3f56ef0c84ead3ee440</id>
<content type='text'>
Fixes regression introduced in commit 70790f4f
"drm/nouveau/clock: pull in the implementation from all over the place"

When code was moved from nv50_crtc_set_clock to nvc0_clock_pll_set,
the PLLs it is used for got limited to only the first two VPLLs.

nv50_crtc_set_clock was only called to change VPLLs, so it didn't
limit what it was used for in any way. Since nvc0_clock_pll_set is
used for all PLLs, it has to specify which PLLs the code is used for,
and only listed the first two VPLLs.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=58735

This patch is a -stable candidate for 3.7.

Signed-off-by: Aleksi Torhamo &lt;aleksi@torhamo.net&gt;
Tested-by: Aleksi Torhamo &lt;aleksi@torhamo.net&gt;
Tested-by: Sean Santos &lt;quantheory@gmail.com&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/nv50/disp: fix selection of bios script for analog outputs</title>
<updated>2013-01-13T08:07:45Z</updated>
<author>
<name>Marcin Slusarz</name>
<email>marcin.slusarz@gmail.com</email>
</author>
<published>2013-01-03T18:38:45Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c684cef795cb5356ae7f6a7ad613946eef14265f'/>
<id>urn:sha1:c684cef795cb5356ae7f6a7ad613946eef14265f</id>
<content type='text'>
Analog output number was overwritten by value from digital output path.
Fix it.

Fixes resume from s2ram: https://bugs.freedesktop.org/show_bug.cgi?id=58729
(as stumbled on by J Binder, Pontus Fuchs and me)
Fixes blank screen on module load (reported by Sune Mølgaard).

Fixes regression from commit 186ecad21c854385823a430b1402053ae7fd59dc
("drm/nv50/disp: move remaining interrupt handling into core").

Reported-by: J Binder &lt;wheel@herr-der-mails.de&gt;
Reported-by: Pontus Fuchs &lt;pontus.fuchs@gmail.com&gt;
Reported-by: Sune Mølgaard &lt;sune@molgaard.org&gt;
Signed-off-by: Marcin Slusarz &lt;marcin.slusarz@gmail.com&gt;
Tested-by: Marcin Slusarz &lt;marcin.slusarz@gmail.com&gt;
Tested-by: Sune Mølgaard &lt;sune@molgaard.org&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nv17-50: restore fence buffer on resume</title>
<updated>2013-01-13T08:07:45Z</updated>
<author>
<name>Marcin Slusarz</name>
<email>marcin.slusarz@gmail.com</email>
</author>
<published>2012-12-25T17:13:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f20ebd034eab43fd38c58b11c5bb5fb125e5f7d7'/>
<id>urn:sha1:f20ebd034eab43fd38c58b11c5bb5fb125e5f7d7</id>
<content type='text'>
Since commit 5e120f6e4b3f35b741c5445dfc755f50128c3c44 "drm/nouveau/fence:
convert to exec engine, and improve channel sync" nouveau fence sync
implementation for nv17-50 and nvc0+ started to rely on state of fence buffer
left by previous sync operation. But as pinned bo's (where fence state is
stored) are not saved+restored across suspend/resume, we need to do it
manually.

nvc0+ was fixed by commit d6ba6d215a538a58f0f0026f0961b0b9125e8042
"drm/nvc0/fence: restore pre-suspend fence buffer context on resume".

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=50121

Signed-off-by: Marcin Slusarz &lt;marcin.slusarz@gmail.com&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards</title>
<updated>2013-01-13T08:07:45Z</updated>
<author>
<name>Marcin Slusarz</name>
<email>marcin.slusarz@gmail.com</email>
</author>
<published>2012-12-18T19:30:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=92441b2263866c27ef48137be5aa6c8c692652fc'/>
<id>urn:sha1:92441b2263866c27ef48137be5aa6c8c692652fc</id>
<content type='text'>
Commit 2a44e499 ("drm/nouveau/disp: introduce proper init/fini, separate
from create/destroy") started to call display init routines on pre-nv50
hardware on module load. But LVDS init code sets driver state in a way
which prevents modesetting code from operating properly.

nv04_display_init calls nv04_dfp_restore, which sets encoder-&gt;last_dpms to
NV_DPMS_CLEARED.

drm_crtc_helper_set_mode
  nv04_dfp_prepare
    nv04_lvds_dpms(DRM_MODE_DPMS_OFF)

nv04_lvds_dpms checks last_dpms mode (which is NV_DPMS_CLEARED) and wrongly
assumes it's a "powersaving mode", the new one (DRM_MODE_DPMS_OFF) is too,
so it skips calling some crucial lvds scripts.

Reported-by: Chris Paulson-Ellis &lt;chris@edesix.com&gt;
Signed-off-by: Marcin Slusarz &lt;marcin.slusarz@gmail.com&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
</feed>
