<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu, branch v2.6.38.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/gpu?h=v2.6.38.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/gpu?h=v2.6.38.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-03-23T20:03:41Z</updated>
<entry>
<title>drm: Hold the mode mutex whilst probing for sysfs status</title>
<updated>2011-03-23T20:03:41Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-03-15T11:40:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d65298f49793478b76a0783233a054bc61cd16ac'/>
<id>urn:sha1:d65298f49793478b76a0783233a054bc61cd16ac</id>
<content type='text'>
commit 007c80a5497a3f9c8393960ec6e6efd30955dcb1 upstream.

As detect will use hw registers and may modify structures, it needs to be
serialised by use of the dev-&gt;mode_config.mutex. Make it so.

Otherwise, we may cause random crashes as the sysfs file is queried
whilst a concurrent hotplug poll is being run. For example:

[ 1189.189626] BUG: unable to handle kernel NULL pointer dereference at 00000100
[ 1189.189821] IP: [&lt;e0c22019&gt;] intel_tv_detect_type+0xa2/0x203 [i915]
[ 1189.190020] *pde = 00000000
[ 1189.190104] Oops: 0000 [#1] SMP
[ 1189.190209] last sysfs file: /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-SVIDEO-1/status
[ 1189.190412] Modules linked in: mperf cpufreq_conservative cpufreq_userspace cpufreq_powersave cpufreq_stats decnet uinput fuse loop joydev snd_hd a_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm i915 snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq drm_kms_helper snd_timer uvcvideo d rm snd_seq_device eeepc_laptop tpm_tis usbhid videodev i2c_algo_bit v4l1_compat snd sparse_keymap i2c_core hid serio_raw tpm psmouse evdev tpm_bios rfkill shpchp ac processor rng_c ore battery video power_supply soundcore pci_hotplug button output snd_page_alloc usb_storage uas ext3 jbd mbcache sd_mod crc_t10dif ata_generic ahci libahci ata_piix libata uhci_h cd ehci_hcd scsi_mod usbcore thermal atl2 thermal_sys nls_base [last unloaded: scsi_wait_scan]
[ 1189.192007]
[ 1189.192007] Pid: 1464, comm: upowerd Not tainted 2.6.37-2-686 #1 ASUSTeK Computer INC. 701/701
[ 1189.192007] EIP: 0060:[&lt;e0c22019&gt;] EFLAGS: 00010246 CPU: 0
[ 1189.192007] EIP is at intel_tv_detect_type+0xa2/0x203 [i915]
[ 1189.192007] EAX: 00000000 EBX: dca74000 ECX: e0f68004 EDX: 00068004
[ 1189.192007] ESI: dd110c00 EDI: 400c0c37 EBP: dca7429c ESP: de365e2c
[ 1189.192007]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 1189.192007] Process upowerd (pid: 1464, ti=de364000 task=dcc8acb0 task.ti=de364000)
[ 1189.192007] Stack: Mar 15 03:43:23 hostname kernel: [ 1189.192007]  e0c2cda4 70000000 400c0c30 00000000 dd111000 de365e54 de365f24 dd110c00
[ 1189.192007]  e0c22203 01000000 00000003 00000000 00000000 00000000 00000000 4353544e
[ 1189.192007]  30383420 00000069 00000000 00000000 00000000 00000000 00000000 00000000
[ 1189.192007] Call Trace: Mar 15 03:43:23 hostname kernel: [ 1189.192007]  [&lt;e0c22203&gt;] ?  intel_tv_detect+0x89/0x12d [i915]
[ 1189.192007]  [&lt;e0a9dcef&gt;] ?  status_show+0x0/0x2f [drm]
[ 1189.192007]  [&lt;e0a9dd03&gt;] ?  status_show+0x14/0x2f [drm]

[Digression: what is upowerd doing reading those power hungry files?]

Reported-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm/radeon/kms: fix typo in atom overscan setup</title>
<updated>2011-03-23T20:03:41Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexdeucher@gmail.com</email>
</author>
<published>2011-03-15T03:18:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8901c28523089f357a3c75ba0f085a03e823914d'/>
<id>urn:sha1:8901c28523089f357a3c75ba0f085a03e823914d</id>
<content type='text'>
commit 942b0e95c34f1ba432d08e1c0288ed032d32c3b2 upstream.

Typo in the aspect scale setup.

Signed-off-by: Alex Deucher &lt;alexdeucher@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm/i915: Replace vblank PM QoS with "Interrupt-Based AGPBUSY#"</title>
<updated>2011-03-23T20:03:40Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-02-05T10:08:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7d77d22137391037be35d11cbf881133cc07b430'/>
<id>urn:sha1:7d77d22137391037be35d11cbf881133cc07b430</id>
<content type='text'>
commit 8692d00e996ed2a6560702623e5cb646da0f9767 upstream.

I stumbled over this magic bit in the gen3 INSTPM:

Bit11 Interrupt-Based AGPBUSY# Enable:

‘0’ = Pending GMCH interrupts will not cause AGPBUSY# assertion.
‘1’ = Pending GMCH interrupts will cause AGPBUSY# assertion and hence
      can cause the CPU to exit C3.  There is no suppression of cacheable
      writes.

