From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.107]) by mx.groups.io with SMTP id smtpd.web10.54051.1683792646683036987 for ; Thu, 11 May 2023 01:10:46 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@os.amperecomputing.com header.s=selector2 header.b=KlpY0ukS; spf=pass (domain: os.amperecomputing.com, ip: 40.107.92.107, mailfrom: minhnguyen1@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nzQIJs3/1GbokpVqAXenwP9fsY13VHFQDE1K9pPlHZb8WA/BD4xJC/z/XgqbOiZ9GZhePWvCjU4rbbJNNgg6XzHkgQ0kwzcepsY6ZLuh0ak91sY+Dn8u84sA70a5BqlAiTKGtG8OrPEqOpteQe6l6PuFW6IoJgeRy1CPi1VClg+6Zjz9P/XSRMf3q5iikRa6wMI6pmnVoMlxoYBPhlQqPG20qiYvKPDg7goE46udRHv+us84reMfyEB+10J/XVWJnv8dMT6tPKOd5SCWl1Vt4HFEf5YSSTCLEjKaS2AG5PEf3PgznMIYDMrKXLNn18h9BJvN/IIdM++6EQ31nyi/Kg== 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=hurJoKFOMPNtf+rpMFnBh0GJB+lrOiO3hQFZ00zcp6A=; b=LbyBLJU9W1nzOzzSRF/WSRAi0oEeJXKJ4unN/Rzfsle41tbdvxC+9ytEs07BPyiNvJEKBY1eDCwjqLkNDZIxqYbhwoKBCfGwUKxQzeJJ2uHHhcaMqLF4z3IYwUj3mjzqUCYXmEDcEuAf5gvt2zBT+QdbUekYCF2ci5/XDmQWTrO8ktX7w7wSAQRNQSsf473rNaasXKjDB8vElLGlaWeNgMefui4gtgLXp52GHzkHNoD9OxIeJCS2tgWq4vngqqB6AEA4yhqMV+4eI78+e+n6wUmOU7XIneb5fwfo3n/6SAbeYAR8i+tLAYTKybQPO2yKcHuthPt9CRAAA4YrVFoJ9A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hurJoKFOMPNtf+rpMFnBh0GJB+lrOiO3hQFZ00zcp6A=; b=KlpY0ukSMlGmgAS3LPT3rvymPkHwq1VFNfMshBBU/ezfmPUUkGXPZHHI/ryBiabg7lcAX4WZjqCUdwlN6y3T2PzzG4D62TKorT9IpdFJZajnfWrAlLYKoYpDnrc10jAhQDpGxUWidxrN9+/epbzBm5MIeq6j34u9MZkvYiUUnD4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB8048.prod.exchangelabs.com (2603:10b6:510:280::7) by CY4PR0101MB3144.prod.exchangelabs.com (2603:10b6:910:49::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.19; Thu, 11 May 2023 08:10:43 +0000 Received: from PH0PR01MB8048.prod.exchangelabs.com ([fe80::bbdb:b58c:140e:c4e1]) by PH0PR01MB8048.prod.exchangelabs.com ([fe80::bbdb:b58c:140e:c4e1%6]) with mapi id 15.20.6387.019; Thu, 11 May 2023 08:10:43 +0000 From: Minh Nguyen To: devel@edk2.groups.io CC: patches@amperecomputing.com, quic_llindhol@quicinc.com, ardb+tianocore@kernel.org, nhi@os.amperecomputing.com, tinhnguyen@os.amperecomputing.com, Minh Nguyen Subject: [edk2-platforms][PATCH 2/6] AmpereAltraPkg: Add Hot Plug Slot Capable during PCIe port initialization Date: Thu, 11 May 2023 15:10:07 +0700 Message-ID: <20230511081011.2692963-3-minhnguyen1@os.amperecomputing.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230511081011.2692963-1-minhnguyen1@os.amperecomputing.com> References: <20230511081011.2692963-1-minhnguyen1@os.amperecomputing.com> X-ClientProxiedBy: SI2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::21) To PH0PR01MB8048.prod.exchangelabs.com (2603:10b6:510:280::7) Return-Path: minhnguyen1@os.amperecomputing.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR01MB8048:EE_|CY4PR0101MB3144:EE_ X-MS-Office365-Filtering-Correlation-Id: 3843cc0b-c27f-4345-6205-08db51f73743 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6cBzsFz107svEk4NF1KMoibKIhNa7BLb1VEvXocVh1xZAhfJqpsAM+dgANUs0t0ZX++CbS0/5+wuEYtRtraM5zW5oshe0cx7ib6yaN5Zgoe09WxJl7h8E0W7s5+qEbzpzyVP37tAcuhFlRo4xDvM9+xSSfAg+cSGrSUXJ9Ji/zxhsfOJK8nvkoyZZi5Xx2WzbWerVo8hsDYRMo1ghL5FoMuPaH9fErXQTUhL2fykWSuprKglH6X+JxDW9L3C7XfDfHHVm/YN9rMOOysFpyx4zTpzsKnwXJGlNMEer7CKLb58VJWBZGQm4epFGq6ESmPKjLNTNYQ59lxinVItuxko9VXpj6NP0uWpWhVdjMRlqYEpinlqplPNvjbdN6UT5N4yhIE5tDEXTveXAATw9l2SkyZCSADvzM4D26Fkm7VVeH2WTtr0iQFwV0NC2eZzGDqu5SZlnCww8UHSOuYFAhVQIbdyUswAXNpItvEexFACZambPG5nnsZFFuwP0HCGCgH2ikDfYP29DVK9oTDymop0vsDxDYKA+21oFixtOZsoMjcjoaGYfZ8Uc70EKTSthYhhUg9bmHaPHGwu5CFlCy1gBVpg4vBaX1+M8jXuX3bLAHzPLwr60JpDJryTS0ZWxXnc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB8048.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(376002)(39860400002)(366004)(346002)(396003)(451199021)(6666004)(478600001)(66556008)(19627235002)(316002)(6486002)(66946007)(52116002)(6916009)(66476007)(86362001)(26005)(83380400001)(6512007)(107886003)(6506007)(4326008)(1076003)(8936002)(186003)(2906002)(8676002)(41300700001)(5660300002)(38350700002)(38100700002)(2616005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?v8RO+t27XzFXLFUjeorXMHJTSnTMJkqDw9hPcy8gsEWI3Ks5tqY1RDp+EY0D?= =?us-ascii?Q?Hfc1RGz7v2rJ7kfDFmUYZF+gBPVZc3lFgENf/94uLE6/xlr8c2RZ8Whkqudd?= =?us-ascii?Q?thHx7y84SfdJWDkfWmchPBJbf9gPGP+8otmffIZDAvwPXDenb+wY33iCZN9S?= =?us-ascii?Q?MiUXHvJN4oZCnIDyGK6ri7SVeQsNvVaWHOZ8RFSJ967QlPvhtsmBdefK93GW?= =?us-ascii?Q?ZF3qzglIaFA2UzdcBelVRphSuF9bQ7IhG+w/K7qab8FEJZeCj3wF2OWeUTSq?= =?us-ascii?Q?1qrfkcrEuILZtrpN7ySuRfa+ysbZ9JiB9ED883pJLfH8tsmADLLb1UAQk8mA?= =?us-ascii?Q?yftpMfk7x+4F+Ht08vwAKQgCBjPEoJ/6DyVEHLq4jqVi3g/HJYThFb2/vBUa?= =?us-ascii?Q?nBAsROspNFFmGIgMdZBdjfgX01CNes8pBe/4zACjPrJ0xSGpC9OIkoDTxBbX?= =?us-ascii?Q?0DBy1z9r/mGk8LMQx0sd8BpJb5IFCHQU/+vEQf43PJGHgBzqCsYCMWqI/VOa?= =?us-ascii?Q?MggpacMQUDQvUR8L685nJIINb7XRuq3WrrKU0ahkRqTKtMRi+LcpCmkOsvYK?= =?us-ascii?Q?p9mNMgRs+x7h2lPZy6N1V4Gqq/XMV7H4RAg3gyjcCRE/MjnPZF/pRYLk/F8N?= =?us-ascii?Q?NyLXKOM/9fos+Bk3+4BEncZ8Oz8X3iwBmrc+UikIlN8HwLuKc7OaYDTDVKMk?= =?us-ascii?Q?iN0KRe88wq4u7YFetcixuJhxhNpEW6g7H4b/kNvohs/POHrwObw18fvYczwm?= =?us-ascii?Q?OVj1hIlYdz/vlIJUx9ZduA0a27xwBSyXGC09PSn6K2Ifoqsdcxph9p77YadP?= =?us-ascii?Q?9bBPJgeJ9zmzo9OhZ7kQl9uBJlZXyMYjK9DCW01xiAoOepBMeCkfocmDZA9u?= =?us-ascii?Q?vP76uFZLw7bex9Lt4PxAdzHDmiGb6td2ZR2EXEY5o+giLV7aURcOGeiubY5G?= =?us-ascii?Q?13wrVhUdYk4m/O5qu6NrTFjSyqy7olpdJgYEBWMWQlmAZTPV+wyI7NaEaCNz?= =?us-ascii?Q?P53WILsDkbtpeSEVRqxN28nhjQ4rj8lRD/h8iT9U7syxoE5nUKkeh5Lkb6Xh?= =?us-ascii?Q?3iekbBGJh2F0Rsrgqmc3wt/D0VEVc0lG+Gux378FB3LXnb3/74sXXR2wRtZI?= =?us-ascii?Q?7lbGN9lt0FpRJG3rVzWNwE2eQiASyrlyqGLTCrYzvoaXFIjBOC6w38Ql4/7w?= =?us-ascii?Q?Jp0HIMb3K2JIZd6fEpUw32qgWToSo1U2vtc52KxZsZzUzzwkAXyVIw39LZ/f?= =?us-ascii?Q?nYDxP9BO/h3hlJqqxYUoazBRc5OcEkPcY3oAoZ+Z9sxxHowO8IvlAErwU+LP?= =?us-ascii?Q?QIu5oOLNdl4aBOVCK+7+mjYc2jZf3NbYLd2p1dnS+m1iSZs1T8MOE22v5ZOy?= =?us-ascii?Q?MrqRMFpnlCXZ6Jotc1hRDn9CG9dSxdneQpo9MTSP304EUMXl6csPOupQB9t9?= =?us-ascii?Q?wgXM9SPkKlM3WbdHT9K11TtdEkjEAAJ95aEu9OtKUeDzFyJH1qnZXG/zsg4S?= =?us-ascii?Q?t33Mc+snHNCsn8uAw/IC4HRhL7YImRQ+cR3rWZOs+QjZEwEviPRB3rN3ARiQ?= =?us-ascii?Q?hbYA9agHVWVluR3/moYZPN6nhMknNX+ttSu7+6UB0caENtH+4o54TLpfRHd+?= =?us-ascii?Q?47DySwAa5LGczIRoUntdlUeRAEb7skvqXc8nq1a2mLeg?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3843cc0b-c27f-4345-6205-08db51f73743 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB8048.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2023 08:10:43.3045 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9Q6TLozgJIebFr3K+51EfnE4n7B/O5kMY83Q0D/cYvm5uJ/CvO+5etJwzDrjZGm3AUJiyAm5d6I3J+q8NIXOfF8mCMDIbENBH7oRV4ap+4QO9WfAryc96hB2j5W4LVRQ X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0101MB3144 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain In order to detect the NVMe after OS boots successfully but that NVMe's not present previously. Hot Plug Slot Capable will help PCI Linux driver to initialize its slot iomem resource which is used for detecting the disk when it's inserted. Signed-off-by: Minh Nguyen --- Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c b= /Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c index f7c8defc1906..c5a299cca6c5 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c +++ b/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c @@ -1093,6 +1093,11 @@ Ac01PcieCoreSetupRC ( // Program the power limit TargetAddress =3D CfgBase + PCIE_CAPABILITY_BASE + SLOT_CAPABILITIES_R= EG; Val =3D MmioRead32 (TargetAddress); + // In order to detect the NVMe after OS boots successfully but + // that NVMe's not present previously. Hot Plug Slot Capable + // will help PCI Linux driver to initialize its slot iomem resource + // which is used for detecting the disk when it's inserted. + Val =3D SLOT_HPC_SET(Val, 1); Val =3D SLOT_CAP_SLOT_POWER_LIMIT_VALUE_SET (Val, SLOT_POWER_LIMIT_75W= ); MmioWrite32 (TargetAddress, Val); =20 --=20 2.39.0