+
     Gi  c                   s    ^RI Ht ^RI Ht ^ RIt^ RIHt ^ RIt]P                  P                  4       t
 ! R R]P                  4      tR# )i   )base)
exceptionsN)commandsc                   sp   a a ] tR t^	t oRtV 3R lt]R 4       tR tR t	V 3R lt
R tR tR	 tR
tVtV ;t# )EeePCSHEPlugina  
Dynamically sets the front-side bus (FSB) speed according to the
CPU load. This feature can be found on some netbooks and is also
known as the Asus Super Hybrid Engine. If the CPU load is lower or
equal to the value specified by the [option]`load_threshold_powersave`
option, the plug-in sets the FSB speed to the value specified by the
[option]`she_powersave` option. If the CPU load is higher or
equal to the value specified by the [option]`load_threshold_normal`
option, it sets the FSB speed to the value specified by the
[option]`she_normal` option. Static tuning is not supported and the
plug-in is transparently disabled if the hardware support for this
feature is not detected.

NOTE: For details about the FSB frequencies and corresponding values, see
link:https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-platform-eeepc-laptop[the kernel documentation].
The provided defaults should work for most users.
c                sR  < \        4       V n        R V n        \        P                  P                  V P                  4      '       g   RV n        \        P                  P                  V P                  4      '       g   \        P                  ! R4      h\        \        V `*  ! V/ VB  R# )z!/sys/devices/platform/eeepc/cpufvz%/sys/devices/platform/eeepc-wmi/cpufvz)Plugin is not supported on your hardware.N)r   _cmd_control_fileosZpathZisfiler   ZNotSupportedPluginExceptionsuperr   __init__)selfZargsZkwargs	__class__s   &*,C/usr/lib/python3.14/site-packages/tuned/plugins/plugin_eeepc_she.pyr   ZEeePCSHEPlugin.__init__   st    j$):$	**	+	+?4	**	+	+		/	/0[	\\&77    c                s    R RRRR^R^/# )load_threshold_normalg333333?load_threshold_powersaveg?Zshe_powersaveZ
she_normal )r	   s   &r   _get_config_optionsZ"EeePCSHEPlugin._get_config_options%   s"     	
 r   c                s>    R Vn         RVn        RVn        RVn        R# )FTN)Z_has_static_tuningZ_has_dynamic_tuning	_she_mode_load_monitorr	   instance   &&r   _instance_initZEeePCSHEPlugin._instance_init.   s"     %(!%(((r   c                s~    VP                   e/   V P                  P                  VP                   4       R Vn         R # R # )N)r   _monitors_repositoryZdeleter   r   r   _instance_cleanupZ EeePCSHEPlugin._instance_cleanup4   s5    '##H$:$:; 8 (r   c                sp   < \         \        V `  V4       V P                  P	                  R R4      Vn        R# )loadN)r   r   _instance_init_dynamicr   Zcreater   )r	   r   r
   s   &&r   r   Z%EeePCSHEPlugin._instance_init_dynamic9   s-    4X>44;;FDI(r   c                s    VP                   P                  4       R ,          pW1P                  R,          8:  d   V P                  VR4       R# W1P                  R,          8  d   V P                  VR4       R# R# )Zsystemr   Z	powersaver   normalN)r   Zget_loadoptions_set_she_mode)r	   r   devicer      &&& r   _instance_update_dynamicZ'EeePCSHEPlugin._instance_update_dynamic=   sd    				(	(	*8	4$	899h, 788h) 9r   c                s*    V P                  VR 4       R# )r   N)r   )r	   r   r   s   &&&r   _instance_unapply_dynamicZ(EeePCSHEPlugin._instance_unapply_dynamicD   s    Xx(r   c                s   \        VP                  R V,          ,          4      pVP                  V8w  dS   \        P	                  RW#3,          4       V P
                  P                  V P                  RV,          4       W0n        R# R# )zshe_%sznew eeepc_she mode %s (%d) z%sN)Zintr   r   logZinfor   Zwrite_to_filer   )r	   r   Znew_modeZnew_mode_numericr   r   r   ZEeePCSHEPlugin._set_she_modeH   sk    ))(X*=>?++88)X,HHI994--t6F/FG$> ,r   )r   r   r   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   Zclassmethodr   r   r   r   r    r!   r   Z__static_attributes__Z__classdictcell__Z__classcell__)r
   Z__classdict__s   @@r   r   r   	   sG     $8   !
J*)% %r   r   )Z r    r   Z
tuned.logsZtunedZtuned.utils.commandsr   r   ZlogsZgetr"   ZPluginr   r   r   r   <module>r#      s6       ) 	jjnnD%T[[ D%r   