1. 06 Feb, 2024 3 commits
    • Alexis Belmonte's avatar
      platform/x86: hp-wmi: Add thermal profile support for 8BAD boards · 3a057bf3
      Alexis Belmonte authored
      Add 8BAD to the list of boards which have thermal profile selection
      available. This allows the CPU to draw more power than the default TDP
      barrier defined by the 'balanced' thermal profile (around 50W), hence
      allowing it to perform better without being throttled by the embedded
      controller (around 130W).
      
      We first need to set the HP_OMEN_EC_THERMAL_PROFILE_TIMER_OFFSET to zero.
      This prevents the timer countdown from reaching zero, making the embedded
      controller "force-switch" the system's thermal profile back to 'balanced'
      automatically.
      
      We also need to put a number of specific flags in
      HP_OMEN_EC_THERMAL_PROFILE_FLAGS_OFFSET when we're switching to another
      thermal profile:
      
         - for 'performance', we need to set both HP_OMEN_EC_FLAGS_TURBO and
           HP_OMEN_EC_FLAGS_NOTIMER;
      
         - for 'balanced' and 'powersave', we clear out the register to notify
           the system that we want to lower the TDP barrier as soon as possible.
      
      The third flag defined in the hp_thermal_profile_omen_flags enum,
      HP_OMEN_EC_FLAGS_JUSTSET, is present for completeness.
      
      To prevent potential behaviour breakage with other Omen models, a
      separate omen_timed_thermal_profile_boards array has been added to list
      which boards expose this behaviour.
      
      Performance benchmarking was done with the help of silver.urih.com and
      Google Chrome 120.0.6099.129, on Gnome 45.2, with the 'performance'
      thermal profile set:
      
      |                  | Performance |     Stress |   TDP |
      |------------------|-------------|------------|-------|
      |    with my patch |      P84549 |    S0.1891 |  131W |
      | without my patch |      P44084 |    S0.1359 |   47W |
      
      The TDP measurements were done with the help of the s-tui utility,
      during the load.
      
      There is still work to be done:
      
         - tune the CPU and GPU fans to better cool down and enhance
           performance at the right time; right now, it seems that the fans are
           not properly reacting to thermal/performance events, which in turn
           either causes thermal throttling OR makes the fans spin way too long,
           even though the temperatures have lowered down
      
         - expose the CPU and GPU fan curves to user-land so that they can be
           controlled just like what the Omen Gaming Hub utility proposes to
           its users;
      Signed-off-by: default avatarAlexis Belmonte <alexbelm48@gmail.com>
      Link: https://lore.kernel.org/r/ZbucvX2rRdqRgtcu@alexis-pcReviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      3a057bf3
    • Alexis Belmonte's avatar
      platform/x86: hp-wmi: Tidy up module source code · 24b10e5f
      Alexis Belmonte authored
      This commit performs four things:
      
         - fix up the GUID string inconsistency (lower case 'e') from the
           WMI module alias declaration/macro definition
      
         - separate GUID macros from the embedded controller offset macros
      
         - rename the description of the module to better represent what it
           actually achieves as a whole
      
         - add a space right before the '*' pointer qualifier to match the
           other array declarations
      
      This also prepares the terrain for integrating support work for boards
      identified as '8BAD', which corresponds to HP's Omen 17 ck2xxx models.
      Signed-off-by: default avatarAlexis Belmonte <alexbelm48@gmail.com>
      Link: https://lore.kernel.org/r/ZbucrKh36sNxeyfX@alexis-pcReviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      24b10e5f
    • Armin Wolf's avatar
      platform/x86: wmi: Stop using ACPI device class · 6468e64e
      Armin Wolf authored
      When an ACPI netlink event is received by acpid, the ACPI device
      class is passed as its first argument. But since the class string
      is not initialized during probe, an empty string is being passed:
      
      	netlink:  PNP0C14:01 000000d0 00000000
      
      Fix this by passing a static string instead.
      
      Tested on a Dell Inspiron 3505.
      Signed-off-by: default avatarArmin Wolf <W_Armin@gmx.de>
      Link: https://lore.kernel.org/r/20240130221942.2770-1-W_Armin@gmx.deReviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      6468e64e
  2. 31 Jan, 2024 12 commits
  3. 25 Jan, 2024 4 commits
  4. 24 Jan, 2024 6 commits
  5. 21 Jan, 2024 15 commits