aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PFW: KlocWork Severe issues fix on Parameter FrameworkJhinX Lee2014-02-1211-0/+27
| | | | | | | | | | | | | | | 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-12205-1432/+205
| | | | | | | | | | | | | | | 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: Fixed bug on BitParameterTypesFrédéric Boisnard2014-02-1214-33/+178
| | | | | | | | | | | | | | | | | BZ: 44148 The save and restore operation would not work correctly when BitParameters of a BitParameterBlock were used in more than a single Domain. This patch aims to fixup this bug and introduces a new class: BitwiseAreaConfiguration. Change-Id: I0aaccd57cf1cce33400f94a8879565171d283425 Orig-Change-Id: I7107f7db9f01cfff3c38cbac606a8c1e9bca8b5e Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/58363 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: overflow not detected for int parametersFrederic Boisnard2014-02-128-89/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 26285 The following errors were not detected by the PFW when setting parameters of type (U)INT8, (U)INT16, (U)INT32: - When setting a value out of the int32 range (ex: 999999999999999), the strtol/strtoul functions return the value -1 which was then assumed correct by the PFW. Now the errno value is checked to ensure that no range error was encountered by strtol/strtoul. - When the input string does not contain any digits, the strtol/strtoul functions return 0 which was assumed correct by the PFW. Now the endptr argument is checked to make sure that at least a part of the string was parsed. In any case an error message is displayed and the original value is not updated. Made the change compliant to 64-bit OSes. Applied the same corrections to Enum and FixedPoint types. Change-Id: I135538def791208a6eb6143444a3fc30337137e1 Orig-Change-Id: I1519dbf798228a9be579aaf612f456d5eb1b41b5 Signed-off-by: Frederic Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/55443 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: Add a command to delete all domainsKevin Rocard2014-02-124-0/+33
| | | | | | | | | | | | | | BZ: 42432 This command is useful to reset all PFW settings. Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Change-Id: I23b74c45205739aeca71278979699b6b88f3111e Reviewed-on: http://android.intel.com:8080/53332 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Allow multiple 0 in XML array parametersFrederic Boisnard2014-02-121-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 29913 Updated the patterns of the ParameterSettings.xsd in order to allow multiple 0 in arrays. Updated the ParameterSettings.xsd concerning the FixedPointParameters: - Enabled trailing zeros, - Enabled negative values, - Enabled 0 in fixed point arrays, - Disabled trailing whitespace in hexa values, - Enabled scientific notation in fixed points Signed-off-by: Frederic Boisnard <fredericx.boisnard@intel.com> Change-Id: I1cf4223587a650efbd05d674e96ebd6c40d46927 Reviewed-on: http://android.intel.com:8080/41892 Reviewed-by: Boisnard, FredericX <fredericx.boisnard@intel.com> Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: Wagner, DavidX <davidx.wagner@intel.com> Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Fix precision error on FixedPointParametersFrédéric Boisnard2014-02-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | BZ: 36789 When exporting the settings to an XML file and importing this file right after, an error occurs on some fixed point parameters. The values of these parameters are incorrectly saved into the output file. This bug is due to a precision error when converting the raw value from the blackboard. The setprecision() manipulator rounds the result instead of truncating it, sometimes leading to an overflow. The fix consists in performing a truncation after the last significant digit. Change-Id: I70c59bffabfd61f1ce95a8fb4cef33273a326eaf Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/50935 Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Make test-platform run on androidKevin Rocard2014-02-121-0/+38
| | | | | | | | | | | | | | | BZ: 34880 For routing testing purpose, the PFW test program : test-platform needs to run on the target. Change-Id: Iab8d8baf42a5db99550e1cba921f80fdb0a69374 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/47500 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Add CriterionFromStateList to test-platformKevin Rocard2014-02-122-0/+88
| | | | | | | | | | | | | | | | | | BZ: 34881 Add commands : createExclusiveSelectionCriterionFromStateList and createInclusiveSelectionCriterionFromStateList For routing testing purpose, the PFW test program "test-platform" need commands to create criterion from a state list, so that each criterion state could have a specific name. Change-Id: Ibf4214723e085069ea9513efb099034478fa3b73 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/47499 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Fixed ParameterMgr destructorFrederic Boisnard2014-02-121-0/+1
| | | | | | | | | | | | | | | | BZ: 33745 The destructor of ParameterMgr did not destroy the instance of CCommandHandler. This issue is fixed by this patch. Change-Id: Ied23c7a094bb1cc528723a79e001cd6defa556d8 Signed-off-by: Frederic Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/46429 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* gcc4.6: Fix incompatible type casts for 4.6 toolchain.Pavel Chupin2014-02-121-3/+3
| | | | | | | | | | | | | | | BZ: 33304 Change-Id: I6a13f95b0c5636591f76e7f123c0813608d50c73 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com> Reviewed-on: http://android.intel.com:8080/45958 Reviewed-by: Lu, Hongjiu <hongjiu.lu@intel.com> Reviewed-by: Beare, Bruce J <bruce.j.beare@intel.com> Reviewed-by: Yin, Fengwei <fengwei.yin@intel.com> Reviewed-by: Li, XiaojingX <xiaojingx.li@intel.com> Tested-by: Li, XiaojingX <xiaojingx.li@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Fixed bug on fixed point parameter typesFrederic Boisnard2014-02-121-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | BZ: 29464 When reading from the blackboard a value of type fixed point parameter (size < 32 bits), the sign extend was not taken into account: - Added a call to signExtend() before the conversion, - Updated the display as well (precision support), - Set up the notation type (fixed) to prevent the scientific notation display. Compilation on target would fail because of the use of an ambigous function : log10. Changed the notation of the number to double for the parameter of this function to force binding to: double log10(double). Change-Id: Ibb77259b84db33e00971ba662600547522cf9bb1 Signed-off-by: Frederic Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/41649 Reviewed-by: De Chivre, RenaudX <renaudx.de.chivre@intel.com> Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: Benavoli, PatrickX <patrickx.benavoli@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Allow multiple amend in mapping fieldPatrick Benavoli2014-02-121-2/+8
| | | | | | | | | | | | | | | BZ: 25744 The fonction that amends is now able to handle multiple amends. Change-Id: Ia4f62d6fee32f401e4ce90f5e75a150771d1921d Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/37733 Reviewed-by: De Chivre, RenaudX <renaudx.de.chivre@intel.com> Reviewed-by: M, Arulselvan <arulselvan.m@intel.com> Tested-by: M, Arulselvan <arulselvan.m@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Add getConfigurableElement() to CSubsystemObjectFrederic Boisnard2014-02-122-0/+8
| | | | | | | | | | | | | | | | | | | | | BZ: 25743 CSubsystemObject manages an instance of CInstanceConfigurableElement through a private member variable, preventing subclasses of CSubsystemObject from accessing it. These subclasses should have access to this knowledge, e.g. when a plugin needs to display specific debug information. This patch adds a new protected method CSubsystemObject::getConfigurableElement(). Change-Id: Ifba58e4ef41b53de828eb1a85b3a8e9a3e5bf40c Reviewed-on: http://android.intel.com:8080/37731 Reviewed-by: Boisnard, FredericX <fredericx.boisnard@intel.com> Reviewed-by: De Chivre, RenaudX <renaudx.de.chivre@intel.com> Reviewed-by: M, Arulselvan <arulselvan.m@intel.com> Tested-by: M, Arulselvan <arulselvan.m@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* HAL code to be used on tablet -> enforce null pointer protectionFrancois Gaffie2014-02-122-0/+9
| | | | | | | | | | | | | | | | | | | BZ:26933 Audio HAL code is supposed to be also used on tablet. If parameter FW cannot be started, must not bailing out. This patch add a new API to ensure PF is started before calling another API of the PF. Change-Id: I2f9059acf79370fc1cfbae27256060f872fe4ad7 Signed-off-by: Francois Gaffie <francoisx.gaffie@intel.com> Reviewed-on: http://android.intel.com:8080/38892 Reviewed-by: De Chivre, RenaudX <renaudx.de.chivre@intel.com> Reviewed-by: Continente, Christophe <christophe.continente@intel.com> Reviewed-by: Wood, Brian J <brian.j.wood@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* Handle amend of mapping values at PFW levelGuillaume Denneulin2014-02-122-0/+40
| | | | | | | | | | | | | | | | | | BZ: 24271 Amend mechanism can be used by various plugins, right now it is implemented in alsa one. Move this implementation in the PFW for all plugin to benefit from this mechanism. Change-Id: I3f193a732b00586c52303390f353fea00f4ce8ec Signed-off-by: Guillaume Denneulin <guillaumex.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/35905 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: Add test meansGuillaume Denneulin2014-02-103-0/+353
| | | | | | | | | | | | | | | | | BZ: 12873 In order to test the parameter-framework, new means have been developped. they consist in 2 distinct interfaces: - Simulate platform behavior through command-line - Simulate HW behavior through test-plugin performing R/W in file system. Change-Id: I6efc9b5489155d9f334a72d7ed65324c3e52690f Signed-off-by: Guillaume Denneulin <guillaumex.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/35904 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: Enhance subsytem libraries load mechanismGuillaume Denneulin2014-02-1010-74/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 24093 If a subsystem library depends on another one, the libraries have to be loaded in a predefined order. the previous recovery mechanism on PFW was: When a subsystem library does not load because of a missing dependency, it tries to load all the other subsystems before trying one more time to load the failing library. Unfortunately, Android linker does not allow several try when loading a library. In consequence, this patch implements a new mechanism to load its subsystem libraries. For this new mechanism, the PFW will load the subsystem libraries in the order they are disposed in the file ParameterFrameworkConfiguration.xml Change-Id: I39b97e33c77a6b4392c3813cd3d780e10e3b60f8 Signed-off-by: Guillaume Denneulin <guillaumex.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/35903 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: Fixed bug when entering empty ruleFrederic Boisnard2014-02-101-2/+14
| | | | | | | | | | | | | | | | | BZ: 24081 When entering an empty rule (composed of spaces), the PFW used to crash. Now an error message is displayed : "Syntax error, no rule found". Change-Id: If3cb505f879d006309add46d5c7c4f47325af563 Reviewed-on: http://android.intel.com:8080/35613 Reviewed-by: Boisnard, FredericX <fredericx.boisnard@intel.com> Reviewed-by: Denneulin, GuillaumeX <guillaumex.denneulin@intel.com> Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Enum parameter mappingPatrick Benavoli2014-02-109-54/+190
| | | | | | | | | | | | | | | | | | | | | | | | | BZ: 22125 Enum parameter types are now fully parsed as any other types, which allow Mapping attributes to be correctly interpreted. Now inner structure of enum parameter types is based on automatically created objects: ValuePair Slight adaptation of to ICS environment in Android.mk files and XmlComposer (time.h). More explicit error statement issued in case of plugin load failure in SystemClass.cpp. Added a log for Alsa mixer elements accesses. Change-Id: Ia71fd854e639a288c5dae79260b1e2a0eb1a7ac2 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/33756 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: Rule handling from CLIPatrick Benavoli2014-02-1016-129/+852
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 15689 These changes enable handling changing the rules for configuration application from the command line interface. It is possible to assign a new rule, to display the existing one or to clear it. Restriction: like in XML, root rule must be compound. Syntax is the following: - Criterion rule expression: <criterion> <verb> <object> - Compound rule expression (All|Any){<content>} where <content> is a comma separated list of any kind of rules. Example: All{Any{SelectedOutputDevice Includes Headphones, SelectedOutputDevice Includes Headset}, Any{Mode Is Normal, Mode Is RingTone}} means the pertaining configuration will be applied when Selected device includes either Headphones or Headset, while, ate the same time, Mode is either Normal or RingTone. Added dumpDomains remote command to show a summary of domains, configurations as well as their application conditions (tree view). Removed not anymore necessary guard against deletion of domains or configurations that contain rules, ad now they're controlled from the CLI. Change-Id: Iad2c183271b077b8bbc8ac2fc5f37c266004070f Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/26100 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>
* PFW: No mapping attempt for virtual subsystemsPatrick Benavoli2014-02-102-0/+24
| | | | | | | | | | | | | | | | | BZ: 15710 Now virtual subsystems overload the mapping process so as to avoid any object creation attempt. Object creation only makes sense for concrete subsystems, i.e. those containing actual physical parameters to be mapped. Change-Id: Ib7a8d5978ebb79a5d5fecebe3b95cc3bd376cd8e Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/26099 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: Max value on bit parametersPatrick Benavoli2014-02-104-12/+41
| | | | | | | | | | | | | | | | | | | BZ: 15708 Added Max attribute on bit parameter types. Max attribute, as the parameter itself is unsigned and can't exceed the maximum encodable value decided by the parameter's bit size. In addition, fixed a small mistake in CParameterMgr::createParameterHandle where now NULL is properly returned in case of failure instead of "false". Change-Id: Ifb0af6b4d43dc2c0ddb4e0e038b1ce226772d71f Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/26098 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: Manage subsystem plugin dependencyPatrick Benavoli2014-02-103-58/+119
| | | | | | | | | | | | | | | | | | | | BZ: 15204 As subsystem plugins might depend on one another, they can't always be all loaded at once. Because a certain order must sometimes be respected, the loading process has now become iterative, not merely failing upon the first loading failure. - Fixed a missing carriage return in the configurable domains listing functionallity Change-Id: I7e0d6ecbb258fcb1acaad78359e65f0e132d09ab Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25408 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: Parameter adaptation (platform interface)Patrick Benavoli2014-02-1014-5/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 15069 Adaptation nodes have been added to integer parameter types in the structural description. They all convert values between a platform value and the actual parameter value. When a conversion node affects the definition of an integer type parameter, its interface type becomes "double" (instead of integer). For now only linear adaptation type is supported. Linear adaptation: ================= Linear adaptation nodes consists of the following attributes: - slope numerator (double, default = 1) - slope denominator (double, defult = 1) - offset (signed integer, default = 0) Conversions from user (platform) values to blackboard are done the follwing way: blackboard_value = user_value * slope_numerator / slope_denominator + offset Change-Id: I00abe9ba5961d8e541b616225531bbc7c8b465b0 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25407 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: Type safe dynamic parameter accessPatrick Benavoli2014-02-1042-325/+1695
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1018-13/+217
| | | | | | | | | | | | | | | | | | | 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: file organizationPatrick Benavoli2014-02-1035-1142/+640
| | | | | | | | | | | | | | | | | | | | | | | | BZ: 12888, 12925, 13285, 13289 - Removed hard coded paths from source files - Separated test related resources and programs into a test subfolder - Schemas folder at root containing the schemas, a symbolic link to that folder might be a good way to enable schema aware editing - Now global configuration file path is passed from the hosting platform instead of the class name. - Global configuration path contains only the relevant class related descriptions (plugin paths, structure, settings) - .user environment file eclipsed through git-ignore (and removed from projects) - Removed system class configuration obsolete files Change-Id: I99b783ba22bca05238a760b2127939a91e976be8 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25404 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: parameter access code reusePatrick Benavoli2014-02-104-40/+41
| | | | | | | | | | | | | | | | BZ: 13283 Path navigator embeds a navigate and validate functionality that spares parameter manager from replicating code between get and set parameter contexts. Change-Id: Ic7c950660cd8c22b233ce02238fa1a66649a501b Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25403 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: selection criteria rule constraintsPatrick Benavoli2014-02-102-7/+7
| | | | | | | | | | | | | | | | | BZ: 13907 Selection criteria rules' constraints previously applied on the inclusive type of criteria while those should support all kinds of predicates. Now inclusive types support all predicates and exclusive ones support only identity predicates. Change-Id: If5d9d4bd338748950eb4927d833d9d3da7ad48ee Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25402 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-107-20/+34
| | | | | | | | | | | | | | | | | 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>
* PFW: Wrong file export in hexadecimal formatGuillaume Denneulin2014-02-102-4/+11
| | | | | | | | | | | | | | | | | | BZ: 18097 For fixed point parameters, if the output raw format is hexadecimal, the settings were exported on 32 bits instead of their actual size (8, 16 bits...). Aligns also the way to deal with format on integer type Change-Id: Ifb25f4d6769bcc7c55de5654443a4862ef5a9e0f OLD-Change-Id: I5a9d695de98a7828af185b19e9943d4abf8bb805 Signed-off-by: Guillaume Denneulin <guillaumex.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/29818 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: Plugin inheritancePatrick Benavoli2014-02-101-4/+34
| | | | | | | | | | | | | | | | | | | | | BZ: 13276 Modified the subsystem plugin symbol lookup sttrategy so as to allow the plugins to be extensible in the form of richer plugins. Now the plugin symbol is of the form: get<TYPE>SusbystemBuilder where TYPE comes from the name of the plugin file itself: lib<type>-subsystem.so Change-Id: Ie698c5200227c51a0fecf06f7e91a55cd7ee1fde Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22636 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26783 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* PFW: Enumeration typesPatrick Benavoli2014-02-104-1/+330
| | | | | | | | | | | | | | | | | | | | | BZ: 13274 Added enumeration type parameters. They are sizeable like integers but always treated as signed. Lexical - numerical value pairs are now specified from the Strutural description XML file (subsystem level). When set, literal or numerical values may be used interchangeably, however the output form will depend on the currently selected value space and output format. Change-Id: I498b53a2bbd8f414bb8a09063c28265a7502bfbf Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22635 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26782 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* PFW: Dynamic parameter accessPatrick Benavoli2014-02-1015-84/+244
| | | | | | | | | | | | | | | | | | | | BZ: 13272 Added dynamic parameter setting / getting interface for hosting platforms This new API allows: - getting any parameter - setting any parameter as long as it is rogue (attached to no domains) Passed parameter values are in the form of strings. Change-Id: I01a34597fcb4dafb225519cbc01dfffb22b5d52a Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22629 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26781 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* parameter-framework: SequencePatrick Benavoli2014-02-1023-469/+1051
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 13152 - Introduced sequence notion in configurations: Sequences are configuration specific and are controlled from the Settings related XML files (order of settings appearance) as well as from the tuning interface (new commands available to set and get the sequence (setElementSequence / getElementSequence). Notes: - sequences will only matter for domains which new "SequenceAware" attribute is set to true (false by default). This attribute is also controlable through the tuning interface (setSequenceAware / getSequenceAware commands). - sequence unaware domain configurations will be applied before sequence aware ones. To allow for such functionality, the XML for settings format had to be reworked, leading to an unfortunate compatibility break. However, one benefit is that now a clear Settings section appears at the bottom of the domain description, which is easier to maintain than the previous structure where the settings appeared as sub-nodes of associated elements. Change-Id: Ic93552fd510ed8847f9c8e7d9d6164f7ea3c8c45 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22558 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26780 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* parameter-framework: Reusable command handlersPatrick Benavoli2014-02-101-0/+219
| | | | | | | | | | | | | | | | | BZ: 13035 - Added a template class in remote-processor library allowing a resuable way for command handlers to be implemented as C++ function pointers Change-Id: I99fd9ba4e17648fd949c2effdcf1373307e1d1ce Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22326 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26779 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* parameter-framework: Added string parametersPatrick Benavoli2014-02-1020-28/+328
| | | | | | | | | | | | | | | | | | | | | BZ: 12819 String parameters are specified in the XML structure with a MaxLength attribute. MaxLength corresponds to the maximum amount of characters the string parameter can handle. String parameters are expressend in the form of tokens, that is they don't contain any sort of space characters. For now, string parameter arrays are not supported. Change-Id: Ifbb006e3d2e3077535c32c0fd579cc04872a82b0 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22319 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26778 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* parameter-framework: import/export XMLPatrick Benavoli2014-02-105-53/+40
| | | | | | | | | | | | | | | | | | BZ: 10948 - Max value handling on integers corrected - Left-justified Qn.m numbers - Corrections after code review: removed fixed numbers from the code and unified byte to bit conversions Change-Id: Iaf54e413201eae61013735580e046c5ab1874700 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22316 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26777 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* parameter-framework: Enabling remote control from WindowsPatrick Benavoli2014-02-106-1/+452
| | | | | | | | | | | | | | | | | BZ: 8740 Used cygwin environment to build remote-process exe and remote-processor library Created also an installer Change-Id: I1cd487262bd85f4376c93bd8150aba492f81b602 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22313 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26776 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* fix build dependencymgross2014-02-101-0/+1
| | | | Change-Id: If06f213737a1e2b66becc132786e7cf8511455de
* parameter-framework: Removed XML files exportPatrick Benavoli2014-02-102-17/+0
| | | | | | | | | | | | | | | | | BZ: 10500 - removed XML file exports since since is done at platform level from now on - removed parameter scripts for the same reasons - removed reference to parameter script from parameter/Android.mk Change-Id: I1e9c358ea0b3f02af672c2109be76474bff69190 Orig-Change-Id: Iaefb2d3fae63f65804a98f5543e3f2c7258d78a2 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/20209 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>
* parameter-framework: Changed criterion interfacePatrick Benavoli2014-02-1014-109/+73
| | | | | | | | | | | | | | | | | BZ: 9561 - separated selection criterion change event indication form configuration application requests in different APIs - added a way to retrieve selection criterion from its name - updated version number 0.2.1 Change-Id: Icf4560fe67001655a171401f106296b9aa09afb3 Orig-Change-Id: I8dfb05ba1e704888c5c1ff9268a2a2e9a46af9bb Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/20208 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>
* parameter-framework: Changed XML files exportPatrick Benavoli2014-02-109-9/+0
| | | | | | | | | | | | | | | | BZ: 9099 1. Managed XML files export to /system/etc directly from XML/Android.mk file 2. Removed spurious links to local folders Change-Id: I6afcd3e16d15e1eff75c12f2eb06c602cc678010 Orig-Change-Id: I3c9fefed10e9bc7a437f19b47ed7f8c6edddae78 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/20207 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>
* parameter-framework: Improvements & corrections 2Patrick Benavoli2014-02-105-16/+41
| | | | | | | | | | | | | | | | | | | BZ: 9026 1. auto sync off now causes a global forward resynchronization 2. Added version info 3. Libxml2 cleanup correclty scheduled for process end 4. Changed criterion rule id / name association array to const 5. Nesting counter used for logs now mutable Change-Id: I1f86ee9a56a501ded97706a1d6b877b80950a021 Orig-Change-Id: I5a852736f3c5dd592795a2a70eef42ed9d4695b7 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/20206 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>
* Min/max value computation; Tuning lock handlingPatrick Benavoli2014-02-1016-108/+131
| | | | | | | | | | | | | | | | | | | | | BZ: 7466 - Min/max values are now correctly computed. They concern integer and fixed point parameters - tuning mode lock issue solved: created an AutoLock class for safe lock handling - added configuration files for a demo on Ubuntu environment - had AMIXER subsystem plugin compliant for derivation - LPE library: add carriage return on logs - removed obsolete files - some cosmetics Change-Id: Ife7a4799fd48dd4a1ca25dae666c4e453815881e Orig-Change-Id: I72fc5c1ff6abf638b43266a75bc00e21ad412349 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/16880 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: Parameter property displayPatrick Benavoli2014-02-1031-304/+437
| | | | | | | | | | | | | | | | | 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-1078-654/+1057
| | | | | | | | | | | | | | | | | | 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-08215-0/+20128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* initial project creationHenry Tieman2011-07-131-0/+0
Signed-off-by: Henry Tieman <henry.w.tieman@intel.com>