Note that in either case in C3 the interrupts are not lost. They will be
forwarded to the ICH when the GMCH is out of C3.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Tested-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm/radeon: fix problem with changing active VRAM size. (v2)</title>
<updated>2011-03-14T02:51:04Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2011-03-13T23:47:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5359533801e3dd3abca5b7d3d985b0b33fd9fe8b'/>
<id>urn:sha1:5359533801e3dd3abca5b7d3d985b0b33fd9fe8b</id>
<content type='text'>
So we used to use lpfn directly to restrict VRAM when we couldn't
access the unmappable area, however this was removed in
93225b0d7bc030f4a93165347a65893685822d70 as it also restricted
the gtt placements. However it was only later noticed that this
broke on some hw.

This removes the active_vram_size, and just explicitly sets it
when it changes, TTM/drm_mm will always use the real_vram_size,
and the active vram size will change the TTM size used for lpfn
setting.

We should re-work the fpfn/lpfn to per-placement at some point
I suspect, but that is too late for this kernel.

Hopefully this addresses:
https://bugs.freedesktop.org/show_bug.cgi?id=35254

v2: fix reported useful VRAM size to userspace to be correct.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: fix page flipping hangs on r300/r400</title>
<updated>2011-03-13T00:03:34Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2011-03-11T11:17:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c640e8ca172c6a5c45abe8e2e8353900a84427fa'/>
<id>urn:sha1:c640e8ca172c6a5c45abe8e2e8353900a84427fa</id>
<content type='text'>
We've been getting reports of complete system lockups with rv3xx hw on
AGP and PCIE when running gnome-shell or kwin with compositing.

It appears the hw really doesn't like setting these registers while
stuff is running, this moves the setting of the registers into the modeset
since they aren't required to be changed anywhere else.

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

Reported-and-tested-by: Álmos &lt;aaalmosss@gmail.com
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: add pageflip hooks for fusion</title>
<updated>2011-03-11T05:01:15Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2011-03-11T00:04:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fdc315a19a2c33da29dd87d4ca88f4e4407bd42d'/>
<id>urn:sha1:fdc315a19a2c33da29dd87d4ca88f4e4407bd42d</id>
<content type='text'>
Looks like these got passed over with both being merged at the same
time but not quite meeting in the middle.

should fix: https://bugs.freedesktop.org/show_bug.cgi?id=34137
along with Michael's phoronix article.

Reported-by: Chi-Thanh Christopher Nguyen
Article-written-by: Michael Larabel @ phoronix
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Revive combination mode for backlight control</title>
<updated>2011-03-10T21:06:57Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2011-03-10T13:02:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ba3820ade317ee36e496b9b40d2ec3987dd4aef0'/>
<id>urn:sha1:ba3820ade317ee36e496b9b40d2ec3987dd4aef0</id>
<content type='text'>
This reverts commit 951f3512dba5bd44cda3e5ee22b4b522e4bb09fb

    drm/i915: Do not handle backlight combination mode specially

since this commit introduced other regressions due to untouched LBPC
register, e.g. the backlight dimmed after resume.

In addition to the revert, this patch includes a fix for the original
issue (weird backlight levels) by removing the wrong bit shift for
computing the current backlight level.
Also, including typo fixes (lpbc -&gt; lbpc).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34524
Acked-by: Indan Zupancic &lt;indan@nul.nu&gt;
Reviewed-by: Keith Packard &lt;keithp@keithp.com&gt;
Reviewed-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drm: index i shadowed in 2nd loop</title>
<updated>2011-03-07T22:28:33Z</updated>
<author>
<name>roel</name>
<email>roel.kluin@gmail.com</email>
</author>
<published>2011-03-07T17:00:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=062ac622e03a8be5f894555ece540d63a54ae8bd'/>
<id>urn:sha1:062ac622e03a8be5f894555ece540d63a54ae8bd</id>
<content type='text'>
Index i was already used in thhe first loop

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge remote branch 'ickle/drm-intel-fixes' into drm-fixes</title>
<updated>2011-03-07T21:18:35Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2011-03-07T21:18:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=862060414b7f3e6b1c20cc3cf1f2014328069f0b'/>
<id>urn:sha1:862060414b7f3e6b1c20cc3cf1f2014328069f0b</id>
<content type='text'>
* ickle/drm-intel-fixes:
  drm/i915: Rebind the buffer if its alignment constraints changes with tiling
  drm/i915: Disable GPU semaphores by default
  drm/i915: Do not overflow the MMADDR write FIFO
  Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing"
</content>
</entry>
<entry>
<title>drm/nv50-nvc0: prevent multiple vm/bar flushes occuring simultanenously</title>
<updated>2011-03-07T21:03:08Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2011-03-07T07:18:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6f70a4c3d19e8e8e1047a4dbf0ca910fed39f619'/>
<id>urn:sha1:6f70a4c3d19e8e8e1047a4dbf0ca910fed39f619</id>
<content type='text'>
The per-vm mutex doesn't prevent this completely, a flush coming from the
BAR VM could potentially happen at the same time as one for the channel
VM.  Not to mention that if/when we get per-client/channel VM, this will
happen far more frequently.

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