<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm, branch v3.5-rc6</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/gpu/drm?h=v3.5-rc6</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/gpu/drm?h=v3.5-rc6'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-07-03T10:18:48Z</updated>
<entry>
<title>drm/i915: kick any firmware framebuffers before claiming the gtt</title>
<updated>2012-07-03T10:18:48Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2012-07-01T15:09:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9f846a16d213523fbe6daea17e20df6b8ac5a1e5'/>
<id>urn:sha1:9f846a16d213523fbe6daea17e20df6b8ac5a1e5</id>
<content type='text'>
Especially vesafb likes to map everything as uc- (yikes), and if that
mapping hangs around still while we try to map the gtt as wc the
kernel will downgrade our request to uc-, resulting in abyssal
performance.

Unfortunately we can't do this as early as readon does (i.e. as the
first thing we do when initializing the hw) because our fb/mmio space
region moves around on a per-gen basis. So I've had to move it below
the gtt initialization, but that seems to work, too. The important
thing is that we do this before we set up the gtt wc mapping.

Now an altogether different question is why people compile their
kernels with vesafb enabled, but I guess making things just work isn't
bad per se ...

v2:
- s/radeondrmfb/inteldrmfb/
- fix up error handling

v3: Kill #ifdef X86, this is Intel after all. Noticed by Ben Widawsky.

v4: Jani Nikula complained about the pointless bool primary
initialization.

v5: Don't oops if we can't allocate, noticed by Chris Wilson.

v6: Resolve conflicts with agp rework and fixup whitespace.

This is commit e188719a2891f01b3100d in drm-next.

Backport to 3.5 -fixes queue requested by Dave Airlie - due to grub
using vesa on fedora their initrd seems to load vesafb before loading
the real kms driver. So tons more people actually experience a
dead-slow gpu. Hence also the Cc: stable.

Cc: stable@vger.kernel.org
Reported-and-tested-by: "Kilarski, Bernard R" &lt;bernard.r.kilarski@intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: edid: Don't add inferred modes with higher resolution</title>
<updated>2012-07-03T10:18:10Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-07-03T09:22:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7b668ebe2fce517873b0c28dd70c10fef1d3dc2f'/>
<id>urn:sha1:7b668ebe2fce517873b0c28dd70c10fef1d3dc2f</id>
<content type='text'>
When a monitor EDID doesn't give the preferred bit, driver assumes
that the mode with the higest resolution and rate is the preferred
mode.  Meanwhile the recent changes for allowing more modes in the
GFT/CVT ranges give actually more modes, and some modes may be over
the native size.  Thus such a mode would be picked up as the preferred
mode although it's no native resolution.

For avoiding such a problem, this patch limits the addition of
inferred modes by checking not to be greater than other modes.
Also, it checks the duplicated mode entry at the same time.

Reviewed-by: Adam Jackson &lt;ajax@redhat.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: fix rare segfault</title>
<updated>2012-07-03T10:17:09Z</updated>
<author>
<name>Jerome Glisse</name>
<email>jglisse@redhat.com</email>
</author>
<published>2012-07-02T16:40:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1ef5325b238676c7a16bcd374250b07e77682736'/>
<id>urn:sha1:1ef5325b238676c7a16bcd374250b07e77682736</id>
<content type='text'>
In gem idle/busy ioctl the radeon object was derefenced after
drm_gem_object_unreference_unlocked which in case the object
have been destroyed lead to use of a possibly free pointer with
possibly wrong data.

Signed-off-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: fix VM page table setup on SI</title>
<updated>2012-06-29T14:13:07Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2012-06-28T21:53:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c21b328ea8c7c71cd2daf50557db440bbaa7ef55'/>
<id>urn:sha1:c21b328ea8c7c71cd2daf50557db440bbaa7ef55</id>
<content type='text'>
Cayman and trinity allow for variable sized VM page
tables, but SI requires that all page tables be the
same size.  The current code assumes variablely sized
VM page tables so SI may end up with part of each page
table overlapping with other memory which could end
up being interpreted by the VM hw as garbage.

