apple/macbook-pro/12-1: PM: set cpuFreqGovernor and power Up/Down commands (#214)

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
This commit is contained in:
Ivan Kovnatsky 2020-12-01 10:57:29 +02:00 committed by GitHub
parent abfae8841b
commit 34c1bf11bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 1 deletions

View file

@ -0,0 +1,15 @@
# MacBook Pro 12,1
## Wireless won't get reconnected after resume/hibernate
The wifi driver is unloaded before suspend/hibernate to workaround driver issues.
This means it might be required to restart your wifi deamon i.e. wpa_supplicant:
```nix
powerManagement.powerUpCommands = ''
${pkgs.systemd}/bin/systemctl restart wpa_supplicant.service
'';
};
```
You can apply this to your network management software of choice.

View file

@ -1,4 +1,4 @@
{ lib, ... }:
{ lib, pkgs, ... }:
{
imports = [
@ -7,6 +7,17 @@
<nixpkgs/nixos/modules/hardware/network/broadcom-43xx.nix>
];
powerManagement = {
# enable gradually increasing/decreasing CPU frequency, rather than using
# "powersave", which would keep CPU frequency at 0.8GHz.
cpuFreqGovernor = lib.mkDefault "conservative";
# brcmfmac being loaded during hibernation would not let a successful resume
# https://bugzilla.kernel.org/show_bug.cgi?id=101681#c116
powerUpCommands = lib.mkBefore "${pkgs.kmod}/bin/modprobe brcmfmac";
powerDownCommands = lib.mkBefore "${pkgs.kmod}/bin/rmmod brcmfmac";
};
# USB subsystem wakes up MBP right after suspend unless we disable it.
services.udev.extraRules = lib.mkDefault ''
SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"