Fix for newer SMMv2 firmware
Power policy command has changed. Settings are now relegated to the last two bytes, with status for the first two. Change-Id: I6505d99fef357d7e2023b7393ad9ef8920b620c7
This commit is contained in:
parent
bb46b94eab
commit
1757bcaca7
|
@ -1202,7 +1202,7 @@ class OEMHandler(generic.OEMHandler):
|
|||
if self.has_xcc:
|
||||
return self.immhandler.get_bmc_configuration()
|
||||
if self.is_fpc:
|
||||
return self.smmhandler.get_bmc_configuration()
|
||||
return self.smmhandler.get_bmc_configuration(self._fpc_variant)
|
||||
if self.has_tsma:
|
||||
return self.tsmahandler.get_bmc_configuration()
|
||||
return super(OEMHandler, self).get_bmc_configuration()
|
||||
|
|
|
@ -415,7 +415,7 @@ class SMMClient(object):
|
|||
5: 'Boosted',
|
||||
}
|
||||
|
||||
def get_bmc_configuration(self):
|
||||
def get_bmc_configuration(self, variant):
|
||||
settings = {}
|
||||
wc = self.wc
|
||||
wc.request(
|
||||
|
@ -453,7 +453,10 @@ class SMMClient(object):
|
|||
powercfg = self.ipmicmd.xraw_command(0x32, 0xa2)
|
||||
powercfg = bytearray(powercfg['data'])
|
||||
if len(powercfg) == 5:
|
||||
powercfg = powercfg[1:]
|
||||
if variant and variant >> 5:
|
||||
powercfg = powercfg[-2:]
|
||||
else:
|
||||
powercfg = powercfg[1:]
|
||||
val = powercfg[0]
|
||||
if val == 2:
|
||||
val = 'N+N'
|
||||
|
@ -700,6 +703,8 @@ class SMMClient(object):
|
|||
if None in powercfg:
|
||||
currcfg = self.ipmicmd.xraw_command(0x32, 0xa2)
|
||||
currcfg = bytearray(currcfg['data'])
|
||||
if variant and variant >> 5 and len(currcfg) == 5:
|
||||
currcfg = currcfg[-2:]
|
||||
if powercfg[0] is None:
|
||||
powercfg[0] = currcfg[0]
|
||||
if powercfg[1] is None:
|
||||
|
|
Loading…
Reference in New Issue