Change the code to better accomodate SI.  Allocate enough
space for at least 2 full page tables and always set
last_pfn to max_pfn on SI so each VM is backed by a full
page table.  This limits us to only 2 VMs active at any
given time on SI.  This will be rectified and the code can
be reunified once we move to two level page tables.

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Reviewed-by: Jerome Glisse &lt;jglisse@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-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes</title>
<updated>2012-06-27T18:56:20Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-06-27T18:56:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2266b058d3ab9dfc545305d68e754ad9c9a639a0'/>
<id>urn:sha1:2266b058d3ab9dfc545305d68e754ad9c9a639a0</id>
<content type='text'>
Daniel writes:
"Two tiny patches and one revert:
- Kill a bogus error message introduced in 3.4, further Bspec reading
  indicates that this is how the hw is supposed to work.
- Reorder one backlight register restore, fixing broken backlight on some
  machines after resume.
- Revert a hack from Jesse for ivb backlight control - it breaks the
  backlight controls on my shiny new ivb laptop."

* 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
  Revert "drm/i915: allow PCH PWM override on IVB"
  drm/i915: Fix eDP blank screen after S3 resume on HP desktops
  drm/i915: rip out the PM_IIR WARN
</content>
</entry>
<entry>
<title>Revert "drm/i915: allow PCH PWM override on IVB"</title>
<updated>2012-06-27T18:26:30Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2012-06-27T14:43:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7aa1e7f06d6ea1bce3b27630d50769d13da28b1a'/>
<id>urn:sha1:7aa1e7f06d6ea1bce3b27630d50769d13da28b1a</id>
<content type='text'>
This reverts commit f82cfb6bcda164ef3a66b8c3fc549b1f9bdd09ad.

This breaks the backlight controls on my IVB asus zenbook with an eDP
panel.

I guess the right fix would be to read this bit and use either the pch
or the cpu register to frob the backlight values. But that is stuff
for -next.

Cc: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/nouveau: add license header to prime.</title>
<updated>2012-06-27T08:27:35Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-06-27T08:26:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e9bf5f36b09f8ec6c168ef58ee7d4890545ede1c'/>
<id>urn:sha1:e9bf5f36b09f8ec6c168ef58ee7d4890545ede1c</id>
<content type='text'>
Just forgot this when I posted it, and yes I'm the only person
to have changed the file since.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/fbcon: using nv_two_heads is not a good idea</title>
<updated>2012-06-26T11:16:43Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2012-06-26T02:12:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9bd0c15fcfb42f6245447c53347d65ad9e72080b'/>
<id>urn:sha1:9bd0c15fcfb42f6245447c53347d65ad9e72080b</id>
<content type='text'>
nv_two_heads() was never meant to be used outside of pre-nv50 code.  The
code checks for &gt;= NV_10 for 2 CRTCs, then downgrades a few specific
chipsets to 1 CRTC based on (pci_device &amp; 0x0ff0).

The breakage example seen is on GTX 560Ti, with a pciid of 0x1200, which
gets detected as an NV20 (0x020x) with 1 CRTC by nv_two_heads(), causing
memory corruption because there's actually 2 CRTCs..

This switches fbcon to use the CRTC count directly from the mode_config
structure, which will also fix the same issue on Kepler boards which have
4 CRTCs.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/udl: Make sure to get correct endian keys from vendor descriptor</title>
<updated>2012-06-25T06:43:12Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-06-25T06:32:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d42f0349f3fed647c61c2d432e974bbdafcfb3fb'/>
<id>urn:sha1:d42f0349f3fed647c61c2d432e974bbdafcfb3fb</id>
<content type='text'>
This is a port of
commit b49f184b640dcfab7ede394cf2a1ff4fe3d154f5
Author: Ben Collins &lt;bcollins@ubuntu.com&gt;
from udlfb to udl kms driver.

The driver was not using le16_to_cpu when reading keys from the vendor
descriptor, causing incorrect parsing. Mainly, sku_pixel_limit was not
being parsed on big-endian systems. This would result in a blank screen
on big-endian CPUs where the DL chips's max mode was smaller than the
monitor's native mode.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Fix eDP blank screen after S3 resume on HP desktops</title>
<updated>2012-06-22T22:01:42Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-06-21T13:30:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6db65cbb941f9d433659bdad02b307f6d94465df'/>
<id>urn:sha1:6db65cbb941f9d433659bdad02b307f6d94465df</id>
<content type='text'>
This patch fixes the problem on some HP desktop machines with eDP
which give blank screens after S3 resume.

It turned out that BLC_PWM_CPU_CTL must be written after
BLC_PWM_CPU_CTL2.  Otherwise it doesn't take effect on these
SNB machines.

Tested with 3.5-rc3 kernel.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49233

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
</feed>
