geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Public Member Functions | Static Public Member Functions | List of all members
geopm::DrmSysfsDriver Class Reference

Class used to implement the DrmSysfsDriverGroup. More...

#include <DrmSysfsDriver.hpp>

Inheritance diagram for geopm::DrmSysfsDriver:
Inheritance graph
[legend]
Collaboration diagram for geopm::DrmSysfsDriver:
Collaboration graph
[legend]

Public Member Functions

 DrmSysfsDriver ()=delete
 
 DrmSysfsDriver (const std::string &drm_directory, const std::string &driver_signal_prefix)
 
virtual ~DrmSysfsDriver ()=default
 
int domain_type (const std::string &name) const override
 Get the PlatformTopo domain type for an named attribute. More...
 
std::string attribute_path (const std::string &name, int domain_idx) override
 Get the path to the sysfs entry for signal. More...
 
std::function< double(const std::string &)> signal_parse (const std::string &signal_name) const override
 Get function to convert contents of sysfs file into signal. More...
 
std::function< std::string(double)> control_gen (const std::string &control_name) const override
 Get a function to convert a control into a sysfs string. More...
 
std::string driver (void) const override
 
std::map< std::string, SysfsDriver::properties_sproperties (void) const override
 Query the meta data about a signal or control. More...
 
- Public Member Functions inherited from geopm::SysfsDriver
 SysfsDriver ()=default
 
virtual ~SysfsDriver ()=default
 

Static Public Member Functions

static std::string plugin_name_drm (void)
 
static std::unique_ptr< IOGroupmake_plugin_drm (void)
 
static std::string plugin_name_accel (void)
 
static std::unique_ptr< IOGroupmake_plugin_accel (void)
 
- Static Public Member Functions inherited from geopm::SysfsDriver
static std::map< std::string, SysfsDriver::properties_sparse_properties_json (const std::string &iogroup_name, const std::string &properties_json)
 

Additional Inherited Members

- Static Public Attributes inherited from geopm::SysfsDriver
static constexpr size_t M_IO_BUFFER_SIZE = 128
 Arbitrary buffer size. More...
 

Detailed Description

Class used to implement the DrmSysfsDriverGroup.

Constructor & Destructor Documentation

◆ DrmSysfsDriver() [1/2]

geopm::DrmSysfsDriver::DrmSysfsDriver ( )
delete

◆ DrmSysfsDriver() [2/2]

geopm::DrmSysfsDriver::DrmSysfsDriver ( const std::string &  drm_directory,
const std::string &  driver_signal_prefix 
)

◆ ~DrmSysfsDriver()

virtual geopm::DrmSysfsDriver::~DrmSysfsDriver ( )
virtualdefault

Member Function Documentation

◆ attribute_path()

std::string geopm::DrmSysfsDriver::attribute_path ( const std::string &  name,
int  domain_idx 
)
overridevirtual

Get the path to the sysfs entry for signal.

Parameters
[in]nameThe name of the signal or control
[in]domain_idxThe index of the domain within the set of domains of the same type on the platform.
Returns
File path to the sysfs entry to be read.

Implements geopm::SysfsDriver.

◆ control_gen()

std::function< std::string(double)> geopm::DrmSysfsDriver::control_gen ( const std::string &  control_name) const
overridevirtual

Get a function to convert a control into a sysfs string.

Converts from the SI unit control into the text representation required by the device driver.

Parameters
[in]signal_nameThe name of the signal.
Returns
Function returning string content to be written to sysfs file.

Implements geopm::SysfsDriver.

◆ domain_type()

int geopm::DrmSysfsDriver::domain_type ( const std::string &  name) const
overridevirtual

Get the PlatformTopo domain type for an named attribute.

Parameters
[in]nameThe name of the signal or control
Returns
geopm_domain_e domain type

Implements geopm::SysfsDriver.

◆ driver()

std::string geopm::DrmSysfsDriver::driver ( void  ) const
overridevirtual

Name of the Linux kernel device driver

Returns
Name of device driver

Implements geopm::SysfsDriver.

◆ make_plugin_accel()

std::unique_ptr< IOGroup > geopm::DrmSysfsDriver::make_plugin_accel ( void  )
static

◆ make_plugin_drm()

std::unique_ptr< IOGroup > geopm::DrmSysfsDriver::make_plugin_drm ( void  )
static

◆ plugin_name_accel()

std::string geopm::DrmSysfsDriver::plugin_name_accel ( void  )
static

◆ plugin_name_drm()

std::string geopm::DrmSysfsDriver::plugin_name_drm ( void  )
static

◆ properties()

std::map< std::string, SysfsDriver::properties_s > geopm::DrmSysfsDriver::properties ( void  ) const
overridevirtual

Query the meta data about a signal or control.

Implements geopm::SysfsDriver.

◆ signal_parse()

std::function< double(const std::string &)> geopm::DrmSysfsDriver::signal_parse ( const std::string &  signal_name) const
overridevirtual

Get function to convert contents of sysfs file into signal.

This parsing includes the conversion of the numerical data into SI units.

Parameters
[in]properties_idThe unique identifier of the signal.
[in]contentThe string content read from the sysfs file.
Returns
The parsed signal value in SI units.

Implements geopm::SysfsDriver.


The documentation for this class was generated from the following files: