* Sun Aug 01 2010 Chuck Ebbert <cebbert@redhat.com> 2.6.34.2-32.rc1

- Linux 2.6.34.2-rc1
- Comment out upstream merged patches:
    pci-pm-do-not-use-native-pcie-pme-by-default.patch
    linux-2.6-acpi-sleep-live-sci-live.patch (slightly different upstream patch)
    drm-i915-make-G4X-style-PLL-search-more-permissive.patch
    drm-intel-945gm-stability-fixes.patch
    drm-radeon-fix-shared-ddc-handling.patch
    drm-i915-add-reclaimable-to-page-allocations.patch
    drm-i915-fix-hibernate-memory-corruption.patch
    iwlwifi-Recover-TX-flow-stall-due-to-stuck-queue.patch
    iwlwifi-recover_from_tx_stall.patch
    mac80211-do-not-wipe-out-old-supported-rates.patch
    mac80211-fix-supported-rates-IE-if-AP-doesnt-give-us-its-rates.patch
    iwlwifi-cancel-scan-watchdog-in-iwl_bg_abort_scan.patch
    ata-generic-handle-new-mbp-with-mcp89.patch
    ata-generic-implement-ata-gen-flags.patch
    x86-debug-send-sigtrap-for-user-icebp.patch
    ethtool-fix-buffer-overflow.patch
    sched-fix-over-scheduling-bug.patch
    kbuild-fix-modpost-segfault.patch
    acpica-00-linux-2.6.git-0f849d2cc6863c7874889ea60a871fb71399dd3f.patch
    acpica-01-linux-2.6.git-a997ab332832519c2e292db13f509e4360495a5a.patch
    acpica-02-linux-2.6.git-e4e9a735991c80fb0fc1bd4a13a93681c3c17ce0.patch
    acpica-03-linux-2.6.git-fd247447c1d94a79d5cfc647430784306b3a8323.patch
    acpica-04-linux-2.6.git-c9a8bbb7704cbf515c0fc68970abbe4e91d68521.patch
    acpica-05-linux-2.6.git-ce43ace02320a3fb9614ddb27edc3a8700d68b26.patch
    acpica-06-linux-2.6.git-9d3c752de65dbfa6e522f1d666deb0ac152ef367.patch
    acpi-pm-do-not-enable-gpes-for-system-wakeup-in-advance.patch
    cifs-fix-malicious-redirect-problem-in-the-dns-lookup-code.patch
    usb-obey-the-sysfs-power-wakeup-setting.patch
- Fix up virtqueue-wrappers.patch to apply after 2.6.34.2 due to:
    virtio_net-fix-oom-handling-on-tx.patch
- Revert -stable DRM patches already in our drm-next patch:
    amd64-agp-probe-unknown-agp-devices-the-right-way.patch
    i915-fix-lock-imbalance-on-error-path.patch
    drm-i915-hold-the-spinlock-whilst-resetting-unpin_work-along-error-path.patch
- Fix up drm-next.patch to apply after 2.6.34.2 due to:
    drm-i915-gen3-page-flipping-fixes.patch
    drm-i915-don-t-queue-flips-during-a-flip-pending-event.patch
- Drop patches now upstream from linux-2.6-v4l-dvb-uvcvideo-update.patch:
    V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams
    V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16
- Temporarily comment out ssb_check_for_sprom.patch due to ugly conflicts with:
    ssb-handle-netbook-devices-where-the-sprom-address-is-changed.patch
This commit is contained in:
Chuck Ebbert 2010-08-02 02:50:42 -04:00
parent 5ad0e98752
commit ee4b78d86a
6 changed files with 289 additions and 139 deletions

View File

