From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web09.2311.1662619451241297296 for ; Wed, 07 Sep 2022 23:44:11 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=KmZ549Od; spf=permerror, err=too many SPF records (domain: intel.com, ip: 134.134.136.31, mailfrom: hao.a.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662619451; x=1694155451; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=Hm3QtfLtYl8fKzzVy2C3XGAjQbpAoETVhOhib4jOinQ=; b=KmZ549OddIrP9CTGhkA9BD1L6uvBLNoT+bpWPTXxOjM4AJF3BavC96Ex iE1+qqLNOh0K3fPnsyFpBhC/9dyFYuMPHgbD9hCIk4CDf1YxM3fKQjMJ1 LEc8/qJ/wWJkWdrmrTjl5FDY/uoF7rKq9XyAZC+jQe3NhHa2hn9eSzPbz ECE91ToZl+0e1KVEQIt/tJEkjLlSBK4jMKN7D1h6xv/xnLti+zwmV5uN6 scEJ9WpinSCMOxiUv48VRn3Rg6vX9i+fIwKadxV2b1WCAJ7isBZKy/h00 BKo1wUOeGQU5wrLrbJvq2w3sIlgpUaZLqVYzykGaKxuiyWeQiPcUwfFsO w==; X-IronPort-AV: E=McAfee;i="6500,9779,10463"; a="358815751" X-IronPort-AV: E=Sophos;i="5.93,299,1654585200"; d="scan'208,217";a="358815751" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Sep 2022 23:44:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,299,1654585200"; d="scan'208,217";a="703893089" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 07 Sep 2022 23:44:10 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 7 Sep 2022 23:44:09 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 7 Sep 2022 23:44:09 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 7 Sep 2022 23:44:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZrYGDZe77OxKo0e1po5gZphJcMy1yyuTNthx7Ik2n0J8BxeE/zf/H/pFDAljkoB6cUQhVIv2OiNLZ8/oXpNa07wt5kNoTRRJ85JPx+novKZUhrtLmaODIy2HSHre1DWy7jLhbgdFJTlEoXLMQeOL7ersjxrhqBmU1cO5tHILphRbr/2UI5BP761ZGcaLzuHxhzta5qfSA1bggH0RbrhFX49XZLyoCGWo9F2tSRZuOirNba42Hw8KjdoWt6MycjrfrcMepLOdIhQ18WFWCNpoK1nBYxN+sANNBblq1K9nOgrEeOvwnZAjVsWWV51kNlxNfA5MI5X1dX9u56ElKCdOCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xDb2Kg6GfnOhiMiSKTHsYzJfindkeKa+p2ORyqO+gqY=; b=ePoiAuQL9en32HAbXSJ0KMtnVoR7doqPg3IYfo0A8lrrkbqxcuuR3Cs+CjUfgBOi/T/pohMPh2ZQ1UNKMbqi5R53pbq5n9BG4si5Q3g6J//0NoHzzPu+8Qe+5yY9QdRITuSDipigrTtcAU5vXeYLfSTYjwgBJGK+wJ6G69LVp32xA98Md3yVD7jRexXf+0lrI7ZX4Kall9E5Wpakq64E/hRnKnKhwl2lCn50ZsyRhTy8BfFe4oW7wnPszjARx1Sqkbk49tF7ZH/cM3NIz8QtsAFBEbMBdP5JEBT8duN7zAFUJ/nTvMU5ve9QWbeBwOC2WpXswZXBlS2IRdpj0iZF/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB4025.namprd11.prod.outlook.com (2603:10b6:5:197::31) by MN2PR11MB4221.namprd11.prod.outlook.com (2603:10b6:208:18d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.16; Thu, 8 Sep 2022 06:44:01 +0000 Received: from DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::6144:b5e3:5217:f60e]) by DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::6144:b5e3:5217:f60e%5]) with mapi id 15.20.5612.014; Thu, 8 Sep 2022 06:44:01 +0000 From: "Wu, Hao A" To: "devel@edk2.groups.io" , "Anbazhagan, Baraneedharan" CC: "Gao, Liming" , "Ni, Ray" Subject: Re: [PATCH v2] MdeModulePkg: Use configurable PCD for AHCI command retries Thread-Topic: [PATCH v2] MdeModulePkg: Use configurable PCD for AHCI command retries Thread-Index: AdjDO47NgG9qllpbRjOTlew4fZd/cgAEsYpw Date: Thu, 8 Sep 2022 06:44:00 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB4025:EE_|MN2PR11MB4221:EE_ x-ms-office365-filtering-correlation-id: 72baef44-1558-42a6-a759-08da9165837c x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jXNngm4Oc9gx5l+HId7QGYWFaGW2o62wvAFYzZ72Desbo3q/1E/4laxeFyj2BkJmw/sHy0zrUS6g1vH71k661UjtIUzSoPI/nWfz+j4UumWynxkniVy7wj6XOcvBaUVC6a/AEeLEV0X2ESkSgeo9VogHP1DO1efw7uEIKnMu2qfwOznmu3SzVdfu9l/NfTI52bKRm/H4qG4NQ1iF9Kn67WPDk7Az9a30frkwz7Yq0ApYf4/IHzz5Zlw/3SNqhhrkDn5kCIa1A7QhAy+fk8VB8lZya5lG/XHUkZPg95L4lhoh7uHNkAOntCC3ph0lHuEk4WJmD4gXloRkomgdqVCI4NdFsLdu9oFyD/p4kCxa0WatCLnqwh3leRyTdDYKyUNC/RF7rqOsNTfaW6LrV1y0ObO3Vv6YJxGSnyryXN/DHcQE8bp9eeT8a/CLrqyMzwV5R9iSNn6MG56Nb3pBTJehyJelu6WWXxxTkmORLPc3POzy+y5Fl85ieNj2iuOO4xj7qTR6KfXha4aPPxBX1Jg8124zqvPQ/kUuTNfGLEJr1E/hIR6PDPTgPiSUXFmTZR3iRL7/61SbYJRMUDfycuDgqocSkrTUVIHiBYtRtWJJWE1+KdfNbOdUzf26JfL599eU6JpbAVXBU8fip3CvhS9eiDdO8f+ZvyhZoOdlCDSL6jIe65Hb/+qXRLsDEVp2FZWv6H+sPperMPc6sxN1IymGlWHqKwuNUQm+n9Xre++x/KNGJW/zl2Vr2WQUW/j+yDlwoK1ndMssjRte3li/tIYUIV5K39yOXnv+WjtlmIQ3TidlBpbu3vy42op8OS9xHj4hFo7+qUFWYuiaHZteJy4bBA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4025.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(39860400002)(366004)(136003)(346002)(55016003)(966005)(5660300002)(186003)(26005)(107886003)(7696005)(52536014)(53546011)(6506007)(41300700001)(38070700005)(478600001)(71200400001)(9686003)(166002)(33656002)(82960400001)(76236004)(83380400001)(38100700002)(122000001)(8936002)(316002)(54906003)(2906002)(66476007)(66446008)(86362001)(64756008)(66556008)(8676002)(110136005)(66946007)(4326008)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?LFAWuj64kVVAsW1+4F8MQkn1yM9SOMSGnIo2NC6LzbSf2f2HAUsBBTPkj9hN?= =?us-ascii?Q?z162lFbaQp5z98BZsHBCEwVG/eL7b4+psn31wQdfOXq5ICnlQbyFUUoAiLDj?= =?us-ascii?Q?EswybIn4o4hSh8b858lnL6VT/+T+G5DMjumv4UFj9zK5fBLcGCNsKSSonvJ0?= =?us-ascii?Q?wG3ulDZT8tCf/8r0YvnImRtrKbV5ErfrQbGabPwkyW+GXAaxjU5gIo1/37c3?= =?us-ascii?Q?UyGI9o4BEr61bnBOfT9bbhgkN4BtOqo27txf4dTZHDPeNsJ4T5XP9JwcqWIy?= =?us-ascii?Q?ASYu65HT6MR32AkgDbv0myP/8ogP56wQT8g+AoV9Tut+Lu8zGnwMxjaYaOE0?= =?us-ascii?Q?7iUWntrSjGVwY1k+wiQsjJkwcKh3h3AhRr7AAHJc7LskM8GD4Ln1R2V+fBfW?= =?us-ascii?Q?1B89TJ0ROWJSJhcRU0Y3jgd5lbCEgULOe/mgfGG8J/RV6pLCr0DUXBdKxcsn?= =?us-ascii?Q?jp9j8WoyGECT0WI4edfMGzBJCSHtnyJ9RWDXcS9spW5eOBQyCi+f2wOQ4hFB?= =?us-ascii?Q?cvprQ787OEEZur1mJtDH+5QdsQl3iSAAPHkT8e9L4fFZNFD+iI7T8InbgwCH?= =?us-ascii?Q?z/7DCvs8WD0qCP21soja8WZMFE5Kj4RkuYmUrdCrpNU5TurotooK+9GD16dc?= =?us-ascii?Q?oIDVBKMw9pKzJMw3TrIcMH3eDrDWL8/XcXVKDK2nRiTuChBOvJMIp4Rb6rKv?= =?us-ascii?Q?l9GAphQD60An6pOKCYm4Ww8ub08Wj+q7wVm9DsXajPSxbyOW7Tornigtn4+2?= =?us-ascii?Q?LAfu42Z4no+Sf8X4SxG2m15oxSMBMbqmwkvYYRIltUFvqxm0rKkprzyuUbng?= =?us-ascii?Q?p3E8eX973ytXjO4P7OfwaToT2Yi/AfJQMBNhucM2ChtDdl/MTu6z11x0TAzM?= =?us-ascii?Q?KGo3eX6OERy/yXggGzcSy8VEhaVwxPbGCsNzVci43doLvjXsve0jT5pG8qUn?= =?us-ascii?Q?qfP+bbsZkLrmYC9UnjIdGcaBIpUTvX4/BonfUR8oty9y4CU2kCOiuFL5HG5x?= =?us-ascii?Q?zm8gKM7qo6fTYLq8BMurNvZzNAGtd2oXaPKVcDGLFz6FsXXaIKpl+d7Y/U2N?= =?us-ascii?Q?g/NhFNphrv6Cx4bdOzgIFNXGUhj9VT8eSYX/47eux6Ngim1t69IrYziZHOGW?= =?us-ascii?Q?LPEr8419PRoiVk7vgFaVXWNVwhODFM3dV/pAjlfXUxzcqmYo297lyeCTubMc?= =?us-ascii?Q?+2DAJYiLjGUDk2Ydyl98yC4AJRbnmRhVeqj3XNAgBb3uPHsMRlRiX4pCrmZ7?= =?us-ascii?Q?xp2OE/RHfaZh2VsokxJT3HJqMPbVXe8rOkM7AitrfdB+hZ38yM+Cy0Os1OCi?= =?us-ascii?Q?cGDwdpbsVMUs11/9PslEz7YbcbaScd3dklYVSC+2/Jwmn9rRhSV5rG53lDpl?= =?us-ascii?Q?eX7aemaQg9uccdm8rMSsLbmKfHSfLtAD+4MKH0XyJfLKaL4RZfTEOGU74rLL?= =?us-ascii?Q?yslnJJElsePHgMPVOvLsLH4Ttg2Kn0PVHqPV0iE+2MpsIVGxfkK+SXyxkIYT?= =?us-ascii?Q?Y1cqJmoHyAumkKG6X4AXVSFH/9UT6GU+jpTJ9ePDIsZ1IcQ1ue3LEeoBIs67?= =?us-ascii?Q?iIrG9R7qVYXTcB0bfATX9UqPnSCrt+4zbUpRkrlJ?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4025.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72baef44-1558-42a6-a759-08da9165837c X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2022 06:44:00.9430 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jpSsm7hIJ53P0MG7yDlVFbNwVr1xgOZCSoPaOckbSNwqHC/S0jEwuD3bwtoWQmPS+BqxscfwZNWFJdf41QHbVw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4221 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_DM6PR11MB40258BF5FEB53EE509411848CA409DM6PR11MB4025namp_" --_000_DM6PR11MB40258BF5FEB53EE509411848CA409DM6PR11MB4025namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Hao A Wu Best Regards, Hao Wu From: devel@edk2.groups.io On Behalf Of Anbazhagan, = Baraneedharan via groups.io Sent: Thursday, September 8, 2022 12:38 PM To: devel@edk2.groups.io Cc: Gao, Liming ; Wu, Hao A ;= Ni, Ray Subject: [edk2-devel] [PATCH v2] MdeModulePkg: Use configurable PCD for AHC= I command retries REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4011 AHCI commands are retried internally which prevents platform feature like drive password to process correctly entered password on subsequent attempts. PCD allows the platform to determine the number of retries. Signed-off-by: Baraneedharan Anbazhagan anbazhagan@hp.com --- MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h | 2 +- MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf | 3 ++- MdeModulePkg/MdeModulePkg.dec | 4 ++++ MdeModulePkg/MdeModulePkg.uni | 4 ++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h b/MdeModulePk= g/Bus/Ata/AtaAtapiPassThru/AhciMode.h index 7802ebd200..7fe9ac2da7 100644 --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h @@ -193,7 +193,7 @@ typedef union { #define AHCI_PORT_DEVSLP_DITO_MASK 0x01FF8000 #define AHCI_PORT_DEVSLP_DM_MASK 0x1E000000 -#define AHCI_COMMAND_RETRIES 5 +#define AHCI_COMMAND_RETRIES PcdGet32 (PcdAhciCommandRetryCount) #pragma pack(1) // diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf b/M= deModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf index a3e42a9ab4..78caa3c458 100644 --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -65,7 +65,8 @@ gEdkiiAtaAtapiPolicyProtocolGuid ## CONSUMES [Pcd] - gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEnable ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEnable ## SOMETIMES_C= ONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdAhciCommandRetryCount ## SOMETIMES_C= ONSUMES # [Event] # EVENT_TYPE_PERIODIC_TIMER ## SOMETIMES_CONSUMES diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 7d98910832..58e6ab0048 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -1574,6 +1574,10 @@ # @Prompt SD/MMC Host Controller Operations Timeout (us). gEfiMdeModulePkgTokenSpaceGuid.PcdSdMmcGenericTimeoutValue|1000000|UINT3= 2|0x00000031 + ## The Retry Count of AHCI command if there is a failure + # @Prompt The value of Retry Count, Default value is 5. + gEfiMdeModulePkgTokenSpaceGuid.PcdAhciCommandRetryCount|5|UINT32|0x00000= 032 + [PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## This PCD defines the Console output row. The default value is 25 acco= rding to UEFI spec. # This PCD could be set to 0 then console output would be at max column= and max row. diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni index b070f15ff2..33ce9f6198 100644 --- a/MdeModulePkg/MdeModulePkg.uni +++ b/MdeModulePkg/MdeModulePkg.uni @@ -1166,6 +1166,10 @@ = "in the DXE phase. Minimum value is 1. Sections ne= sted more deeply are
" = "rejected." +#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdAhciCommandRetryCount_PROMPT= #language en-US "Retry Count of AHCI command if there is a failure" + +#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdAhciCommandRetryCount_HELP = #language en-US "This value is used to configure number of retries on AHCI = commands, if there is a failure." + #string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdCapsuleInRamSupport_PROMPT #= language en-US "Enable Capsule In Ram support" #string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdCapsuleInRamSupport_HELP #l= anguage en-US "Capsule In Ram is to use memory to deliver the capsules th= at will be processed after system reset.

" -- 2.36.1.windows.1 --_000_DM6PR11MB40258BF5FEB53EE509411848CA409DM6PR11MB4025namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

 

Best Regards,

Hao Wu

 

From: devel@edk2.groups.io <devel@edk2.gro= ups.io> On Behalf Of Anbazhagan, Baraneedharan via groups.io
Sent: Thursday, September 8, 2022 12:38 PM
To: devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Wu, Hao A <hao.= a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>
Subject: [edk2-devel] [PATCH v2] MdeModulePkg: Use configurable PCD = for AHCI command retries

 

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4011

 

AHCI commands are retried internally which prevents = platform feature

like drive password to process correctly entered pas= sword on subsequent

attempts. PCD allows the platform to determine the n= umber of retries.

        &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;         

Signed-off-by: Baraneedharan Anbazhagan anbazhagan@hp.com

---

MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h&nbs= p;          | 2 +-<= /p>

MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassTh= ru.inf | 3 ++-

MdeModulePkg/MdeModulePkg.dec    = ;            &n= bsp;            = ; | 4 ++++

MdeModulePkg/MdeModulePkg.uni    = ;            &n= bsp;            = ; | 4 ++++

4 files changed, 11 insertions(+), 2 deletions(-)

 

diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/A= hciMode.h b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h

index 7802ebd200..7fe9ac2da7 100644

--- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode= .h

+++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode= .h

@@ -193,7 +193,7 @@ typedef union {

#define   AHCI_PORT_DEVSLP_DITO_MASK =      0x01FF8000

#define   AHCI_PORT_DEVSLP_DM_MASK &n= bsp;      0x1E000000

 

-#define AHCI_COMMAND_RETRIES  5

+#define AHCI_COMMAND_RETRIES  PcdGet32 (PcdAhc= iCommandRetryCount)

 

 #pragma pack(1)

//

diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/A= taAtapiPassThru.inf b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThr= u.inf

index a3e42a9ab4..78caa3c458 100644

--- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapi= PassThru.inf

+++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapi= PassThru.inf

@@ -65,7 +65,8 @@

   gEdkiiAtaAtapiPolicyProtocolGuid &= nbsp;            ## = CONSUMES

 

 [Pcd]

-  gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEn= able   ## SOMETIMES_CONSUMES

+  gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEn= able          ## SOMETIMES_CON= SUMES

+  gEfiMdeModulePkgTokenSpaceGuid.PcdAhciComman= dRetryCount   ## SOMETIMES_CONSUMES

 

 # [Event]

# EVENT_TYPE_PERIODIC_TIMER ## SOMETIMES_CONSUMES

diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModu= lePkg/MdeModulePkg.dec

index 7d98910832..58e6ab0048 100644

--- a/MdeModulePkg/MdeModulePkg.dec

+++ b/MdeModulePkg/MdeModulePkg.dec

@@ -1574,6 +1574,10 @@

   # @Prompt SD/MMC Host Controller Operat= ions Timeout (us).

   gEfiMdeModulePkgTokenSpaceGuid.PcdSdMmc= GenericTimeoutValue|1000000|UINT32|0x00000031

 

+  ## The Retry Count of AHCI command if there = is a failure

+  # @Prompt The value of Retry Count,  De= fault value is 5.

+  gEfiMdeModulePkgTokenSpaceGuid.PcdAhciComman= dRetryCount|5|UINT32|0x00000032

+

[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]<= o:p>

   ## This PCD defines the Console output = row. The default value is 25 according to UEFI spec.

   #  This PCD could be set to 0 then= console output would be at max column and max row.

diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModu= lePkg/MdeModulePkg.uni

index b070f15ff2..33ce9f6198 100644

--- a/MdeModulePkg/MdeModulePkg.uni

+++ b/MdeModulePkg/MdeModulePkg.uni

@@ -1166,6 +1166,10 @@

        &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;   "in the DXE phase. Minimum value is 1. Sections nest= ed more deeply are<BR>"

        &nbs= p;             =             &nb= sp;            =             &nb= sp;            =             &nb= sp;            =    "rejected."

 

+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdAhciC= ommandRetryCount_PROMPT  #language en-US "Retry Count of AHCI com= mand if there is a failure"

+

+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdAhciC= ommandRetryCount_HELP  #language en-US "This value is used to con= figure number of retries on AHCI commands, if there is a failure."

+

#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdCapsul= eInRamSupport_PROMPT  #language en-US "Enable Capsule In Ram supp= ort"

 

 #string STR_gEfiMdeModulePkgTokenSpaceGuid_Pcd= CapsuleInRamSupport_HELP  #language en-US   "Capsule In= Ram is to use memory to deliver the capsules that will be processed after = system reset.<BR><BR>"

--

2.36.1.windows.1

 

--_000_DM6PR11MB40258BF5FEB53EE509411848CA409DM6PR11MB4025namp_--