<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers, branch v2.6.36.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers?h=v2.6.36.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers?h=v2.6.36.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-02-17T22:47:32Z</updated>
<entry>
<title>xhci: Use GFP_NOIO during device reset.</title>
<updated>2011-02-17T22:47:32Z</updated>
<author>
<name>Sarah Sharp</name>
<email>sarah.a.sharp@linux.intel.com</email>
</author>
<published>2010-12-28T21:08:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=062d29c90bda892a67eecb5e972715e1bd5df9cd'/>
<id>urn:sha1:062d29c90bda892a67eecb5e972715e1bd5df9cd</id>
<content type='text'>
commit a6d940dd759bf240d28624198660ed34582a327b upstream.

When xhci_discover_or_reset_device() is called after a host controller
power loss, the virtual device may need to be reallocated.  Make sure
xhci_alloc_dev() uses GFP_NOIO.  This avoid causing a deadlock by allowing
the kernel to flush pending I/O while reallocating memory for a virtual
device for a USB mass storage device that's holding the backing store for
dirty memory buffers.

This patch should be queued for the 2.6.37 stable tree.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>usb: Realloc xHCI structures after a hub is verified.</title>
<updated>2011-02-17T22:47:32Z</updated>
<author>
<name>Sarah Sharp</name>
<email>sarah.a.sharp@linux.intel.com</email>
</author>
<published>2010-12-23T19:12:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cc402387cc7fdb826b193994051dad64cdf6377b'/>
<id>urn:sha1:cc402387cc7fdb826b193994051dad64cdf6377b</id>
<content type='text'>
commit 653a39d1f61bdc9f277766736d21d2e9be0391cb upstream.

When there's an xHCI host power loss after a suspend from memory, the USB
core attempts to reset and verify the USB devices that are attached to the
system.  The xHCI driver has to reallocate those devices, since the
hardware lost all knowledge of them during the power loss.

When a hub is plugged in, and the host loses power, the xHCI hardware
structures are not updated to say the device is a hub.  This is usually
done in hub_configure() when the USB hub is detected.  That function is
skipped during a reset and verify by the USB core, since the core restores
the old configuration and alternate settings, and the hub driver has no
idea this happened.  This bug makes the xHCI host controller reject the
enumeration of low speed devices under the resumed hub.

Therefore, make the USB core re-setup the internal xHCI hub device
information by calling update_hub_device() when hub_activate() is called
for a hub reset resume.  After a host power loss, all devices under the
roothub get a reset-resume or a disconnect.

This patch should be queued for the 2.6.37 stable tree.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>xhci: Do not run xhci_cleanup_msix with irq disabled</title>
<updated>2011-02-17T22:47:32Z</updated>
<author>
<name>Zhang Rui</name>
<email>rui.zhang@intel.com</email>
</author>
<published>2010-12-17T21:17:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=91e0d66a31148ff5108a1d877ddf54319903148b'/>
<id>urn:sha1:91e0d66a31148ff5108a1d877ddf54319903148b</id>
<content type='text'>
commit 40a9fb17f32dbe54de3d636142a59288544deed7 upstream.

when unloading xhci_hcd, I got:
[  134.856813] xhci_hcd 0000:02:00.0: remove, state 4
[  134.858140] usb usb3: USB disconnect, address 1
[  134.874956] xhci_hcd 0000:02:00.0: Host controller not halted, aborting reset.
[  134.876351] BUG: sleeping function called from invalid context at kernel/mutex.c:85
[  134.877657] in_atomic(): 0, irqs_disabled(): 1, pid: 1451, name: modprobe
[  134.878975] Pid: 1451, comm: modprobe Not tainted 2.6.37-rc5+ #162
[  134.880298] Call Trace:
[  134.881602]  [&lt;ffffffff8104156a&gt;] __might_sleep+0xeb/0xf0
[  134.882921]  [&lt;ffffffff814763dc&gt;] mutex_lock+0x24/0x50
[  134.884229]  [&lt;ffffffff810a745c&gt;] free_desc+0x2e/0x5f
[  134.885538]  [&lt;ffffffff810a74c8&gt;] irq_free_descs+0x3b/0x71
[  134.886853]  [&lt;ffffffff8102584d&gt;] free_irq_at+0x31/0x36
[  134.888167]  [&lt;ffffffff8102723f&gt;] destroy_irq+0x69/0x71
[  134.889486]  [&lt;ffffffff8102747a&gt;] native_teardown_msi_irq+0xe/0x10
[  134.890820]  [&lt;ffffffff8124c382&gt;] default_teardown_msi_irqs+0x57/0x80
[  134.892158]  [&lt;ffffffff8124be46&gt;] free_msi_irqs+0x8b/0xe9
[  134.893504]  [&lt;ffffffff8124cd46&gt;] pci_disable_msix+0x35/0x39
[  134.894844]  [&lt;ffffffffa01b444a&gt;] xhci_cleanup_msix+0x31/0x51 [xhci_hcd]
[  134.896186]  [&lt;ffffffffa01b4b3a&gt;] xhci_stop+0x3a/0x80 [xhci_hcd]
[  134.897521]  [&lt;ffffffff81341dd4&gt;] usb_remove_hcd+0xfd/0x14a
[  134.898859]  [&lt;ffffffff813500ae&gt;] usb_hcd_pci_remove+0x5c/0xc6
[  134.900193]  [&lt;ffffffff8123c606&gt;] pci_device_remove+0x3f/0x91
[  134.901535]  [&lt;ffffffff812e7ea4&gt;] __device_release_driver+0x83/0xd9
[  134.902899]  [&lt;ffffffff812e8571&gt;] driver_detach+0x86/0xad
[  134.904222]  [&lt;ffffffff812e7d56&gt;] bus_remove_driver+0xb2/0xd8
[  134.905540]  [&lt;ffffffff812e8633&gt;] driver_unregister+0x6c/0x74
[  134.906839]  [&lt;ffffffff8123c8e4&gt;] pci_unregister_driver+0x44/0x89
[  134.908121]  [&lt;ffffffffa01b940e&gt;] xhci_unregister_pci+0x15/0x17 [xhci_hcd]
[  134.909396]  [&lt;ffffffffa01bd7d2&gt;] xhci_hcd_cleanup+0xe/0x10 [xhci_hcd]
[  134.910652]  [&lt;ffffffff8107fcd1&gt;] sys_delete_module+0x1ca/0x23b
[  134.911882]  [&lt;ffffffff81123932&gt;] ? path_put+0x22/0x26
[  134.913104]  [&lt;ffffffff8109a800&gt;] ? audit_syscall_entry+0x2c/0x148
[  134.914333]  [&lt;ffffffff8100ac82&gt;] system_call_fastpath+0x16/0x1b
[  134.915658] xhci_hcd 0000:02:00.0: USB bus 3 deregistered
[  134.916465] xhci_hcd 0000:02:00.0: PCI INT A disabled

and the same issue when xhci_suspend is invoked.  (Note from Sarah: That's
fixed by Andiry's patch before this, by synchronizing the irqs rather than
freeing them on suspend.)

Do not run xhci_cleanup_msix with irq disabled.

This patch should be queued for the 2.6.37 stable tree.

Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm/i915: Only bind to function 0 of the PCI device</title>
<updated>2011-02-17T22:47:32Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-02-01T19:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a5caac7e5485057711085b764fb3ad95e071e6e5'/>
<id>urn:sha1:a5caac7e5485057711085b764fb3ad95e071e6e5</id>
<content type='text'>
commit 5fe49d86f9d01044abf687a8cd21edef636d58aa upstream.

Early chipsets (gen2/3) used function 1 as a placeholder for multi-head.
We used to ignore these since they were not assigned to
PCI_CLASS_DISPLAY_VGA. However with 934f992c7 we attempt to bind to all
Intel PCI_CLASS_DISPLAY devices (and functions) to work in multi-gpu
systems. This fails hard on gen2/3.

Reported-by: Ferenc Wágner &lt;wferi@niif.hu&gt;
Tested-by: Ferenc Wágner &lt;wferi@niif.hu&gt;
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=28012
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>agp: ensure GART has an address before enabling it</title>
<updated>2011-02-17T22:47:31Z</updated>
<author>
<name>Stephen Kitt</name>
<email>steve@sk2.org</email>
</author>
<published>2011-01-31T22:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9487d9dcae378886b3d06452b630e211982a079a'/>
<id>urn:sha1:9487d9dcae378886b3d06452b630e211982a079a</id>
<content type='text'>
commit a70b95c017e8b518e1e069853355e4e497453dbb upstream.

Some BIOSs (eg.  the AMI BIOS on the Asus P4P800 motherboard) don't
initialise the GART address, and pcibios_assign_resources() can ignore it
because it can be marked as a host bridge (see
https://bugzilla.kernel.org/show_bug.cgi?id=24392#c5 for details).  This
was handled correctly up to 2.6.35, but the pci_enable_device() cleanup in
2.6.36 96576a9e1a0cdb8 ("agp: intel-agp: do not use PCI resources before
pci_enable_device()") means that the kernel tries to enable the GART
before assigning it an address; in such cases the GART overlaps with other
device assignments and ends up being disabled.

This patch fixes https://bugzilla.kernel.org/show_bug.cgi?id=24392

Note that I imagine efficeon-agp.c probably has the same problem, but
I can't test that and I'd like to make sure this patch is suitable for
-stable (since 2.6.36 and 2.6.37 are affected).

Signed-off-by: Stephen Kitt &lt;steve@sk2.org&gt;
Cc: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Cc: Maciej Rutecki &lt;maciej.rutecki@gmail.com&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Kulikov Vasiliy &lt;segooon@gmail.com&gt;
Cc: Florian Mickler &lt;florian@mickler.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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: Recognise non-VGA display devices</title>
<updated>2011-02-17T22:47:31Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-01-20T13:09:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=02a9f4dfb9318e84e6c46cd08adb286cfeaf87eb'/>
<id>urn:sha1:02a9f4dfb9318e84e6c46cd08adb286cfeaf87eb</id>
<content type='text'>
commit 934f992c763ae1e5eefcce8af769c16444085df7 upstream.

Starting with SandyBridge (though possible with earlier hacked BIOSes),
the BIOS may initialise the IGFX as secondary to a discrete GPU. Prior,
it would simply disable the integrated GPU. So we adjust our PCI class
mask to match any DISPLAY_CLASS device.

In such a configuration, the IGFX is not a primary VGA controller and
so should not take part in VGA arbitration, and the error return from
vga_client_register() is expected.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm/i915: Add dependency on CONFIG_TMPFS</title>
<updated>2011-02-17T22:47:30Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-01-20T10:03:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5cc301295c277a59cb8ae9c529b6b1ef130fef0c'/>
<id>urn:sha1:5cc301295c277a59cb8ae9c529b6b1ef130fef0c</id>
<content type='text'>
commit f7ab9b407b3bc83161c2aa74c992ba4782e87c9c upstream.

Without tmpfs, shmem_readpage() is not compiled in causing an OOPS as
soon as we try to allocate some swappable pages for GEM.

Jan 19 22:52:26 harlie kernel: Modules linked in: i915(+) drm_kms_helper cfbcopyarea video backlight cfbimgblt cfbfillrect
Jan 19 22:52:26 harlie kernel:
Jan 19 22:52:26 harlie kernel: Pid: 1125, comm: modprobe Not tainted 2.6.37Harlie #10 To be filled by O.E.M./To be filled by O.E.M.
Jan 19 22:52:26 harlie kernel: EIP: 0060:[&lt;00000000&gt;] EFLAGS: 00010246 CPU: 3
Jan 19 22:52:26 harlie kernel: EIP is at 0x0
Jan 19 22:52:26 harlie kernel: EAX: 00000000 EBX: f7b7d000 ECX: f3383100 EDX: f7b7d000
Jan 19 22:52:26 harlie kernel: ESI: f1456118 EDI: 00000000 EBP: f2303c98 ESP: f2303c7c
Jan 19 22:52:26 harlie kernel:  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Jan 19 22:52:26 harlie kernel: Process modprobe (pid: 1125, ti=f2302000 task=f259cd80 task.ti=f2302000)
Jan 19 22:52:26 harlie kernel: Stack:
Jan 19 22:52:26 harlie udevd-work[1072]: '/sbin/modprobe -b pci:v00008086d00000046sv00000000sd00000000bc03sc00i00' unexpected exit with status 0x0009
Jan 19 22:52:26 harlie kernel:  c1074061 000000d0 f2f42b80 00000000 000a13d2 f2d5dcc0 00000001 f2303cac
Jan 19 22:52:26 harlie kernel:  c107416f 00000000 000a13d2 00000000 f2303cd4 f8d620ed f2cee620 00001000
Jan 19 22:52:26 harlie kernel:  00000000 000a13d2 f1456118 f2d5dcc0 f1a40000 00001000 f2303d04 f8d637ab
Jan 19 22:52:26 harlie kernel: Call Trace:
Jan 19 22:52:26 harlie kernel:  [&lt;c1074061&gt;] ? do_read_cache_page+0x71/0x160
Jan 19 22:52:26 harlie kernel:  [&lt;c107416f&gt;] ? read_cache_page_gfp+0x1f/0x30
Jan 19 22:52:26 harlie kernel:  [&lt;f8d620ed&gt;] ? i915_gem_object_get_pages+0xad/0x1d0 [i915]
Jan 19 22:52:26 harlie kernel:  [&lt;f8d637ab&gt;] ? i915_gem_object_bind_to_gtt+0xeb/0x2d0 [i915]
Jan 19 22:52:26 harlie kernel:  [&lt;f8d65961&gt;] ? i915_gem_object_pin+0x151/0x190 [i915]
Jan 19 22:52:26 harlie kernel:  [&lt;c11e16ed&gt;] ? drm_gem_object_init+0x3d/0x60
Jan 19 22:52:26 harlie kernel:  [&lt;f8d65aa5&gt;] ? i915_gem_init_ringbuffer+0x105/0x1e0 [i915]
Jan 19 22:52:26 harlie kernel:  [&lt;f8d571b7&gt;] ? i915_driver_load+0x667/0x1160 [i915]

Reported-by: John J. Stimson-III &lt;john@idsfa.net&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm/i915/lvds: Add AOpen i915GMm-HFS to the list of false-positive LVDS</title>
<updated>2011-02-17T22:47:30Z</updated>
<author>
<name>Knut Petersen</name>
<email>knut_petersen@t-online.de</email>
</author>
<published>2011-01-14T15:38:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=660e15b4beb5de08c0cbde27bdea9800010b5d57'/>
<id>urn:sha1:660e15b4beb5de08c0cbde27bdea9800010b5d57</id>
<content type='text'>
commit 22ab70d3262ddb6e69b3c246a34e2967ba5eb1e8 upstream.

Signed-off-by: Knut Petersen &lt;knut_petersen@t-online.de&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm/i915: fix calculation of eDP signal levels on Sandybridge</title>
<updated>2011-02-17T22:47:30Z</updated>
<author>
<name>Yuanhan Liu</name>
<email>yuanhan.liu@linux.intel.com</email>
</author>
<published>2011-01-06T10:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=332db0727426a93e401c49fb04426d04c494c102'/>
<id>urn:sha1:332db0727426a93e401c49fb04426d04c494c102</id>
<content type='text'>
commit 3c5a62b5226ca5db993660281e9c2a7275d9fb02 upstream.

Some voltage swing/pre-emphasis level use the same value on eDP
Sandybridge, like 400mv_0db and 600mv_0db are with the same value
of (0x0 &lt;&lt; 22). So, fix them, and point out the value if it isn't
a supported voltage swing/pre-emphasis level.

Signed-off-by: Yuanhan Liu &lt;yuanhan.liu@linux.intel.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drm: Restore the old_fb upon modeset failure</title>
<updated>2011-02-17T22:47:30Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-01-08T15:10:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=22747485265db8f9e104d2c21e5b98dd16d21993'/>
<id>urn:sha1:22747485265db8f9e104d2c21e5b98dd16d21993</id>
<content type='text'>
commit 0ba41e449fd0f45f5b29c1009020ab1b298bedda upstream.

... or else we may end up disabling the wrong framebuffer, leading to an
OOPS, e.g:

[ 6033.229012] kernel BUG at drivers/gpu/drm/i915/i915_gem.c:3271!
[ 6033.229012] invalid opcode: 0000 [#1] SMP
[ 6033.229012] last sysfs file:
/sys/devices/virtual/backlight/acpi_video0/uevent
[ 6033.229012] Modules linked in: sunrpc cpufreq_ondemand acpi_cpufreq
mperf snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_seq
snd_seq_device snd_pcm snd_timer thinkpad_acpi ppdev snd r852 sm_common
iTCO_wdt uvcvideo i2c_i801 iTCO_vendor_support microcode wmi nand
videodev nand_ids nand_ecc snd_page_alloc parport_pc parport mtd
soundcore joydev v4l1_compat pcspkr uinput ipv6 sdhci_pci sdhci mmc_core
yenta_socket i915 drm_kms_helper drm i2c_algo_bit i2c_core video output
[last unloaded: scsi_wait_scan]
[ 6033.229012]
[ 6033.229012] Pid: 4834, comm: Xorg Not tainted 2.6.37-rc8+ #25 7661BL5/7661BL5
[ 6033.229012] EIP: 0060:[&lt;f86fda5e&gt;] EFLAGS: 00013246 CPU: 0
[ 6033.229012] EIP is at i915_gem_object_unpin+0x23/0x76 [i915]
[ 6033.229012] EAX: f68a4000 EBX: f6831f00 ECX: 000600fa EDX: f68a8000
[ 6033.229012] ESI: f68a4014 EDI: f68a42b8 EBP: f2169c44 ESP: f2169c3c
[ 6033.229012]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 6033.229012] Process Xorg (pid: 4834, ti=f2168000 task=f21c8000 task.ti=f2168000)
[ 6033.229012] Stack:
[ 6033.229012]  f3a84800 f68a4014 f2169c54 f87045d8 f3a84800 f872d9a8 f2169c68 f7fd8091
[ 6033.229012]  f3b952a4 00000000 f68a414c f2169cf0 f7fd9377 00000000 00000000 f7fd98b0
[ 6033.229012]  f7fd9f4e 0000000f f7f328a0 00000000 00000000 00000000 f2169ca4 f68a414c
[ 6033.229012] Call Trace:
[ 6033.229012]  [&lt;f87045d8&gt;] ? intel_crtc_disable+0x36/0x41 [i915]
[ 6033.229012]  [&lt;f7fd8091&gt;] ?  drm_helper_disable_unused_functions+0xcd/0xf9 [drm_kms_helper]
[ 6033.229012]  [&lt;f7fd9377&gt;] ? drm_crtc_helper_set_config+0x62a/0x7f7 [drm_kms_helper]
[ 6033.229012]  [&lt;c04daa10&gt;] ? __slab_free+0x1b/0xa4
[ 6033.229012]  [&lt;f7fd7e62&gt;] ? drm_fb_helper_initial_config+0x466/0x497 [drm_kms_helper]
[ 6033.229012]  [&lt;f7fd7ea3&gt;] ? drm_fb_helper_restore+0x10/0x2a [drm_kms_helper]
[ 6033.229012]  [&lt;f86f2577&gt;] ? i915_driver_lastclose+0x2a/0x57 [i915]
[ 6033.229012]  [&lt;f7f1989f&gt;] ? drm_lastclose+0x45/0x23e [drm]
[ 6033.229012]  [&lt;f7f1a0b4&gt;] ? drm_release+0x462/0x4d7 [drm]

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>
</feed>