@ -10136,7 +10136,7 @@ index c3cfafc..59a2bf8 100644
i915_suspend(dev, pmm);
}
}
@@ -1480,19 +1402,19 @@ static int i915_load_modeset_init(struct drm_device *dev,
@@ -1480,23 +1402,23 @@ static int i915_load_modeset_init(struct drm_device *dev,
/* if we have > 1 VGA cards, then disable the radeon VGA resources */
ret = vga_client_register(dev->pdev, dev, NULL, i915_vga_set_decode);
if (ret)
@ -10150,6 +10150,10 @@ index c3cfafc..59a2bf8 100644
- goto destroy_ringbuffer;
+ goto cleanup_vga_client;
/* IIR "flip pending" bit means done if this bit is set */
if (IS_GEN3(dev) && (I915_READ(ECOSKPD) & ECO_FLIP_DONE))
dev_priv->flip_pending_is_done = true;
intel_modeset_init(dev);
ret = drm_irq_install(dev);
@ -13676,9 +13680,9 @@ index df6a9cd..2479be0 100644
+ if (HAS_BSD(dev) && (iir & I915_BSD_USER_INTERRUPT))
+ DRM_WAKEUP(&dev_priv->bsd_ring.irq_queue);
+
if (iir & I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT)
if (iir & I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT) {
intel_prepare_page_flip(dev, 0);
if (dev_priv->flip_pending_is_done)
@@ -950,7 +958,8 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
intel_finish_page_flip(dev, 1);
}
@ -13845,8 +13849,8 @@ index 4cbc521..64b0a3a 100644
#define EMR 0x020b4
#define ESR 0x020b8
@@ -368,6 +369,36 @@
#define BB_ADDR 0x02140 /* 8 bytes */
#define GFX_FLSH_CNTL 0x02170 /* 915+ only */
#define ECO_GATING_CX_ONLY (1<<3)
#define ECO_FLIP_DONE (1<<0)
+/* GEN6 interrupt control */
+#define GEN6_RENDER_HWSTAM 0x2098
@ -16186,9 +16190,9 @@ index c7502b6..d753257 100644
return;
}
@@ -4220,14 +4678,11 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
unsigned long flags;
int pipesrc_reg = (intel_crtc->pipe == 0) ? PIPEASRC : PIPEBSRC;
int ret, pipesrc;
u32 flip_mask;
- RING_LOCALS;
work = kzalloc(sizeof *work, GFP_KERNEL);

View File

@ -48,7 +48,7 @@ Summary: The Linux kernel
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
# scripts/rebase.sh should be made to do that for you, actually.
#
%global baserelease 31
%global baserelease 32
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -60,9 +60,9 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
%define stable_update 1
%define stable_update 2
# Is it a -stable RC?
%define stable_rc 0
%define stable_rc 1
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev .%{stable_update}
@ -1293,7 +1293,7 @@ ApplyPatch pci-acpi-disable-aspm-if-no-osc.patch
# allow drivers to disable aspm at load time
ApplyPatch pci-aspm-dont-enable-too-early.patch
# stop PCIe hotplug interrupt storm (#613412)
ApplyPatch pci-pm-do-not-use-native-pcie-pme-by-default.patch
#ApplyPatch pci-pm-do-not-use-native-pcie-pme-by-default.patch
# fall back to original BIOS address when reassignment fails (KORG#16263)
ApplyPatch pci-fall-back-to-original-bios-bar-addresses.patch
@ -1302,7 +1302,7 @@ ApplyPatch pci-fall-back-to-original-bios-bar-addresses.patch
#
# ACPI
ApplyPatch linux-2.6-acpi-sleep-live-sci-live.patch
#ApplyPatch linux-2.6-acpi-sleep-live-sci-live.patch
# ALSA
ApplyPatch hda_intel-prealloc-4mb-dmabuffer.patch
@ -1371,8 +1371,8 @@ ApplyPatch revert-drm-kms-toggle-poll-around-switcheroo.patch
ApplyPatch drm-i915-fix-edp-panels.patch
ApplyPatch i915-fix-crt-hotplug-regression.patch
# RHBZ#572799
ApplyPatch drm-i915-make-G4X-style-PLL-search-more-permissive.patch
ApplyPatch drm-intel-945gm-stability-fixes.patch
#ApplyPatch drm-i915-make-G4X-style-PLL-search-more-permissive.patch
#ApplyPatch drm-intel-945gm-stability-fixes.patch
ApplyPatch drm-encoder-disable.patch
# Nouveau DRM + drm fixes
@ -1383,11 +1383,11 @@ ApplyOptionalPatch drm-intel-next.patch
ApplyPatch drm-intel-make-lvds-work.patch
# radeon fixes
ApplyPatch drm-radeon-fix-shared-ddc-handling.patch
#ApplyPatch drm-radeon-fix-shared-ddc-handling.patch
# hibernation memory corruption fixes
ApplyPatch drm-i915-fix-hibernate-memory-corruption.patch
ApplyPatch drm-i915-add-reclaimable-to-page-allocations.patch
#ApplyPatch drm-i915-fix-hibernate-memory-corruption.patch
#ApplyPatch drm-i915-add-reclaimable-to-page-allocations.patch
ApplyPatch linux-2.6-intel-iommu-igfx.patch
@ -1423,43 +1423,45 @@ ApplyPatch neuter_intel_microcode_load.patch
#ApplyPatch coredump-uid-pipe-check.patch
# rhbz#533746
ApplyPatch ssb_check_for_sprom.patch
# awful, ugly conflicts between this patch and the 2.6.34.2 patch:
# ssb-handle-netbook-devices-where-the-sprom-address-is-changed.patch
#ApplyPatch ssb_check_for_sprom.patch
# iwlwifi fixes from F-13-2.6.33
ApplyPatch iwlwifi-add-internal-short-scan-support-for-3945.patch
ApplyPatch iwlwifi-Recover-TX-flow-stall-due-to-stuck-queue.patch
#ApplyPatch iwlwifi-Recover-TX-flow-stall-due-to-stuck-queue.patch
ApplyPatch iwlwifi-move-plcp-check-to-separated-function.patch
ApplyPatch iwlwifi-Recover-TX-flow-failure.patch
ApplyPatch iwlwifi-code-cleanup-for-connectivity-recovery.patch
ApplyPatch iwlwifi-iwl_good_ack_health-only-apply-to-AGN-device.patch
ApplyPatch iwlwifi-recover_from_tx_stall.patch
#ApplyPatch iwlwifi-recover_from_tx_stall.patch
# mac80211/iwlwifi fix connections to some APs (rhbz#558002)
ApplyPatch mac80211-explicitly-disable-enable-QoS.patch
ApplyPatch iwlwifi-manage-QoS-by-mac-stack.patch
ApplyPatch mac80211-do-not-wipe-out-old-supported-rates.patch
ApplyPatch mac80211-fix-supported-rates-IE-if-AP-doesnt-give-us-its-rates.patch
#ApplyPatch mac80211-do-not-wipe-out-old-supported-rates.patch
#ApplyPatch mac80211-fix-supported-rates-IE-if-AP-doesnt-give-us-its-rates.patch
# iwlwifi: cancel scan watchdog in iwl_bg_abort_scan
ApplyPatch iwlwifi-cancel-scan-watchdog-in-iwl_bg_abort_scan.patch
#ApplyPatch iwlwifi-cancel-scan-watchdog-in-iwl_bg_abort_scan.patch
ApplyPatch quiet-prove_RCU-in-cgroups.patch
# BZ#608034
ApplyPatch ata-generic-handle-new-mbp-with-mcp89.patch
ApplyPatch ata-generic-implement-ata-gen-flags.patch
#ApplyPatch ata-generic-handle-new-mbp-with-mcp89.patch
#ApplyPatch ata-generic-implement-ata-gen-flags.patch
# BZ#609548
ApplyPatch x86-debug-send-sigtrap-for-user-icebp.patch
#ApplyPatch x86-debug-send-sigtrap-for-user-icebp.patch
# CVE-2010-2478
ApplyPatch ethtool-fix-buffer-overflow.patch
#ApplyPatch ethtool-fix-buffer-overflow.patch
# fix performance problem with CGROUPS
ApplyPatch sched-fix-over-scheduling-bug.patch
#ApplyPatch sched-fix-over-scheduling-bug.patch
# fix modpost segfault during kernel build (#595915)
ApplyPatch kbuild-fix-modpost-segfault.patch
#ApplyPatch kbuild-fix-modpost-segfault.patch
# fix broken oneshot support and missing umount events (#607327)
ApplyPatch inotify-fix-inotify-oneshot-support.patch
@ -1469,24 +1471,24 @@ ApplyPatch inotify-send-IN_UNMOUNT-events.patch
ApplyPatch kvm-mmu-fix-conflict-access-permissions-in-direct-sp.patch
# ACPI GPE enable/disable fixes, needed preparation for the powerdown fix
ApplyPatch acpica-00-linux-2.6.git-0f849d2cc6863c7874889ea60a871fb71399dd3f.patch
ApplyPatch acpica-01-linux-2.6.git-a997ab332832519c2e292db13f509e4360495a5a.patch
ApplyPatch acpica-02-linux-2.6.git-e4e9a735991c80fb0fc1bd4a13a93681c3c17ce0.patch
ApplyPatch acpica-03-linux-2.6.git-fd247447c1d94a79d5cfc647430784306b3a8323.patch
ApplyPatch acpica-04-linux-2.6.git-c9a8bbb7704cbf515c0fc68970abbe4e91d68521.patch
ApplyPatch acpica-05-linux-2.6.git-ce43ace02320a3fb9614ddb27edc3a8700d68b26.patch
ApplyPatch acpica-06-linux-2.6.git-9d3c752de65dbfa6e522f1d666deb0ac152ef367.patch
#ApplyPatch acpica-00-linux-2.6.git-0f849d2cc6863c7874889ea60a871fb71399dd3f.patch
#ApplyPatch acpica-01-linux-2.6.git-a997ab332832519c2e292db13f509e4360495a5a.patch
#ApplyPatch acpica-02-linux-2.6.git-e4e9a735991c80fb0fc1bd4a13a93681c3c17ce0.patch
#ApplyPatch acpica-03-linux-2.6.git-fd247447c1d94a79d5cfc647430784306b3a8323.patch
#ApplyPatch acpica-04-linux-2.6.git-c9a8bbb7704cbf515c0fc68970abbe4e91d68521.patch
#ApplyPatch acpica-05-linux-2.6.git-ce43ace02320a3fb9614ddb27edc3a8700d68b26.patch
#ApplyPatch acpica-06-linux-2.6.git-9d3c752de65dbfa6e522f1d666deb0ac152ef367.patch
# fix system powering back on after shutdown (#613239)
ApplyPatch acpi-pm-do-not-enable-gpes-for-system-wakeup-in-advance.patch
#ApplyPatch acpi-pm-do-not-enable-gpes-for-system-wakeup-in-advance.patch
# fix newer synaptics touchpads not being recognized
ApplyPatch input-synaptics-relax-capability-id-checks-on-new-hardware.patch
# CVE-2010-2524
ApplyPatch cifs-fix-malicious-redirect-problem-in-the-dns-lookup-code.patch
#ApplyPatch cifs-fix-malicious-redirect-problem-in-the-dns-lookup-code.patch
# restore ability of USB remotes to wake the machine (#617559)
ApplyPatch usb-obey-the-sysfs-power-wakeup-setting.patch
#ApplyPatch usb-obey-the-sysfs-power-wakeup-setting.patch
# END OF PATCH APPLICATIONS
@ -2107,6 +2109,52 @@ fi
%changelog
* Sun Aug 01 2010 Chuck Ebbert <cebbert@redhat.com> 2.6.34.2-32.rc1
- Linux 2.6.34.2-rc1
- Comment out upstream merged patches:
pci-pm-do-not-use-native-pcie-pme-by-default.patch
linux-2.6-acpi-sleep-live-sci-live.patch (slightly different upstream patch)
drm-i915-make-G4X-style-PLL-search-more-permissive.patch
drm-intel-945gm-stability-fixes.patch
drm-radeon-fix-shared-ddc-handling.patch
drm-i915-add-reclaimable-to-page-allocations.patch
drm-i915-fix-hibernate-memory-corruption.patch
iwlwifi-Recover-TX-flow-stall-due-to-stuck-queue.patch
iwlwifi-recover_from_tx_stall.patch
mac80211-do-not-wipe-out-old-supported-rates.patch
mac80211-fix-supported-rates-IE-if-AP-doesnt-give-us-its-rates.patch
iwlwifi-cancel-scan-watchdog-in-iwl_bg_abort_scan.patch
ata-generic-handle-new-mbp-with-mcp89.patch
ata-generic-implement-ata-gen-flags.patch
x86-debug-send-sigtrap-for-user-icebp.patch
ethtool-fix-buffer-overflow.patch
sched-fix-over-scheduling-bug.patch
kbuild-fix-modpost-segfault.patch
acpica-00-linux-2.6.git-0f849d2cc6863c7874889ea60a871fb71399dd3f.patch
acpica-01-linux-2.6.git-a997ab332832519c2e292db13f509e4360495a5a.patch
acpica-02-linux-2.6.git-e4e9a735991c80fb0fc1bd4a13a93681c3c17ce0.patch
acpica-03-linux-2.6.git-fd247447c1d94a79d5cfc647430784306b3a8323.patch
acpica-04-linux-2.6.git-c9a8bbb7704cbf515c0fc68970abbe4e91d68521.patch
acpica-05-linux-2.6.git-ce43ace02320a3fb9614ddb27edc3a8700d68b26.patch
acpica-06-linux-2.6.git-9d3c752de65dbfa6e522f1d666deb0ac152ef367.patch
acpi-pm-do-not-enable-gpes-for-system-wakeup-in-advance.patch
cifs-fix-malicious-redirect-problem-in-the-dns-lookup-code.patch
usb-obey-the-sysfs-power-wakeup-setting.patch
- Fix up virtqueue-wrappers.patch to apply after 2.6.34.2 due to:
virtio_net-fix-oom-handling-on-tx.patch
- Revert -stable DRM patches already in our drm-next patch:
amd64-agp-probe-unknown-agp-devices-the-right-way.patch
i915-fix-lock-imbalance-on-error-path.patch
drm-i915-hold-the-spinlock-whilst-resetting-unpin_work-along-error-path.patch
- Fix up drm-next.patch to apply after 2.6.34.2 due to:
drm-i915-gen3-page-flipping-fixes.patch
drm-i915-don-t-queue-flips-during-a-flip-pending-event.patch
- Drop patches now upstream from linux-2.6-v4l-dvb-uvcvideo-update.patch:
V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams
V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16
- Temporarily comment out ssb_check_for_sprom.patch due to ugly conflicts with:
ssb-handle-netbook-devices-where-the-sprom-address-is-changed.patch
* Sun Aug 01 2010 Chuck Ebbert <cebbert@redhat.com> 2.6.34.1-31
- Backport initial dist-git fixes from master (377da6d08)
- Modify the prep stage so multiple trees can be prepped in a

View File

@ -1,3 +1,198 @@
From 468f0b44ce4b002ca7d9260f802a341854752c02 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu, 27 May 2010 13:18:13 +0100
Subject: drm/i915: Hold the spinlock whilst resetting unpin_work along error path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Chris Wilson <chris@chris-wilson.co.uk>
commit 468f0b44ce4b002ca7d9260f802a341854752c02 upstream.
Delay taking the mutex until we need to and ensure that we hold the
spinlock when resetting unpin_work on the error path. Also defer the
debugging print messages until after we have released the spinlock.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/gpu/drm/i915/intel_display.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4239,8 +4239,6 @@ static int intel_crtc_page_flip(struct d
if (work == NULL)
return -ENOMEM;
- mutex_lock(&dev->struct_mutex);
-
work->event = event;
work->dev = crtc->dev;
intel_fb = to_intel_framebuffer(crtc->fb);
@@ -4250,10 +4248,10 @@ static int intel_crtc_page_flip(struct d
/* We borrow the event spin lock for protecting unpin_work */
spin_lock_irqsave(&dev->event_lock, flags);
if (intel_crtc->unpin_work) {
- DRM_DEBUG_DRIVER("flip queue: crtc already busy\n");
spin_unlock_irqrestore(&dev->event_lock, flags);
kfree(work);
- mutex_unlock(&dev->struct_mutex);
+
+ DRM_DEBUG_DRIVER("flip queue: crtc already busy\n");
return -EBUSY;
}
intel_crtc->unpin_work = work;
@@ -4262,13 +4260,19 @@ static int intel_crtc_page_flip(struct d
intel_fb = to_intel_framebuffer(fb);
obj = intel_fb->obj;
+ mutex_lock(&dev->struct_mutex);
ret = intel_pin_and_fence_fb_obj(dev, obj);
if (ret != 0) {
- DRM_DEBUG_DRIVER("flip queue: %p pin & fence failed\n",
- to_intel_bo(obj));
- kfree(work);
- intel_crtc->unpin_work = NULL;
mutex_unlock(&dev->struct_mutex);
+
+ spin_lock_irqsave(&dev->event_lock, flags);
+ intel_crtc->unpin_work = NULL;
+ spin_unlock_irqrestore(&dev->event_lock, flags);
+
+ kfree(work);
+
+ DRM_DEBUG_DRIVER("flip queue: %p pin & fence failed\n",
+ to_intel_bo(obj));
return ret;
}
From f953c9353f5fe6e98fa7f32f51060a74d845b5f8 Mon Sep 17 00:00:00 2001
From: Daniel J Blueman <daniel.blueman@gmail.com>
Date: Mon, 17 May 2010 14:23:52 +0100
Subject: i915: fix lock imbalance on error path...
From: Daniel J Blueman <daniel.blueman@gmail.com>
commit f953c9353f5fe6e98fa7f32f51060a74d845b5f8 upstream.
While investigating Intel i5 Arrandale GPU lockups with -rc4, I
noticed a lock imbalance.
Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/gpu/drm/i915/i915_drv.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -341,6 +341,7 @@ int i965_reset(struct drm_device *dev, u
}
} else {
DRM_ERROR("Error occurred. Don't know how to reset this chip.\n");
+ mutex_unlock(&dev->struct_mutex);
return -ENODEV;
}
From 6fd024893911dcb51b4a0aa71971db5ba38f7071 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 24 Mar 2010 03:36:31 +0000
Subject: amd64-agp: Probe unknown AGP devices the right way
From: Ben Hutchings <ben@decadent.org.uk>
commit 6fd024893911dcb51b4a0aa71971db5ba38f7071 upstream.
The current initialisation code probes 'unsupported' AGP devices
simply by calling its own probe function. It does not lock these
devices or even check whether another driver is already bound to
them.
We must use the device core to manage this. So if the specific
device id table didn't match anything and agp_try_unsupported=1,
switch the device id table and call driver_attach() again.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/char/agp/amd64-agp.c | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
--- a/drivers/char/agp/amd64-agp.c
+++ b/drivers/char/agp/amd64-agp.c
@@ -499,6 +499,10 @@ static int __devinit agp_amd64_probe(str
u8 cap_ptr;
int err;
+ /* The Highlander principle */
+ if (agp_bridges_found)
+ return -ENODEV;
+
cap_ptr = pci_find_capability(pdev, PCI_CAP_ID_AGP);
if (!cap_ptr)
return -ENODEV;
@@ -562,6 +566,8 @@ static void __devexit agp_amd64_remove(s
amd64_aperture_sizes[bridge->aperture_size_idx].size);
agp_remove_bridge(bridge);
agp_put_bridge(bridge);
+
+ agp_bridges_found--;
}
#ifdef CONFIG_PM
@@ -709,6 +715,11 @@ static struct pci_device_id agp_amd64_pc
MODULE_DEVICE_TABLE(pci, agp_amd64_pci_table);
+static DEFINE_PCI_DEVICE_TABLE(agp_amd64_pci_promisc_table) = {
+ { PCI_DEVICE_CLASS(0, 0) },
+ { }
+};
+
static struct pci_driver agp_amd64_pci_driver = {
.name = "agpgart-amd64",
.id_table = agp_amd64_pci_table,
@@ -734,7 +745,6 @@ int __init agp_amd64_init(void)
return err;
if (agp_bridges_found == 0) {
- struct pci_dev *dev;
if (!agp_try_unsupported && !agp_try_unsupported_boot) {
printk(KERN_INFO PFX "No supported AGP bridge found.\n");
#ifdef MODULE
@@ -750,17 +760,10 @@ int __init agp_amd64_init(void)
return -ENODEV;
/* Look for any AGP bridge */
- dev = NULL;
- err = -ENODEV;
- for_each_pci_dev(dev) {
- if (!pci_find_capability(dev, PCI_CAP_ID_AGP))
- continue;
- /* Only one bridge supported right now */
- if (agp_amd64_probe(dev, NULL) == 0) {
- err = 0;
- break;
- }
- }
+ agp_amd64_pci_driver.id_table = agp_amd64_pci_promisc_table;
+ err = driver_attach(&agp_amd64_pci_driver.driver);
+ if (err == 0 && agp_bridges_found == 0)
+ err = -ENODEV;
}
return err;
}
From c05556421742eb47f80301767653a4bcb19de9de Mon Sep 17 00:00:00 2001
From: Ian Munsie <imunsie@au.ibm.com>
Date: Tue, 13 Apr 2010 18:37:33 +1000

View File

@ -33,40 +33,6 @@ index a192c51..43892bf 100644
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
| USB_DEVICE_ID_MATCH_INT_INFO,
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Thu, 4 Mar 2010 10:51:25 +0000 (-0300)
Subject: V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams
X-Git-Url: http://git.linuxtv.org/pinchartl/uvcvideo.git?a=commitdiff_plain;h=89c21df1c6c4b984bc791dbaf50691b19852acf3
V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams
The camera requires the PROBE_DEF quirk. Add a corresponding entry in
the device IDs list.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
index a814820..a192c51 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -2168,6 +2168,15 @@ static struct usb_device_id uvc_ids[] = {
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_QUIRK_PROBE_MINMAX },
+ /* Arkmicro unbranded */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x18ec,
+ .idProduct = 0x3290,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_QUIRK_PROBE_DEF },
/* Bodelin ProScopeHR */
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
| USB_DEVICE_ID_MATCH_DEV_HI
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Wed, 31 Mar 2010 15:29:26 +0000 (-0300)
Subject: V4L/DVB: uvcvideo: Use POLLOUT and POLLWRNORM for output devices
X-Git-Url: http://git.linuxtv.org/pinchartl/uvcvideo.git?a=commitdiff_plain;h=a6eb7bc8e0eea78f96ad1b0f0195ec52b88c6a00
@ -101,61 +67,6 @@ index 4a925a3..133c78d 100644
done:
mutex_unlock(&queue->mutex);
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Mon, 12 Apr 2010 13:41:22 +0000 (-0300)
Subject: V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16
X-Git-Url: http://git.linuxtv.org/pinchartl/uvcvideo.git?a=commitdiff_plain;h=c947c3b45d8950312e3563a1a3316f910570d017
V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16
The Miricle 307K (17dc:0202) camera reports a 16-bit greyscale format,
support it in the driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
index 43892bf..4801a2a 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -90,11 +90,16 @@ static struct uvc_format_desc uvc_fmts[] = {
.fcc = V4L2_PIX_FMT_UYVY,
},
{
- .name = "Greyscale",
+ .name = "Greyscale (8-bit)",
.guid = UVC_GUID_FORMAT_Y800,
.fcc = V4L2_PIX_FMT_GREY,
},
{
+ .name = "Greyscale (16-bit)",
+ .guid = UVC_GUID_FORMAT_Y16,
+ .fcc = V4L2_PIX_FMT_Y16,
+ },
+ {
.name = "RGB Bayer",
.guid = UVC_GUID_FORMAT_BY8,
.fcc = V4L2_PIX_FMT_SBGGR8,
diff --git a/drivers/media/video/uvc/uvcvideo.h b/drivers/media/video/uvc/uvcvideo.h
index 2bba059..d1f8840 100644
--- a/drivers/media/video/uvc/uvcvideo.h
+++ b/drivers/media/video/uvc/uvcvideo.h
@@ -131,11 +131,13 @@ struct uvc_xu_control {
#define UVC_GUID_FORMAT_Y800 \
{ 'Y', '8', '0', '0', 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
+#define UVC_GUID_FORMAT_Y16 \
+ { 'Y', '1', '6', ' ', 0x00, 0x00, 0x10, 0x00, \
+ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
#define UVC_GUID_FORMAT_BY8 \
{ 'B', 'Y', '8', ' ', 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
-
/* ------------------------------------------------------------------------
* Driver specific constants.
*/
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Sun, 25 Apr 2010 19:23:24 +0000 (-0300)
Subject: V4L/DVB: uvcvideo: Flag relative controls as write-only
X-Git-Url: http://git.linuxtv.org/pinchartl/uvcvideo.git?a=commitdiff_plain;h=4ac25db7e7f6116213f1c03039df00b18466a0dc

View File

@ -1,2 +1,3 @@
10eebcb0178fb4540e2165bfd7efc7ad linux-2.6.34.tar.bz2
6606bcddb89228bd4c7a5b82de384aa5 patch-2.6.34.1.bz2
7529c837c92c96aba4b3a2dc5d5d28eb patch-2.6.34.2-rc1.bz2

View File

@ -278,18 +278,9 @@ index b0577dd..91738d8 100644
}
static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev)
@@ -578,14 +578,14 @@ again:
if (unlikely(capacity < 0)) {
netif_stop_queue(dev);
dev_warn(&dev->dev, "Unexpected full queue\n");
- if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) {
- vi->svq->vq_ops->disable_cb(vi->svq);
+ if (unlikely(!virtqueue_enable_cb(vi->svq))) {
+ virtqueue_disable_cb(vi->svq);
netif_start_queue(dev);
goto again;
}
return NETDEV_TX_BUSY;
@@ -587,7 +587,7 @@ again:
kfree_skb(skb);
return NETDEV_TX_OK;
}
- vi->svq->vq_ops->kick(vi->svq);
+ virtqueue_kick(vi->svq);