<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/drivers/gpu, branch v3.3-rc3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=v3.3-rc3</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=v3.3-rc3'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2012-02-02T15:54:48Z</updated>
<entry>
<title>drm/radeon/kms/blit: fix blit copy for very large buffers</title>
<updated>2012-02-02T15:54:48Z</updated>
<author>
<name>Ilija Hadzic</name>
<email>ihadzic@research.bell-labs.com</email>
</author>
<published>2012-02-02T15:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=52b53a0bf8026a322cfa6cfec6a10dd31fef8752'/>
<id>urn:sha1:52b53a0bf8026a322cfa6cfec6a10dd31fef8752</id>
<content type='text'>
Evergreen and NI blit copy was broken if the buffer maps to a rectangle
whose one dimension is 16384 (max dimension allowed by these chips).
In the mainline kernel, the problem is exposed only when buffers are
very large (1G), but it's still a problem. The problem could be exposed
for smaller buffers if anyone modifies the algorithm for rectangle
construction in r600_blit_create_rect() (the reason why someone would
modify that algorithm is to tune the performance of buffer moves).

The root cause was in i2f() function which only operated on range between
0 and 16383. Fix this by extending the range of i2f() function to 0 to
32767.

While at it improve the function so that the range can be easily
extended in the future (if it becomes necessary), cleanup lines
over 80 characters, and replace in-line comments with one strategic
comment that explains the crux of the function.

Credits to michel@daenzer.net for pointing out the root cause of
the bug.

v2: Fix I2F_MAX_INPUT constant definition goof and warn only once
    if input argument is out of range. Edit the comment a little
    bit to avoid some linguistic confusion and make it look better
    in general.

Signed-off-by: Ilija Hadzic &lt;ihadzic@research.bell-labs.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Reviewed-by: Michel Dänzer &lt;michel@daenzer.net&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon/kms: fix TRAVIS panel setup</title>
<updated>2012-02-02T15:26:50Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2012-02-02T15:18:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=304a48400d9718f74ec35ae46f30868a5f4c4516'/>
<id>urn:sha1:304a48400d9718f74ec35ae46f30868a5f4c4516</id>
<content type='text'>
Different versions of the DP to LVDS bridge chip
need different panel mode settings depending on
the chip version used.

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

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: fix use after free in ATRM bios reading code.</title>
<updated>2012-02-02T15:25:16Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-02-02T15:25:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=de47a9cd62771e3e78954d855d2304fbad4c5a44'/>
<id>urn:sha1:de47a9cd62771e3e78954d855d2304fbad4c5a44</id>
<content type='text'>
Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=45503

Reported-and-Debugged-by: mlambda@gmail.com
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon/kms: Fix device tree linkage of DP i2c buses too</title>
<updated>2012-02-01T15:45:34Z</updated>
<author>
<name>Jean Delvare</name>
<email>jdelvare@suse.de</email>
</author>
<published>2012-01-31T08:55:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=3f7e363249ad5f4070025f6c09fd264f93f24eab'/>
<id>urn:sha1:3f7e363249ad5f4070025f6c09fd264f93f24eab</id>
<content type='text'>
Properly set the parent device of DP i2c buses before registering them
too.

Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Reviewed-by: Alex Deucher &lt;alexdeucher@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: Set DESKTOP_HEIGHT register to the framebuffer (not mode) height.</title>
<updated>2012-02-01T15:42:54Z</updated>
<author>
<name>Michel Dänzer</name>
<email>michel.daenzer@amd.com</email>
</author>
<published>2012-02-01T11:09:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=1b61925061660009f5b8047f93c5297e04541273'/>
<id>urn:sha1:1b61925061660009f5b8047f93c5297e04541273</id>
<content type='text'>
The value of this register is transferred to the V_COUNTER register at the
beginning of vertical blank. V_COUNTER is the reference for VLINE waits and
goes from VIEWPORT_Y_START to VIEWPORT_Y_START+VIEWPORT_HEIGHT during scanout,
so if VIEWPORT_Y_START is not 0, V_COUNTER actually went backwards at the
beginning of vertical blank, and VLINE waits excluding the whole scanout area
could never finish (possibly only if VIEWPORT_Y_START is larger than the length
of vertical blank in scanlines). Setting DESKTOP_HEIGHT to the framebuffer
height should prevent this for any kind of VLINE wait.

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

CC: stable@vger.kernel.org
Signed-off-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon/kms: disable output polling when suspended</title>
<updated>2012-02-01T15:41:39Z</updated>
<author>
<name>Seth Forshee</name>
<email>seth.forshee@canonical.com</email>
</author>
<published>2012-02-01T01:06:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=86698c20f71d488b32c49ed4687fb3cf8a88a5ca'/>
<id>urn:sha1:86698c20f71d488b32c49ed4687fb3cf8a88a5ca</id>
<content type='text'>
Polling the outputs when the device is suspended can result in erroneous
status updates. Disable output polling during suspend to prevent this
from happening.

Signed-off-by: Seth Forshee &lt;seth.forshee@canonical.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nv50/pm: signedness bug in nv50_pm_clocks_pre()</title>
<updated>2012-02-01T05:27:43Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2012-01-04T07:20:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=a9d993882008a1ae2c953064f0c2ca7e604b1333'/>
<id>urn:sha1:a9d993882008a1ae2c953064f0c2ca7e604b1333</id>
<content type='text'>
calc_mclk() returns zero on success and negative on failure but clk is
a u32.

v2: Martin Peres:
- clk should be an int, not a u32

Signed-off-by: Martin Peres &lt;martin.peres@labri.fr&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/gem: fix fence_sync race / oops</title>
<updated>2012-02-01T05:27:20Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2012-01-10T00:18:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=525895ba388c949aa906f26e3ec5cb1ab041f56b'/>
<id>urn:sha1:525895ba388c949aa906f26e3ec5cb1ab041f56b</id>
<content type='text'>
Due to a race it was possible for a fence to be destroyed while another
thread was trying to synchronise with it.  If this happened in the fallback
non-semaphore path, it lead to the following oops due to fence-&gt;channel
being NULL.

BUG: unable to handle kernel NULL pointer dereference at   (null)
IP: [&lt;fa9632ce&gt;] nouveau_fence_update+0xe/0xe0 [nouveau]
*pde = a649c067
SMP
Modules linked in: fuse nouveau(O) ttm(O) drm_kms_helper(O) drm(O) mxm_wmi video wmi netconsole configfs lockd bnep bluetooth rfkill ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ip6table_filter ip6_tables snd_hda_codec_realtek snd_hda_intel snd_hda_cobinfmt_misc uinput ata_generic pata_acpi pata_aet2c_algo_bit i2c_core [last unloaded: wmi]

Pid: 2255, comm: gnome-shell Tainted: G           O 3.2.0-0.rc5.git0.1.fc17.i686 #1 System manufacturer System Product Name/M2A-VM
EIP: 0060:[&lt;fa9632ce&gt;] EFLAGS: 00010296 CPU: 1
EIP is at nouveau_fence_update+0xe/0xe0 [nouveau]
EAX: 00000000 EBX: ddfc6dd0 ECX: dd111580 EDX: 00000000
ESI: 00003e80 EDI: dd111580 EBP: dd121d00 ESP: dd121ce8
 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process gnome-shell (pid: 2255, ti=dd120000 task=dd111580 task.ti=dd120000)
Stack:
 7dc86c76 00000000 00003e80 ddfc6dd0 00003e80 dd111580 dd121d0c fa96371f
 00000000 dd121d3c fa963773 dd111580 01000246 000ec53d 00000000 ddfc6dd0
 00001f40 00000000 ddfc6dd0 00000010 dc7df840 dd121d6c fa9639a0 00000000
Call Trace:
 [&lt;fa96371f&gt;] __nouveau_fence_signalled+0x1f/0x30 [nouveau]
 [&lt;fa963773&gt;] __nouveau_fence_wait+0x43/0xd0 [nouveau]
 [&lt;fa9639a0&gt;] nouveau_fence_sync+0x1a0/0x1c0 [nouveau]
 [&lt;fa964046&gt;] validate_list+0x176/0x300 [nouveau]
 [&lt;f7d9c9c0&gt;] ? ttm_bo_mem_put+0x30/0x30 [ttm]
 [&lt;fa964b8a&gt;] nouveau_gem_ioctl_pushbuf+0x48a/0xfd0 [nouveau]
 [&lt;c0406481&gt;] ? die+0x31/0x80
 [&lt;f7c93d98&gt;] drm_ioctl+0x388/0x490 [drm]
 [&lt;c0406481&gt;] ? die+0x31/0x80
 [&lt;fa964700&gt;] ? nouveau_gem_ioctl_new+0x150/0x150 [nouveau]
 [&lt;c0635c7b&gt;] ? file_has_perm+0xcb/0xe0
 [&lt;f7c93a10&gt;] ? drm_copy_field+0x80/0x80 [drm]
 [&lt;c0564f56&gt;] do_vfs_ioctl+0x86/0x5b0
 [&lt;c0406481&gt;] ? die+0x31/0x80
 [&lt;c0635f22&gt;] ? selinux_file_ioctl+0x62/0x130
 [&lt;c0554f30&gt;] ? fget_light+0x30/0x340
 [&lt;c05654ef&gt;] sys_ioctl+0x6f/0x80
 [&lt;c099e3a4&gt;] syscall_call+0x7/0xb
 [&lt;c0406481&gt;] ? die+0x31/0x80
 [&lt;c0406481&gt;] ? die+0x31/0x80

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/nouveau: fix typo on mxmdcb option</title>
<updated>2012-02-01T05:23:59Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2012-01-07T06:48:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=1eb8a619b43c1e99179ebadbc9c614ed37358f2d'/>
<id>urn:sha1:1eb8a619b43c1e99179ebadbc9c614ed37358f2d</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/mxm: pretend to succeed, even if we can't shadow the MXM-SIS</title>
<updated>2012-02-01T05:23:58Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2012-02-01T05:08:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=ce2e7895faba8fabaa917f52293126e5f4174fa9'/>
<id>urn:sha1:ce2e7895faba8fabaa917f52293126e5f4174fa9</id>
<content type='text'>
There's at least one known case where our shadowing code is buggy, and we
fail init.  Until we can be confident we're doing all this correctly, lets
succeed and risk crazy bios tables rather than failing for perfectly valid
configs too.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
</feed>
