From 0261e875679f1bf63c8d689da7fc7e014597885d Mon Sep 17 00:00:00 2001 From: Stonewall Jackson Date: Sat, 4 Feb 2023 01:23:43 -0500 Subject: initial commit --- roles/udev/defaults/main.yml | 2 ++ roles/udev/handlers/main.yml | 9 +++++++++ roles/udev/tasks/main.yml | 13 +++++++++++++ roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2 | 5 +++++ 4 files changed, 29 insertions(+) create mode 100644 roles/udev/defaults/main.yml create mode 100644 roles/udev/handlers/main.yml create mode 100644 roles/udev/tasks/main.yml create mode 100644 roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2 (limited to 'roles/udev') diff --git a/roles/udev/defaults/main.yml b/roles/udev/defaults/main.yml new file mode 100644 index 0000000..263aac9 --- /dev/null +++ b/roles/udev/defaults/main.yml @@ -0,0 +1,2 @@ +udev_rules: [] +udev_pci_powersave_blacklist: [] diff --git a/roles/udev/handlers/main.yml b/roles/udev/handlers/main.yml new file mode 100644 index 0000000..e272cfb --- /dev/null +++ b/roles/udev/handlers/main.yml @@ -0,0 +1,9 @@ +- name: restart systemd-udevd + systemd: + name: systemd-udevd + state: restarted + listen: reload udev rules + +- name: run udev triggers + command: udevadm trigger + listen: reload udev rules diff --git a/roles/udev/tasks/main.yml b/roles/udev/tasks/main.yml new file mode 100644 index 0000000..3049b0a --- /dev/null +++ b/roles/udev/tasks/main.yml @@ -0,0 +1,13 @@ +- name: generate udev rules + copy: + content: | + {{ item.rule }} + dest: "/etc/udev/rules.d/{{ item.name | replace(' ', '_') }}.rules" + loop: '{{ udev_rules }}' + notify: reload udev rules + +- name: generate powersave blacklist + template: + src: etc/udev/rules.d/pci_pm.rules.j2 + dest: /etc/udev/rules.d/pci_pm.rules + notify: reload udev rules diff --git a/roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2 b/roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2 new file mode 100644 index 0000000..5400241 --- /dev/null +++ b/roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2 @@ -0,0 +1,5 @@ +{% for vendordevice in udev_pci_powersave_blacklist %} +SUBSYSTEM=="pci", ATTR{vendor}=="0x{{ vendordevice | split(':') | first }}", ATTR{device}=="0x{{ vendordevice | split(':') | last }}", ATTR{power/control}="on", GOTO="pci_pm_end" +{% endfor %} +SUBSYSTEM=="pci", ATTR{power/control}="auto" +LABEL="pci_pm_end" -- cgit