summaryrefslogtreecommitdiffstats
path: root/parameter/Subsystem.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove using std::XXX from headersSebastien Gonzalve2014-09-111-29/+31
| | | | | This is a bad practice to have using in headers because it pollutes the namespace of any user of that header.
* Support context mapping at Subsystem levelDavid Wagner2014-06-241-9/+18
| | | | | | | | | | | | | | | | | | | | | | | BZ: 176942 Add a class (ConfigurableMappingElement) handling the mapping; to be derived by all classes that can contain mapping. ConfigurableMappingElement derives from ConfigurableElement. Until now, the only child of ConfigurableElement that could have mapping was InstanceConfigurableElement (through TypeElement, that contains all information related to its type). Now, both InstanceConfigurableElement and Subsystem derive from ConfigurableMappingElement. That way, Subsystem XML elements can now have a "Mapping" attribute, propagated to all Elements in the tree. The Subsystem.xsd schema is updated in that regard. Only context mapping is relevant at the Subsystem-level (as opposed to instantiation mapping). If an instantiation mapping is set in the Subsystem, it is silently ignored. Change-Id: I3c09959bc5e3d18c5a4d354e498d69cc5489a247 Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Change the license to 3-clause BSDDavid Wagner2014-02-131-22/+27
| | | | | | | Add license header in all source files and Makefiles, Add a "COPYING" file containing the license text. Signed-off-by: David Wagner <david.wagner@intel.com>
* Handle key names in mapping contextRenaud de Chivre2014-02-121-2/+1
| | | | | | | | | | | | | | | | | | | | | BZ: 126002 Mapping context only allows to retrieve a mapping value from its corresponding key ID. We also want to do the same using its key as a string. This patch adds key name handling in context mapping. It also adds an API to retieve a mapping value from its corresponding key name. Note: it also removes an unused argument from handleMappingContext function. Change-Id: I5a18ad624a69272ea2796090692f2bfa8b373a52 Signed-off-by: Renaud de Chivre <renaud.de.chivre@intel.com> Reviewed-on: http://android.intel.com:8080/131571 Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* [PFW] Fix typo in the naming of the SubsystemBuilder APIFrédéric Boisnard2014-02-121-2/+2
| | | | | | | | | | | | | | | | | | BZ: 124779 There is a typo in the naming of the SubsystemBuilder API, "Susbystem" is used instead of "Subsystem". This patch replaces all occurences of "Susbystem" with "Subsystem". Change-Id: Ic132bdc685013257a138465545b99d001c46535a Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/120166 Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* Add showMapping command to the PFWFrederic Boisnard2014-02-121-17/+102
| | | | | | | | | | | | | | | | | | | | BZ: 99822 Developers often need to get the mapping corresponding to a specific parameter. However, the PFW doesn't provide a command to achieve this goal. This patch aims to add the showMapping command to the PFW. Change-Id: I05af64a408abe4ceb7f5d177a0ff5fa0461034d0 Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/105145 Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Coding style violation correctionKevin Rocard2014-02-121-2/+12
| | | | | | | | | | | | | | | | | | BZ: 98166 Some code is not following the coding style. Wrap too long lines according to coding style, add doxygen annotations. Change-Id: I1c160c5f2b4bedab159baadc034042ec9956cd0e Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/99545 Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Parameter bloc can handle any mapping depthKevin Rocard2014-02-121-3/+31
| | | | | | | | | | | | | | | | | | | BZ: 85878 Needed for subsystem object definition enhancement. In a PFW structure file, if a parameter bloc is defined in another parameter bloc with context mapping only (no instanciable mapping), the PFW will no longer stop diving on the first parameter bloc. Change-Id: If4f704f01e20eb348d931c0baab1b85936fc75a4 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/88959 Reviewed-by: Dixon, CharlesX <charlesx.dixon@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: Boisnard, FredericX <fredericx.boisnard@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Add resync mechanism if a subsystem needs resyncGuillaume Denneulin2014-02-121-0/+6
| | | | | | | | | | | | | | | | | | | BZ: 76267 In the case of a hw subsystems reset, it's possible that its parameter managed by the PFW may not be aligned with the PFW blackboard. A re-synchronization mechanism is implemented to ensure that the subsystem is re-synchronized on the next configurations application. Change-Id: I032150955d25a7020cf494e69456897b4c157916 Signed-off-by: Guillaume Denneulin <guillaume.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/83015 Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* PFW: KlocWork Severe issues fix on Parameter FrameworkJhinX Lee2014-02-121-0/+3
| | | | | | | | | | | | | | | BZ: 46220 Added dummy copy constructors Change-Id: I2b79900a5d0d9173084aa89d77cc90fef1f94f14 Orig-Change-Id: I040e4d2fd8d77ac04bf2fb78a190a39aadd0b0f3 Signed-off-by: JhinX Lee <jhinx.lee@intel.com> Reviewed-on: http://android.intel.com:8080/60268 Reviewed-by: Mendi, EduardoX <eduardox.mendi@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Remove names from PFW license headerKevin Rocard2014-02-121-7/+1
| | | | | | | | | | | | | | | BZ: 47701 As parameter framework code is proprietary, it should not be signed (patrick Benavoli name inside the header). Change-Id: I198f2851ee2a6cffed64a552fa399b072a0cbd3e orig-Change-Id: I335ecce2fa22ad11d6fa24f57c7cbbae3423bf1e Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/59560 Reviewed-by: Mendi, EduardoX <eduardox.mendi@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Type safe dynamic parameter accessPatrick Benavoli2014-02-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 15065 Replaced high level string based parameter access interface with typed ones. Now hosting platforms that want to control parameters must instantiate a CParameterHandle object out of the desired parameter path. CParameterHandle object may be used to access any kind of parameters, whatever its internal type, whether it's an array or not. Note that non rogue parameters offer a read access only. Any attempt to write them will fail. CParameterHandle objects offer the following kind of parameter accessing interfaces: - Boolean - Integer (signed or unsigned) - Double - String Note that those interfaces are available for scalar as well as for array parameters. Not all parameter types support all access kinds. Naturally, array parameters are only accessed via array interfaces while scalar parameters are managed through scalar interfaces. Here's a list of parameter types that may be controlled through each kind of access interface: - Boolean access: boolean, bit (bit size must be one); - Integer access: integer (sign must match), boolean (unsigned access only, value <= 1), enumerations; - Double access: for now only fixed points (soon integers will support them also through platform adaptation objects) - String access: all parameter types In addition, cleaned up parameter access related code so as to make it more generic and reusable. Changed version to 2.0.0 Change-Id: Ib80868cdb773e90962e48f1f38d2ff0029189815 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25406 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Virtual subsystemsPatrick Benavoli2014-02-101-1/+1
| | | | | | | | | | | | | | | | | | | BZ: 14587 - Added the possibility to declare parameters which have no real hardware implementation. They are only intended to configure the hosting platform. - A new subsystem type "Virtual" has been introduced to support those hardwareless parameters. - Virtual subsystems need no Mapping declaration in the structure description Change-Id: I44115f0dd0a26af74a544c6f08473b200aad94d3 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25405 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Mapping optimizationPatrick Benavoli2014-02-101-1/+1
| | | | | | | | | | | | | | | | | BZ: 13906 As soon as a subsystem object is created, the mapping process ceases to go deeper and explores other branches of the parameter tree. Adaptation to ICS environment in mk files Change-Id: I5cdf3ea3829f59379804aa88be282b1128c598b0 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25401 Reviewed-by: De Chivre, RenaudX <renaudx.de.chivre@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* Parameter Framework: Parameter property displayPatrick Benavoli2014-02-101-2/+2
| | | | | | | | | | | | | | | | | BZ: 7137 Added showProperties remote command Changed EQU to MONO_EQ for CAPTURE paths in LPE Subsystem structure definition Had to create a generic class for Parameter and BitParameter classes Change-Id: If6ab97ff002d8ba81df5a4a60bc3eb07dbe14e5e Orig-Change-Id: I425f81cd414b1c721f5c11169e9a489f5c638ab9 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/16879 Reviewed-by: Mahe, Erwan <erwan.mahe@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* parameter-framework: improvements and correctionsPatrick Benavoli2014-02-101-2/+2
| | | | | | | | | | | | | | | | | | BZ: 6721 - Bug correction concerning selection criteria display (inclusive type) - Adapted XML format to allow for only on parameter to be associated to a domain - Removed unused files in parameter project Change-Id: I9f42d08ff8cb60354714fe3d6b0f0b321ad0a7bf Orig-Change-Id: I837e553070f5acf2d275082c986ba29433493e31 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/16878 Reviewed-by: Mahe, Erwan <erwan.mahe@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* parameter-framework: initial commitPatrick Benavoli2011-09-081-0/+113
BZ: 6081 Parameter-framework is still-under-development, Intel proprietary, multi-platform (standard C++, for now only linux, no dependency on Android) software that allows system-wide parameter management. It relies on a number of configurations files, from which it knows how / when to hand out settings towards the hardware (subsystems) at runtime. 3 kinds of configuration files are used: - Structure description files indicating the actual parameter structure, types, min/max values, data representation. - Configurable domain description file containing the actual distribution of parameters over different domains, that is, different set of configurations, each of which being dynamically activated based on selection criteria rules that are themselves configurable. Configurable domains file contain the tuned settings along the tuning process, that is during the period where the system is being tuned. - Binary settings file used to store the settings when the tuning process is complete. Changing any of those files causes no recompilation of the framework. This project is based on a open plugin architecture allowing any kind of subsystems to be handled, whatever their respective Endianness. It fully relies on the platform SW to provide it with with the kowledge of exisitng selection criteria (selected device, current mode), as well as change events that occuring on them, thus triggering the application of corresponding configuration settings wherever appropriate. It supports handling mutliple parameter classes (Audio, Energy management) through TCP/IP interface. For now tuning commands can be sent to parameter-framework instances through a command-line utility, via adb over USB or via ethernet/WIFI. Change-Id: If7709c464db118f367f953e0824f49cce9fd0402 Orig-Change-Id: I7842e8808a4cfc0c615e0365e6d02101971ae2dc Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/16877 Reviewed-by: Mahe, Erwan <erwan.mahe@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>