HEX
Server: Apache
System: Linux insrv.serversdaddy.com 5.14.0-362.24.2.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Mar 30 14:11:54 EDT 2024 x86_64
User: jsaha (1066)
PHP: 8.3.6
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/lib/python3.9/site-packages/tuned/plugins/__pycache__/plugin_video.cpython-39.pyc
a

Y��d�
�@sXddlmZddlTddlZddlmZddlZddlZej	�
�ZGdd�dej�Z
dS)�)�base)�*�N)�commandsc@sjeZdZdZdd�Zdd�Zedd��Zdd	�Zd
d�Z	dd
�Z
eddd�dd��Ze
d�ddd��ZdS)�VideoPlugina�
	`video`::
	
	Sets various powersave levels on video cards. Currently, only the
	Radeon cards are supported. The powersave level can be specified
	by using the [option]`radeon_powersave` option. Supported values are:
	+
	--
	* `default`
	* `auto`
	* `low`
	* `mid`
	* `high`
	* `dynpm`
	* `dpm-battery`
	* `dpm-balanced`
	* `dpm-perfomance`
	--
	+
	For additional detail, see
	link:https://www.x.org/wiki/RadeonFeature/#kmspowermanagementoptions[KMS Power Management Options].
	+
	NOTE: This plug-in is experimental and the option might change in future releases.
	+
	.To set the powersave level for the Radeon video card to high
	====
	----
	[video]
	radeon_powersave=high
	----
	====
	cCsPd|_t�|_t�|_|j�d��d��dd�D]}|j�|j	�q0t
�|_dS)NT�drmzcard*ZDEVTYPEZ	drm_minor)Z_devices_supported�setZ
_free_devicesZ_assigned_devices�_hardware_inventoryZget_devicesZmatch_sys_nameZmatch_property�addZsys_namer�_cmd��self�device�r�>/usr/lib/python3.9/site-packages/tuned/plugins/plugin_video.py�
_init_devices,szVideoPlugin._init_devicescs�fdd�|D�S)Ncsg|]}�j�d|��qS)r)r	Z
get_device)�.0�x�r
rr�
<listcomp>8�z3VideoPlugin._get_device_objects.<locals>.<listcomp>r)r
Zdevicesrrr�_get_device_objects7szVideoPlugin._get_device_objectscCsddiS)N�radeon_powersaverrrrr�_get_config_options:s�zVideoPlugin._get_config_optionscCsd|_d|_dS)NFT)Z_has_dynamic_tuningZ_has_static_tuning�r
�instancerrr�_instance_init@szVideoPlugin._instance_initcCsdS)Nrrrrr�_instance_cleanupDszVideoPlugin._instance_cleanupcCsd|d|d|d�S)Nz%/sys/class/drm/%s/device/power_methodz&/sys/class/drm/%s/device/power_profilez(/sys/class/drm/%s/device/power_dpm_state)�method�profile�	dpm_staterrrrr�_radeon_powersave_filesGs�z#VideoPlugin._radeon_powersave_filesrT)Z
per_devicecCs|�|�}tt�dd|����}tj�|d�sF|sFt�	d|�dS|D]�}|dvr�|s�|j
�|dd�r�|j
�|d|�r�|SqJ|dkr�|s�|j
�|dd�r�dSqJ|dvr�|s�|td	�d�}|j
�|dd
�r�|j
�|d|�r�|SqJ|�st�	d�dSqJdS)
Nz#(\s*:\s*)|(\s+)|(\s*;\s*)|(\s*,\s*)� rz)radeon_powersave is not supported on '%s')�default�autoZlowZmidZhighr�dynpm)zdpm-batteryzdpm-balancedzdpm-performance�dpm-�dpmr z$Invalid option for radeon_powersave.)
r!�str�re�sub�split�os�path�exists�log�warnrZ
write_to_file�len)r
�valuerZsim�	sys_files�va�v�staterrr�_set_radeon_powersaveNs8
�
�

z!VideoPlugin._set_radeon_powersaveFcCsr|�|�}|jj|d|d���}|dkr>|j�|d���S|dkrJ|S|dkrjd|j�|d���SdSdS)Nr)Zno_errorrr%r'r&r )r!rZ	read_file�strip)r
rZignore_missingr3rrrr�_get_radeon_powersavems
z!VideoPlugin._get_radeon_powersaveN)F)�__name__�
__module__�__qualname__�__doc__rr�classmethodrrrr!Zcommand_setr7Zcommand_getr9rrrrr
s!


r)�rZ
decoratorsZ
tuned.logsZtunedZtuned.utils.commandsrr,r)Zlogs�getr/ZPluginrrrrr�<module>s