Yes. That's intentional. DeviceSleep and Agreesive Device Sleep are features that require enabling every time device is powered up. Default state is disabled. So the code only compares the policy value against 1 to enable the features.
Thanks/Ray > -----Original Message----- > From: Zeng, Star > Sent: Tuesday, June 5, 2018 10:30 AM > To: Ni, Ruiyu <ruiyu...@intel.com>; edk2-devel@lists.01.org > Cc: Zeng, Star <star.z...@intel.com> > Subject: RE: [PATCH v2 2/4] MdeModulePkg: Add AtaAtapiPolicy protocol > definition > > Ray, > > I could not find code to compare > DeviceSleepEnable/AggressiveDeviceSleepEnable with value 0, is that > expected? > > > Thanks, > Star > -----Original Message----- > From: Ni, Ruiyu > Sent: Monday, June 4, 2018 3:04 PM > To: edk2-devel@lists.01.org > Cc: Zeng, Star <star.z...@intel.com> > Subject: [PATCH v2 2/4] MdeModulePkg: Add AtaAtapiPolicy protocol > definition > > The patch adds AtaAtapiPolicy protocol which is produced by platform and > consumed by AtaAtapiPassThruDxe driver. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ruiyu Ni <ruiyu...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > --- > MdeModulePkg/Include/Protocol/AtaAtapiPolicy.h | 59 > ++++++++++++++++++++++++++ > MdeModulePkg/MdeModulePkg.dec | 2 + > 2 files changed, 61 insertions(+) > create mode 100644 MdeModulePkg/Include/Protocol/AtaAtapiPolicy.h > > diff --git a/MdeModulePkg/Include/Protocol/AtaAtapiPolicy.h > b/MdeModulePkg/Include/Protocol/AtaAtapiPolicy.h > new file mode 100644 > index 0000000000..12657d749e > --- /dev/null > +++ b/MdeModulePkg/Include/Protocol/AtaAtapiPolicy.h > @@ -0,0 +1,59 @@ > +/** @file > + ATA ATAPI Policy protocol is produced by platform and consumed by > +AtaAtapiPassThruDxe > + driver. > + > + Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> This > + program and the accompanying materials are licensed and made > + available under the terms and conditions of the BSD License which > + accompanies this distribution. The full text of the license may be > + found at http://opensource.org/licenses/bsd-license.php > + > + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER > EXPRESS OR IMPLIED. > + > +**/ > +#ifndef __ATA_ATAPI_POLICY_H__ > +#define __ATA_ATAPI_POLICY_H__ > + > +#define EDKII_ATA_ATAPI_POLICY_PROTOCOL_GUID \ > + { \ > + 0xe59cd769, 0x5083, 0x4f26,{ 0x90, 0x94, 0x6c, 0x91, 0x9f, 0x91, > +0x6c, 0x4e } \ > + } > + > +typedef struct { > + /// > + /// Protocol version. > + /// > + UINT32 Version; > + > + /// > + /// 0: Disable Power-up in Standby; > + /// 1: Enable Power-up in Standby; > + /// others: Since PUIS setting is non-volatile, platform can use other > value > than 0/1 to keep hardware PUIS setting. > + /// > + UINT8 PuisEnable; > + > + /// > + /// 0: Disable Device Sleep; > + /// 1: Enable Device Sleep; > + /// others: Ignored. > + /// > + UINT8 DeviceSleepEnable; > + > + /// > + /// 0: Disable Aggressive Device Sleep; /// 1: Enable Aggressive > + Device Sleep; /// others: Ignored. > + /// > + UINT8 AggressiveDeviceSleepEnable; > + > + UINT8 Reserved; > +} EDKII_ATA_ATAPI_POLICY_PROTOCOL; > + > +#define EDKII_ATA_ATAPI_POLICY_VERSION 0x00010000 > + > + > +extern EFI_GUID gEdkiiAtaAtapiPolicyProtocolGuid; > + > +#endif > + > diff --git a/MdeModulePkg/MdeModulePkg.dec > b/MdeModulePkg/MdeModulePkg.dec index 97ec87e1cf..3802b6e0b8 > 100644 > --- a/MdeModulePkg/MdeModulePkg.dec > +++ b/MdeModulePkg/MdeModulePkg.dec > @@ -606,6 +606,8 @@ [Protocols] > ## Include/Protocol/FirmwareManagementProgress.h > gEdkiiFirmwareManagementProgressProtocolGuid = { 0x1849bda2, 0x6952, > 0x4e86, { 0xa1, 0xdb, 0x55, 0x9a, 0x3c, 0x47, 0x9d, 0xf1 } } > > + ## Include/Protocol/AtaAtapiPolicy.h > + gEdkiiAtaAtapiPolicyProtocolGuid = { 0xe59cd769, 0x5083, 0x4f26,{ > + 0x90, 0x94, 0x6c, 0x91, 0x9f, 0x91, 0x6c, 0x4e } } > # > # [Error.gEfiMdeModulePkgTokenSpaceGuid] > # 0x80000001 | Invalid value provided. > -- > 2.16.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel