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