You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.2 KiB
56 lines
2.2 KiB
From fab29ebaa62cfae9f56a7a108b35d17e4d2a16cd Mon Sep 17 00:00:00 2001 |
|
From: Mario Limonciello <superm1@gmail.com> |
|
Date: Mon, 9 May 2022 20:16:22 -0500 |
|
Subject: [PATCH] Add support to set autosuspend delay via hwdb |
|
|
|
(cherry picked from commit fa9a43a6905187195c9e86a61a906647726c3e55) |
|
|
|
Related: #2087778 |
|
--- |
|
hwdb.d/60-autosuspend.hwdb | 4 ++++ |
|
hwdb.d/parse_hwdb.py | 1 + |
|
rules.d/60-autosuspend.rules | 4 ++++ |
|
3 files changed, 9 insertions(+) |
|
|
|
diff --git a/hwdb.d/60-autosuspend.hwdb b/hwdb.d/60-autosuspend.hwdb |
|
index 1b6c1e1c8f..323611d000 100644 |
|
--- a/hwdb.d/60-autosuspend.hwdb |
|
+++ b/hwdb.d/60-autosuspend.hwdb |
|
@@ -24,8 +24,12 @@ |
|
# |
|
# Allowed properties are: |
|
# ID_AUTOSUSPEND=1 |
|
+# ID_AUTOSUSPEND_DELAY_MS=#### |
|
# ID_PERSIST=0 |
|
# |
|
+# ID_AUTOSUSPEND_DELAY_MS adjusts the delay for autosuspend to something |
|
+# different than the kernel default of 2000ms. |
|
+# |
|
# ID_PERSIST=0 allows disabling the kernels USB "persist" feature, which allows |
|
# the continued use of devices after a power loss (due to suspend). Disable it |
|
# if the device will loose state without a USB power session and the driver |
|
diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py |
|
index 93179b675c..7bad559699 100755 |
|
--- a/hwdb.d/parse_hwdb.py |
|
+++ b/hwdb.d/parse_hwdb.py |
|
@@ -135,6 +135,7 @@ def property_grammar(): |
|
('MOUSE_WHEEL_CLICK_COUNT', INTEGER), |
|
('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER), |
|
('ID_AUTOSUSPEND', Or((Literal('0'), Literal('1')))), |
|
+ ('ID_AUTOSUSPEND_DELAY_MS', INTEGER), |
|
('ID_AV_PRODUCTION_CONTROLLER', Or((Literal('0'), Literal('1')))), |
|
('ID_PERSIST', Or((Literal('0'), Literal('1')))), |
|
('ID_PDA', Or((Literal('0'), Literal('1')))), |
|
diff --git a/rules.d/60-autosuspend.rules b/rules.d/60-autosuspend.rules |
|
index 332d052caa..ce31a920ed 100644 |
|
--- a/rules.d/60-autosuspend.rules |
|
+++ b/rules.d/60-autosuspend.rules |
|
@@ -15,4 +15,8 @@ ENV{ID_AUTOSUSPEND}=="1", TEST=="power/control", \ |
|
ENV{ID_PERSIST}=="0", TEST=="power/persist", \ |
|
ATTR{power/persist}="0" |
|
|
|
+# Set up an autosuspend delay if hwdb say so |
|
+ENV{ID_AUTOSUSPEND_DELAY_MS}!="", TEST=="power/control", \ |
|
+ ATTR{power/autosuspend_delay_ms}="$env{ID_AUTOSUSPEND_DELAY_MS}" |
|
+ |
|
LABEL="autosuspend_end"
|
|
|