Wed Jul 24 03:21:07 2013 UTC ()
Omit more stuff that pmf does for us in i915_drv.c.


(riastradh)
diff -r1.1.1.1.2.8 -r1.1.1.1.2.9 src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c

cvs diff -r1.1.1.1.2.8 -r1.1.1.1.2.9 src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c 2013/07/24 03:20:52 1.1.1.1.2.8
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c 2013/07/24 03:21:07 1.1.1.1.2.9
@@ -528,31 +528,33 @@ int i915_suspend(struct drm_device *dev, @@ -528,31 +528,33 @@ int i915_suspend(struct drm_device *dev,
528 } 528 }
529 529
530 if (state.event == PM_EVENT_PRETHAW) 530 if (state.event == PM_EVENT_PRETHAW)
531 return 0; 531 return 0;
532 532
533 533
534 if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) 534 if (dev->switch_power_state == DRM_SWITCH_POWER_OFF)
535 return 0; 535 return 0;
536 536
537 error = i915_drm_freeze(dev); 537 error = i915_drm_freeze(dev);
538 if (error) 538 if (error)
539 return error; 539 return error;
540 540
 541#ifndef __NetBSD__ /* pmf handles this for us. */
541 if (state.event == PM_EVENT_SUSPEND) { 542 if (state.event == PM_EVENT_SUSPEND) {
542 /* Shut down the device */ 543 /* Shut down the device */
543 pci_disable_device(dev->pdev); 544 pci_disable_device(dev->pdev);
544 pci_set_power_state(dev->pdev, PCI_D3hot); 545 pci_set_power_state(dev->pdev, PCI_D3hot);
545 } 546 }
 547#endif
546 548
547 return 0; 549 return 0;
548} 550}
549 551
550#ifndef __NetBSD__ /* XXX fb */ 552#ifndef __NetBSD__ /* XXX fb */
551void intel_console_resume(struct work_struct *work) 553void intel_console_resume(struct work_struct *work)
552{ 554{
553 struct drm_i915_private *dev_priv = 555 struct drm_i915_private *dev_priv =
554 container_of(work, struct drm_i915_private, 556 container_of(work, struct drm_i915_private,
555 console_resume_work); 557 console_resume_work);
556 struct drm_device *dev = dev_priv->dev; 558 struct drm_device *dev = dev_priv->dev;
557 559
558 console_lock(); 560 console_lock();
@@ -620,28 +622,30 @@ static int i915_drm_thaw(struct drm_devi @@ -620,28 +622,30 @@ static int i915_drm_thaw(struct drm_devi
620 __i915_drm_thaw(dev); 622 __i915_drm_thaw(dev);
621 623
622 return error; 624 return error;
623} 625}
624 626
625int i915_resume(struct drm_device *dev) 627int i915_resume(struct drm_device *dev)
626{ 628{
627 struct drm_i915_private *dev_priv = dev->dev_private; 629 struct drm_i915_private *dev_priv = dev->dev_private;
628 int ret; 630 int ret;
629 631
630 if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) 632 if (dev->switch_power_state == DRM_SWITCH_POWER_OFF)
631 return 0; 633 return 0;
632 634
 635#ifndef __NetBSD__ /* pmf handles this for us. */
633 if (pci_enable_device(dev->pdev)) 636 if (pci_enable_device(dev->pdev))
634 return -EIO; 637 return -EIO;
 638#endif
635 639
636 pci_set_master(dev->pdev); 640 pci_set_master(dev->pdev);
637 641
638 intel_gt_reset(dev); 642 intel_gt_reset(dev);
639 643
640 /* 644 /*
641 * Platforms with opregion should have sane BIOS, older ones (gen3 and 645 * Platforms with opregion should have sane BIOS, older ones (gen3 and
642 * earlier) need this since the BIOS might clear all our scratch PTEs. 646 * earlier) need this since the BIOS might clear all our scratch PTEs.
643 */ 647 */
644 if (drm_core_check_feature(dev, DRIVER_MODESET) && 648 if (drm_core_check_feature(dev, DRIVER_MODESET) &&
645 !dev_priv->opregion.header) { 649 !dev_priv->opregion.header) {
646 mutex_lock(&dev->struct_mutex); 650 mutex_lock(&dev->struct_mutex);
647 i915_gem_restore_gtt_mappings(dev); 651 i915_gem_restore_gtt_mappings(dev);
@@ -946,28 +950,30 @@ static int i915_pm_suspend(struct device @@ -946,28 +950,30 @@ static int i915_pm_suspend(struct device
946 950
947 if (!drm_dev || !drm_dev->dev_private) { 951 if (!drm_dev || !drm_dev->dev_private) {
948 dev_err(dev, "DRM not initialized, aborting suspend.\n"); 952 dev_err(dev, "DRM not initialized, aborting suspend.\n");
949 return -ENODEV; 953 return -ENODEV;
950 } 954 }
951 955
952 if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF) 956 if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF)
953 return 0; 957 return 0;
954 958
955 error = i915_drm_freeze(drm_dev); 959 error = i915_drm_freeze(drm_dev);
956 if (error) 960 if (error)
957 return error; 961 return error;
958 962
 963#ifndef __NetBSD__ /* pmf handles this for us. */
959 pci_disable_device(pdev); 964 pci_disable_device(pdev);
960 pci_set_power_state(pdev, PCI_D3hot); 965 pci_set_power_state(pdev, PCI_D3hot);
 966#endif
961 967
962 return 0; 968 return 0;
963} 969}
964 970
965static int i915_pm_resume(struct device *dev) 971static int i915_pm_resume(struct device *dev)
966{ 972{
967 struct pci_dev *pdev = to_pci_dev(dev); 973 struct pci_dev *pdev = to_pci_dev(dev);
968 struct drm_device *drm_dev = pci_get_drvdata(pdev); 974 struct drm_device *drm_dev = pci_get_drvdata(pdev);
969 975
970 return i915_resume(drm_dev); 976 return i915_resume(drm_dev);
971} 977}
972 978
973static int i915_pm_freeze(struct device *dev) 979static int i915_pm_freeze(struct device *dev)