Corrected threshold readingmasks for Type01sensors
Issue: The upper and lower threshold reading mask(Byte 16,18)
in SDR Type01 sensors are not set under any conditions.
Fix: Setting the threshold mask based on its respective threshold
conditions.
Tested:
1.Issue Get SDR command for [u,l][c,nc] sensors.
2.Check theresponse for the bits 5,4 of Byte 16 and 18 (lower and upper)
are set correctly for respective sensors.
Signed-off-by: Rashmi RV <rashmi.r.v@linux.intel.com>
Change-Id: I119560b937bf24c0173acb72cb95aa56d3311314
diff --git a/src/sensorcommands.cpp b/src/sensorcommands.cpp
index f58f0e2..69bdf45 100644
--- a/src/sensorcommands.cpp
+++ b/src/sensorcommands.cpp
@@ -1438,6 +1438,8 @@
{
record.body.upper_critical_threshold = *thresholdData.criticalHigh;
record.body.supported_deassertions[1] |= static_cast<uint8_t>(
+ IPMISensorEventEnableThresholds::criticalThreshold);
+ record.body.supported_deassertions[1] |= static_cast<uint8_t>(
IPMISensorEventEnableThresholds::upperCriticalGoingHigh);
record.body.supported_assertions[1] |= static_cast<uint8_t>(
IPMISensorEventEnableThresholds::upperCriticalGoingHigh);
@@ -1447,6 +1449,8 @@
if (thresholdData.warningHigh)
{
record.body.upper_noncritical_threshold = *thresholdData.warningHigh;
+ record.body.supported_deassertions[1] |= static_cast<uint8_t>(
+ IPMISensorEventEnableThresholds::nonCriticalThreshold);
record.body.supported_deassertions[0] |= static_cast<uint8_t>(
IPMISensorEventEnableThresholds::upperNonCriticalGoingHigh);
record.body.supported_assertions[0] |= static_cast<uint8_t>(
@@ -1457,6 +1461,8 @@
if (thresholdData.criticalLow)
{
record.body.lower_critical_threshold = *thresholdData.criticalLow;
+ record.body.supported_assertions[1] |= static_cast<uint8_t>(
+ IPMISensorEventEnableThresholds::criticalThreshold);
record.body.supported_deassertions[0] |= static_cast<uint8_t>(
IPMISensorEventEnableThresholds::lowerCriticalGoingLow);
record.body.supported_assertions[0] |= static_cast<uint8_t>(
@@ -1467,6 +1473,8 @@
if (thresholdData.warningLow)
{
record.body.lower_noncritical_threshold = *thresholdData.warningLow;
+ record.body.supported_assertions[1] |= static_cast<uint8_t>(
+ IPMISensorEventEnableThresholds::nonCriticalThreshold);
record.body.supported_deassertions[0] |= static_cast<uint8_t>(
IPMISensorEventEnableThresholds::lowerNonCriticalGoingLow);
record.body.supported_assertions[0] |= static_cast<uint8_t>(