* 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:
parent
5ad0e98752
commit
ee4b78d86a
|
@ -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);
|
||||
|
|
112
kernel.spec
112
kernel.spec
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
1
sources
1
sources
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue