summaryrefslogtreecommitdiff
path: root/lib/igt_pm.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/igt_pm.h')
-rw-r--r--lib/igt_pm.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
index 162d3ca3..c53dae2c 100644
--- a/lib/igt_pm.h
+++ b/lib/igt_pm.h
@@ -46,6 +46,23 @@ enum igt_runtime_pm_status {
IGT_RUNTIME_PM_STATUS_UNKNOWN,
};
+/* PCI ACPI firmware node real state */
+enum igt_acpi_d_state {
+ IGT_ACPI_D0,
+ IGT_ACPI_D1,
+ IGT_ACPI_D2,
+ IGT_ACPI_D3Hot,
+ IGT_ACPI_D3Cold,
+ IGT_ACPI_UNKNOWN_STATE,
+};
+
+struct igt_pm_pci_dev_pwrattr {
+ struct pci_device *pci_dev;
+ char control[64];
+ bool autosuspend_supported;
+ char autosuspend_delay[64];
+};
+
bool igt_setup_runtime_pm(int device);
void igt_disable_runtime_pm(void);
void igt_restore_runtime_pm(void);
@@ -54,5 +71,12 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
bool igt_pm_dmc_loaded(int debugfs);
bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
+bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev);
+enum igt_acpi_d_state
+igt_pm_get_acpi_real_d_state(struct pci_device *pci_dev);
+void igt_pm_enable_pci_card_runtime_pm(struct pci_device *pci_dev);
+void igt_pm_setup_pci_card_runtime_pm(struct pci_device *pci_dev);
+void igt_pm_restore_pci_card_runtime_pm(void);
+void igt_pm_print_pci_card_runtime_status(void);
#endif /* IGT_PM_H */