rpms/kernel/devel revert-drm-kms-toggle-poll-around-switcheroo.patch, NONE, 1.1 kernel.spec, 1.2034, 1.2035
Kyle McMartin
kyle at fedoraproject.org
Mon Jun 21 13:02:03 UTC 2010
Author: kyle
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv20394
Modified Files:
kernel.spec
Added Files:
revert-drm-kms-toggle-poll-around-switcheroo.patch
Log Message:
* Mon Jun 21 2010 Kyle McMartin <kyle at redhat.com> 2.6.34-44
- revert-drm-kms-toggle-poll-around-switcheroo.patch (rhbz#599190)
revert-drm-kms-toggle-poll-around-switcheroo.patch:
drivers/gpu/drm/drm_crtc_helper.c | 28 ++++++----------------------
drivers/gpu/drm/i915/i915_dma.c | 4 +---
drivers/gpu/drm/nouveau/nouveau_state.c | 3 ---
drivers/gpu/drm/radeon/radeon_device.c | 2 --
include/drm/drm_crtc_helper.h | 4 ----
5 files changed, 7 insertions(+), 34 deletions(-)
--- NEW FILE revert-drm-kms-toggle-poll-around-switcheroo.patch ---
>From 69b711c0c5e3d9cb3a5b9f741fb4cdc96b5739cb Mon Sep 17 00:00:00 2001
From: Kyle McMartin <kyle at dreadnought.i.jkkm.org>
Date: Mon, 21 Jun 2010 13:55:02 +0100
Subject: Revert "drm/kms: disable/enable poll around switcheroo on/off"
This reverts commit fbf81762e385d3d45acad057b654d56972acf58c.
---
drivers/gpu/drm/drm_crtc_helper.c | 28 ++++++----------------------
drivers/gpu/drm/i915/i915_dma.c | 4 +---
drivers/gpu/drm/nouveau/nouveau_state.c | 3 ---
drivers/gpu/drm/radeon/radeon_device.c | 2 --
include/drm/drm_crtc_helper.h | 3 ---
5 files changed, 7 insertions(+), 33 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index 9b2a541..7644019 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -860,24 +860,19 @@ static void output_poll_execute(struct slow_work *work)
}
}
-void drm_kms_helper_poll_disable(struct drm_device *dev)
-{
- if (!dev->mode_config.poll_enabled)
- return;
- delayed_slow_work_cancel(&dev->mode_config.output_poll_slow_work);
-}
-EXPORT_SYMBOL(drm_kms_helper_poll_disable);
-
-void drm_kms_helper_poll_enable(struct drm_device *dev)
+void drm_kms_helper_poll_init(struct drm_device *dev)
{
- bool poll = false;
struct drm_connector *connector;
+ bool poll = false;
int ret;
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
if (connector->polled)
poll = true;
}
+ slow_work_register_user(THIS_MODULE);
+ delayed_slow_work_init(&dev->mode_config.output_poll_slow_work,
+ &output_poll_ops);
if (poll) {
ret = delayed_slow_work_enqueue(&dev->mode_config.output_poll_slow_work, DRM_OUTPUT_POLL_PERIOD);
@@ -885,22 +880,11 @@ void drm_kms_helper_poll_enable(struct drm_device *dev)
DRM_ERROR("delayed enqueue failed %d\n", ret);
}
}
-EXPORT_SYMBOL(drm_kms_helper_poll_enable);
-
-void drm_kms_helper_poll_init(struct drm_device *dev)
-{
- slow_work_register_user(THIS_MODULE);
- delayed_slow_work_init(&dev->mode_config.output_poll_slow_work,
- &output_poll_ops);
- dev->mode_config.poll_enabled = true;
-
- drm_kms_helper_poll_enable(dev);
-}
EXPORT_SYMBOL(drm_kms_helper_poll_init);
void drm_kms_helper_poll_fini(struct drm_device *dev)
{
- drm_kms_helper_poll_disable(dev);
+ delayed_slow_work_cancel(&dev->mode_config.output_poll_slow_work);
slow_work_unregister_user(THIS_MODULE);
}
EXPORT_SYMBOL(drm_kms_helper_poll_fini);
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 59a2bf8..2df3286 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1320,14 +1320,12 @@ static void i915_switcheroo_set_state(struct pci_dev *pdev, enum vga_switcheroo_
struct drm_device *dev = pci_get_drvdata(pdev);
pm_message_t pmm = { .event = PM_EVENT_SUSPEND };
if (state == VGA_SWITCHEROO_ON) {
- printk(KERN_INFO "i915: switched on\n");
+ printk(KERN_INFO "i915: switched off\n");
/* i915 resume handler doesn't set to D0 */
pci_set_power_state(dev->pdev, PCI_D0);
i915_resume(dev);
- drm_kms_helper_poll_enable(dev);
} else {
printk(KERN_ERR "i915: switched off\n");
- drm_kms_helper_poll_disable(dev);
i915_suspend(dev, pmm);
}
}
diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
index b02a231..0c28266 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -376,15 +376,12 @@ out_err:
static void nouveau_switcheroo_set_state(struct pci_dev *pdev,
enum vga_switcheroo_state state)
{
- struct drm_device *dev = pci_get_drvdata(pdev);
pm_message_t pmm = { .event = PM_EVENT_SUSPEND };
if (state == VGA_SWITCHEROO_ON) {
printk(KERN_ERR "VGA switcheroo: switched nouveau on\n");
nouveau_pci_resume(pdev);
- drm_kms_helper_poll_enable(dev);
} else {
printk(KERN_ERR "VGA switcheroo: switched nouveau off\n");
- drm_kms_helper_poll_disable(dev);
nouveau_pci_suspend(pdev, pmm);
}
}
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index f10faed..225a9f2 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -546,10 +546,8 @@ static void radeon_switcheroo_set_state(struct pci_dev *pdev, enum vga_switchero
/* don't suspend or resume card normally */
rdev->powered_down = false;
radeon_resume_kms(dev);
- drm_kms_helper_poll_enable(dev);
} else {
printk(KERN_INFO "radeon: switched off\n");
- drm_kms_helper_poll_disable(dev);
radeon_suspend_kms(dev, pmm);
/* don't suspend or resume card normally */
rdev->powered_down = true;
diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h
index 1121f77..dc5873c 100644
--- a/include/drm/drm_crtc_helper.h
+++ b/include/drm/drm_crtc_helper.h
@@ -130,7 +130,4 @@ extern int drm_helper_resume_force_mode(struct drm_device *dev);
extern void drm_kms_helper_poll_init(struct drm_device *dev);
extern void drm_kms_helper_poll_fini(struct drm_device *dev);
extern void drm_helper_hpd_irq_event(struct drm_device *dev);
-
-extern void drm_kms_helper_poll_disable(struct drm_device *dev);
-extern void drm_kms_helper_poll_enable(struct drm_device *dev);
#endif
--
1.7.0.1
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.2034
retrieving revision 1.2035
diff -u -p -r1.2034 -r1.2035
--- kernel.spec 17 Jun 2010 10:02:16 -0000 1.2034
+++ kernel.spec 21 Jun 2010 13:02:02 -0000 1.2035
@@ -684,6 +684,7 @@ Patch1555: fix_xen_guest_on_old_EC2.patc
# DRM
Patch1800: drm-next.patch
+Patch1801: revert-drm-kms-toggle-poll-around-switcheroo.patch
# nouveau + drm fixes
Patch1815: drm-nouveau-drm-fixed-header.patch
Patch1819: drm-intel-big-hammer.patch
@@ -1296,6 +1297,7 @@ ApplyPatch virt_console-rollup.patch
ApplyPatch fix_xen_guest_on_old_EC2.patch
ApplyPatch drm-next.patch
+ApplyPatch revert-drm-kms-toggle-poll-around-switcheroo.patch
# Nouveau DRM + drm fixes
ApplyPatch drm-nouveau-drm-fixed-header.patch
@@ -1987,7 +1989,10 @@ fi
# || ||
%changelog
-* Thu Jun 17 2010 Kyle McMartin <kyle at redhat.com> 2.6.34-42
+* Mon Jun 21 2010 Kyle McMartin <kyle at redhat.com> 2.6.34-44
+- revert-drm-kms-toggle-poll-around-switcheroo.patch (rhbz#599190)
+
+* Thu Jun 17 2010 Kyle McMartin <kyle at redhat.com> 2.6.34-43
- Suck in patch from Dave Miller in 2.6.35 to add async hash testing,
hopefully fixes error from previous commit. (But making it modular
is still a good idea.)
More information about the scm-commits
mailing list