Displaying 9 results from an estimated 9 matches for "do_pci_enable_device".
2011 Feb 28
12
[RFC PATCH] set current_state to D0 in register_slot
...e there is a _PS0 method declared for
it and _EJ0 is also declared for the slot then nobody is going to set
current_state = PCI_D0 for this device. This is what I think it is
happening:
pci_enable_device
|
__pci_enable_device_flags
/* here we do not set current_state because !pm_cap */
|
do_pci_enable_device
|
pci_set_power_state
|
__pci_start_power_transition
|
pci_platform_power_transition
/* platform_pci_power_manageable() calls acpi_pci_power_manageable that
* returns true */
|
platform_pci_set_power_state
/* acpi_pci_set_power_state gets called and does nothing because the
* acpi...
2017 Nov 21
2
[PATCH v2] drm: don't continue with anything after the GPU couldn't be woken up
This should make systems more stable where resuming the GPU fails. This
can happen due to bad firmware or due to a bug within the kernel. The
last thing which should happen in either case is an unusable system.
v2: do the same in nouveau_pmops_resume
Tested-by: Karl Hastings <kazen at redhat.com>
Signed-off-by: Karol Herbst <kherbst at redhat.com>
---
drm/nouveau/nouveau_drm.c | 31
2017 Nov 21
0
[PATCH v2] drm: don't continue with anything after the GPU couldn't be woken up
...0);
if (ret < 0 && ret != -EIO)
return ret;
> + pci_restore_state(pdev);
> + ret = pci_enable_device(pdev);
> + if (ret)
> + return ret;
> +
> + pci_set_master(pdev);
Looking closer it also seems like pci_enable_device() will already set
the power state to D0 (via do_pci_enable_device()). Is the sequence
above really necessary because the hardware is quirky, or was it
cargo-culted?
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.fr...
2017 Nov 21
2
[PATCH v2] drm: don't continue with anything after the GPU couldn't be woken up
...t; + pci_restore_state(pdev);
>> + ret = pci_enable_device(pdev);
>> + if (ret)
>> + return ret;
>> +
>> + pci_set_master(pdev);
>
> Looking closer it also seems like pci_enable_device() will already set
> the power state to D0 (via do_pci_enable_device()). Is the sequence
> above really necessary because the hardware is quirky, or was it
> cargo-culted?
>
> Thierry
No clue. And because it was already there in the original code I
didn't really felt like doing anything with it.
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...enable || !dev ||
> + !pci_dev_msi_enabled(dev, MSIX_TYPE))
> return;
>
> pci_msix_shutdown(dev);
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 74043a2..6e9e7bd 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -1206,7 +1206,7 @@ static int do_pci_enable_device(struct pci_dev *dev, int
> bars)
> return err;
> pci_fixup_device(pci_fixup_enable, dev);
>
> - if (dev->msi_enabled || dev->msix_enabled)
> + if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE))
> return 0;
>
> pci_read_config_byte(dev, PCI_INTERRUPT_PIN...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...enable || !dev ||
> + !pci_dev_msi_enabled(dev, MSIX_TYPE))
> return;
>
> pci_msix_shutdown(dev);
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 74043a2..6e9e7bd 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -1206,7 +1206,7 @@ static int do_pci_enable_device(struct pci_dev *dev, int
> bars)
> return err;
> pci_fixup_device(pci_fixup_enable, dev);
>
> - if (dev->msi_enabled || dev->msix_enabled)
> + if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE))
> return 0;
>
> pci_read_config_byte(dev, PCI_INTERRUPT_PIN...
2014 Jul 26
0
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...!dev->msix_enabled)
+ if (!pci_msi_enable || !dev ||
+ !pci_dev_msi_enabled(dev, MSIX_TYPE))
return;
pci_msix_shutdown(dev);
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 74043a2..6e9e7bd 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1206,7 +1206,7 @@ static int do_pci_enable_device(struct pci_dev *dev, int bars)
return err;
pci_fixup_device(pci_fixup_enable, dev);
- if (dev->msi_enabled || dev->msix_enabled)
+ if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE))
return 0;
pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
@@ -1361,9 +1361,9 @@ static v...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all,
The series is a draft of generic MSI driver that supports PCI
and Non-PCI device which have MSI capability. If you're not interested
it, sorry for the noise.
The series is based on Linux-3.16-rc1.
MSI was introduced in PCI Spec 2.2. Currently, kernel MSI
driver codes are bonding with PCI device. Because MSI has a lot
advantages in design. More and more non-PCI devices want to
use
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all,
The series is a draft of generic MSI driver that supports PCI
and Non-PCI device which have MSI capability. If you're not interested
it, sorry for the noise.
The series is based on Linux-3.16-rc1.
MSI was introduced in PCI Spec 2.2. Currently, kernel MSI
driver codes are bonding with PCI device. Because MSI has a lot
advantages in design. More and more non-PCI devices want to
use