From nobody Fri Mar 29 15:50:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+59712+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59712+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1589651985; cv=none; d=zohomail.com; s=zohoarc; b=BXLNUYmHh5OXmLA4I0oEGqdeAC2OOberSerZQ1fiJ8jsdBYJsNKmPLVB17vunBuCP0Hjj+bNI6raMnwZasvKn6OreEIVN4SbVjbZbGbKefUR2rG1aabXIRw/IK2/OD7uXBsvyt9GthE1O7by0UvJ67AZ2Px3j1Hb8/i6Fo0pQSM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1589651985; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=is5YaK8W8g0lQNPmUQbrt3gLRFh1uTV+s220QBIjYCM=; b=C1WSs62nCKKoTQyAT4ofH/ntSfhgU01DV4kFNbCZgVJ+D3xys2Ld6t6oHZgndCxfSTckEd9d3ktPSrfXJIgjfgxjYIw7aqnMs3DgPGaDulelE4mo9tThkTf028M0j2JuDb7+C1vfJVPm3dR+kRnOItTFLy0L1estcW18+XMPiaI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59712+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 15896519853967.343787944019823; Sat, 16 May 2020 10:59:45 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 5VgQYY1788612xkAivm0Eml1; Sat, 16 May 2020 10:59:45 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.9487.1589651983504410362 for ; Sat, 16 May 2020 10:59:43 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1C8D21045; Sat, 16 May 2020 10:59:43 -0700 (PDT) X-Received: from e123331-lin.nice.arm.com (unknown [10.37.8.5]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 13A363F305; Sat, 16 May 2020 10:59:41 -0700 (PDT) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: leif@nuviainc.com, Ard Biesheuvel Subject: [edk2-devel] [PATCH edk2-platforms 1/3] Platform/96Boards/96BoardsI2cDxe: connect I2C controllers at EndOfDxe Date: Sat, 16 May 2020 19:59:32 +0200 Message-Id: <20200516175934.31148-2-ard.biesheuvel@arm.com> In-Reply-To: <20200516175934.31148-1-ard.biesheuvel@arm.com> References: <20200516175934.31148-1-ard.biesheuvel@arm.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ard.biesheuvel@arm.com X-Gm-Message-State: MRKvnlMiBm1YcBGcaBEzmnoyx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1589651985; bh=1GJPeW/GvoZiLqmhih9vwGn4nqFhmF5lvKAS+UTKydg=; h=Cc:Date:From:Reply-To:Subject:To; b=wU5CaUwNYhQ6gktpLzbEje8s2VMOb8qBo5S5IAqIY1AoK6Ls3V2qXi6YGesTrN5Z8nI e6VUu0A+C6zgm/GSeBU5M9yIawPIYMKJxG6Q0s63QifSqLmEpo2up3iW6npCGkZFBxQGf smJcTdQXXSnbKv4JXKYRg0ONpuIMAPGcnnc= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The 96boards I2C driver currently relies on the platform to connect all controllers, or I2C peripherals will not be exposed if they are not the active boot target. Since I2C peripherals are not boot targets in the first place, but are used to expose things like random number generators, let's connect the I2C controllers specifically at EndOfDxe so that the devices living on it will be available regardless of the boot policy. Signed-off-by: Ard Biesheuvel Reviewed-by: Leif Lindholm --- Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf | 5 ++++- Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.c | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf b/Platform= /96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf index ae69f0933e93..3d9ca559e60b 100644 --- a/Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf +++ b/Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf @@ -36,10 +36,13 @@ [Protocols] [Guids] g96BoardsI2c0MasterGuid g96BoardsI2c1MasterGuid + gEfiEndOfDxeEventGroupGuid =20 [FixedPcd] g96BoardsTokenSpaceGuid.PcdI2c0BusFrequencyHz g96BoardsTokenSpaceGuid.PcdI2c1BusFrequencyHz =20 [Depex] - g96BoardsMezzanineProtocolGuid AND g96BoardsI2c0MasterGuid OR g96BoardsI= 2c1MasterGuid + g96BoardsMezzanineProtocolGuid AND ( + g96BoardsI2c0MasterGuid OR g96BoardsI2c1MasterGuid + ) diff --git a/Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.c b/Platform/9= 6Boards/96BoardsI2cDxe/96BoardsI2cDxe.c index e4ecbca62c0c..a751769cf691 100644 --- a/Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.c +++ b/Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.c @@ -179,6 +179,19 @@ RegisterI2cBus ( ASSERT_EFI_ERROR (Status); } =20 +STATIC +VOID +EFIAPI +OnEndOfDxe ( + IN EFI_EVENT Event, + IN VOID *Context + ) +{ + gBS->CloseEvent (Event); + gBS->ConnectController (mI2cBus0.I2cMasterHandle, NULL, NULL, TRUE); + gBS->ConnectController (mI2cBus1.I2cMasterHandle, NULL, NULL, TRUE); +} + EFI_STATUS EFIAPI EntryPoint ( @@ -187,6 +200,7 @@ EntryPoint ( ) { EFI_STATUS Status; + EFI_EVENT EndOfDxeEvent; =20 Status =3D gBS->LocateProtocol (&g96BoardsMezzanineProtocolGuid, NULL, (VOID **)&mMezzanine); @@ -197,5 +211,9 @@ EntryPoint ( RegisterI2cBus (&g96BoardsI2c1MasterGuid, &mI2cBus1, mMezzanine->I2c1NumDevices, mMezzanine->I2c1DeviceArray); =20 + Status =3D gBS->CreateEventEx (EVT_NOTIFY_SIGNAL, TPL_CALLBACK, OnEndOfD= xe, + NULL, &gEfiEndOfDxeEventGroupGuid, &EndOfDxeEvent); + ASSERT_EFI_ERROR (Status); + return EFI_SUCCESS; } --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59712): https://edk2.groups.io/g/devel/message/59712 Mute This Topic: https://groups.io/mt/74254344/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Mar 29 15:50:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+59713+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59713+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1589651985; cv=none; d=zohomail.com; s=zohoarc; b=JjvmlZrYHEZxzkrazOu3dx7y40lf8KNZH1+3ybLidYYbzuitwcXHOfVuGYhk0DQ2N3ytgr9fWQnyArV5nOhn1opZoCrrHXVxA2PddvdTxDGMBsqIAgCltg7ya33fT/PrI8ieb1X86vxDrlHt2V7bBgjvSj1amjbVUiT9GQd0EoU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1589651985; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=yKYaA3wXHsErMiDq9wzmEcKFYkWcFmcaqsfF2rFDsCI=; b=aaheMJjewy+pd6Fah1rUw05DWg6RLwDV9gYJOjAfH7jW1IqmJPlLi8SeypdMKd4PSzhnQ/f/plUk7nmT6B7AW8KU3DcXgxES5aauOrJIi0WSNKxpmPGPh+15YFH6Tw+qjLnO7IeFNeGS9+gAxGiq0r+uurwlSi9LQZBJGeEdCU0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59713+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1589651985925621.5781522224711; Sat, 16 May 2020 10:59:45 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 6AVYYY1788612xJEDfF3Bn7u; Sat, 16 May 2020 10:59:45 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.9619.1589651984783227489 for ; Sat, 16 May 2020 10:59:44 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6D19511D4; Sat, 16 May 2020 10:59:44 -0700 (PDT) X-Received: from e123331-lin.nice.arm.com (unknown [10.37.8.5]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7D8A53F305; Sat, 16 May 2020 10:59:43 -0700 (PDT) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: leif@nuviainc.com, Ard Biesheuvel Subject: [edk2-devel] [PATCH edk2-platforms 2/3] Silicon/SynQuacer/NetsecDxe: drop false dependency on device path protocol Date: Sat, 16 May 2020 19:59:33 +0200 Message-Id: <20200516175934.31148-3-ard.biesheuvel@arm.com> In-Reply-To: <20200516175934.31148-1-ard.biesheuvel@arm.com> References: <20200516175934.31148-1-ard.biesheuvel@arm.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ard.biesheuvel@arm.com X-Gm-Message-State: MVRG0gOiTRUilEDHrXW2RzqMx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1589651985; bh=pDvtv+EyUZj3O47MovOCUjwU1i0q8goFHPVjgpfUdW4=; h=Cc:Date:From:Reply-To:Subject:To; b=GdbryoWVPP5CJd7cgV0J2m/mpNUoKnMlw+dZLMXAxGbF9KTMwGmMJOkb7tiEhhPjC9V tQKbb5Omb+RWSlduvWTRy2h3yXM3fZP1JodpVag+LBLgtuRF8btVvdcbvHItMPXNF3OL1 TxBiMFNxrVSW97qMoe4tZnvAmr1oNi79q7E= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The device path protocol is no longer installed by the NetSec driver, but by the platform driver. So drop it from the .INF. Signed-off-by: Ard Biesheuvel --- Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf | 1 - 1 file changed, 1 deletion(-) diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.in= f b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf index abc98183668a..0efba0bbbf94 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf +++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf @@ -52,7 +52,6 @@ [Guids] [Protocols] gEfiCpuArchProtocolGuid ## CONSUMES gEdkiiNonDiscoverableDeviceProtocolGuid ## TO_START - gEfiDevicePathProtocolGuid ## BY_START gEfiSimpleNetworkProtocolGuid ## BY_START =20 [FixedPcd] --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59713): https://edk2.groups.io/g/devel/message/59713 Mute This Topic: https://groups.io/mt/74254345/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Mar 29 15:50:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+59714+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59714+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1589651987; cv=none; d=zohomail.com; s=zohoarc; b=Eqs559kOk12QBwYpilqID8C7B8PRz6TXTrEzRdrO+jpzbY3Nb4oTfeVqHSoKLJxxwHQWqL6l9U00jzVVpqgavGwmnQHUX97gjQpJMk0CrPvsIlAKG7pfy0Euuz5NBnIOm6UOAYjz3EQYxv972R5D64SqKA1ZHX730LeYL8uomaE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1589651987; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=Tzq3aQXItkB5armtwfubXxuSC9EzWndvaIec1A0M8hQ=; b=B7aSu1+2CvxnDQyRgh+7Xsv1jbwrv9Ka6HK0xTwOthsMfY4OqD7MXr6FPC+NJD1MnTdfW0EW2F3QMnR7rvgDBReXIwGFA9EhxVfEXcZYRXgITsfwxmXDZPZZn4TjeFygkc58zcKp8OScg14y5szi99Q3azAjbzsqeZ61eOeoTKc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59714+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1589651987134631.8157176557721; Sat, 16 May 2020 10:59:47 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id GdcSYY1788612xGDWklgj1Lc; Sat, 16 May 2020 10:59:46 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.9469.1589651986253220309 for ; Sat, 16 May 2020 10:59:46 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D316F1045; Sat, 16 May 2020 10:59:45 -0700 (PDT) X-Received: from e123331-lin.nice.arm.com (unknown [10.37.8.5]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CE5A53F305; Sat, 16 May 2020 10:59:44 -0700 (PDT) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: leif@nuviainc.com, Ard Biesheuvel Subject: [edk2-devel] [PATCH edk2-platforms 3/3] Silicon/SynQuacer/NetsecDxe: avoid media detection delay at boot Date: Sat, 16 May 2020 19:59:34 +0200 Message-Id: <20200516175934.31148-4-ard.biesheuvel@arm.com> In-Reply-To: <20200516175934.31148-1-ard.biesheuvel@arm.com> References: <20200516175934.31148-1-ard.biesheuvel@arm.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ard.biesheuvel@arm.com X-Gm-Message-State: JtQK5kKerAVrhaFtvnNcGSSCx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1589651986; bh=CD5cS+l/57TNTCLeFvZ25pk0U34ES5diceVm1gCJxxY=; h=Cc:Date:From:Reply-To:Subject:To; b=RhG21Qnexxe14IdBB3cHkFA6iZi/HBWc1z5kt0p37jJMVHmm8R0sse0/2aWHrjuWx9M QNzzOYAbJe0eN8lX7eyPyyCeLo2NufoivFrtjBMIyVV0OohcO0kor7xaY3H+jwYuFJpic fq1QtvkaR+KbA0Rn9VXEIaSWx5AUPp/kMKs= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Instead of unconditionally delaying the boot up to 5 seconds, even if no network cable is connected in the first place, provide an implementation of the EFI adapter information protocol so that the upper networking layers can wait gracefully for the link to come up, but only when the network is actually used to boot from. Signed-off-by: Ard Biesheuvel --- Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.dec | 1 - Platform/Socionext/DeveloperBox/DeveloperBox.dsc | 1 - Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf | 3 +- Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.h | 5 + Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.c | 112 ++++= +++++++++++++--- 5 files changed, 103 insertions(+), 19 deletions(-) diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.de= c b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.dec index 3b1de62c6e31..6b9f60293879 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.dec +++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.dec @@ -37,5 +37,4 @@ [PcdsFixedAtBuild.common] gNetsecDxeTokenSpaceGuid.PcdFlowCtrl|0x0|UINT8|0x00000005 gNetsecDxeTokenSpaceGuid.PcdFlowCtrlStartThreshold|0x0|UINT16|0x00000006 gNetsecDxeTokenSpaceGuid.PcdFlowCtrlStopThreshold|0x0|UINT16|0x00000007 - gNetsecDxeTokenSpaceGuid.PcdMediaDetectTimeoutOnBoot|0x0|UINT8|0x00000009 gNetsecDxeTokenSpaceGuid.PcdPauseTime|0x0|UINT16|0x00000008 diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc b/Platform/So= cionext/DeveloperBox/DeveloperBox.dsc index 9307edefb11a..a459079b1f26 100644 --- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc +++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc @@ -165,7 +165,6 @@ [PcdsFixedAtBuild] gNetsecDxeTokenSpaceGuid.PcdFlowCtrl|0 gNetsecDxeTokenSpaceGuid.PcdFlowCtrlStartThreshold|36 gNetsecDxeTokenSpaceGuid.PcdFlowCtrlStopThreshold|48 - gNetsecDxeTokenSpaceGuid.PcdMediaDetectTimeoutOnBoot|5 gNetsecDxeTokenSpaceGuid.PcdPauseTime|256 =20 gSynQuacerTokenSpaceGuid.PcdNetsecEepromBase|0x08080000 diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.in= f b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf index 0efba0bbbf94..8ea959c37bab 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf +++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf @@ -47,11 +47,13 @@ [LibraryClasses] UefiLib =20 [Guids] + gEfiAdapterInfoMediaStateGuid gNetsecNonDiscoverableDeviceGuid =20 [Protocols] gEfiCpuArchProtocolGuid ## CONSUMES gEdkiiNonDiscoverableDeviceProtocolGuid ## TO_START + gEfiAdapterInformationProtocolGuid ## BY_START gEfiSimpleNetworkProtocolGuid ## BY_START =20 [FixedPcd] @@ -61,5 +63,4 @@ [FixedPcd] gNetsecDxeTokenSpaceGuid.PcdFlowCtrlStartThreshold gNetsecDxeTokenSpaceGuid.PcdFlowCtrlStopThreshold gNetsecDxeTokenSpaceGuid.PcdJumboPacket - gNetsecDxeTokenSpaceGuid.PcdMediaDetectTimeoutOnBoot gNetsecDxeTokenSpaceGuid.PcdPauseTime diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.h = b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.h index 17a7032f0f41..cf2abb0ab108 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.h +++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.h @@ -20,6 +20,7 @@ #include #include =20 +#include #include =20 #include "netsec_for_uefi/netsec_sdk/include/ogma_api.h" @@ -50,6 +51,9 @@ typedef struct { // EFI Snp statistics instance EFI_NETWORK_STATISTICS Stats; =20 + // Adapter Information protocol + EFI_ADAPTER_INFORMATION_PROTOCOL Aip; + // ogma handle ogma_handle_t Handle; =20 @@ -65,6 +69,7 @@ typedef struct { =20 #define NETSEC_SIGNATURE SIGNATURE_32('n', 't', 's', 'c') #define INSTANCE_FROM_SNP_THIS(a) CR((a), NETSEC_DRIVER, Snp, NETSEC_SIG= NATURE) +#define INSTANCE_FROM_AIP_THIS(a) CR((a), NETSEC_DRIVER, Aip, NETSEC_SIG= NATURE) =20 /*------------------------------------------------------------------------= ------ =20 diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.c = b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.c index 4e3c4e6c807a..c9fc4d6e2d8e 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.c +++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.c @@ -279,8 +279,6 @@ SnpInitialize ( =20 ogma_err_t ogma_err; =20 - UINT32 Index; - // Check Snp Instance if (Snp =3D=3D NULL) { return EFI_INVALID_PARAMETER; @@ -363,20 +361,6 @@ SnpInitialize ( ogma_disable_desc_ring_irq (LanDriver->Handle, OGMA_DESC_RING_ID_NRM_TX, OGMA_CH_IRQ_REG_EMPTY); =20 - // Wait for media linking up - for (Index =3D 0; Index < (UINT32)FixedPcdGet8 (PcdMediaDetectTimeoutOnB= oot) * 10; Index++) { - Status =3D NetsecUpdateLink (Snp); - if (Status !=3D EFI_SUCCESS) { - ReturnUnlock (EFI_DEVICE_ERROR); - } - - if (Snp->Mode->MediaPresent) { - break; - } - - MicroSecondDelay(100000); - } - // Declare the driver as initialized Snp->Mode->State =3D EfiSimpleNetworkInitialized; Status =3D EFI_SUCCESS; @@ -948,6 +932,96 @@ SnpReceive ( return Status; } =20 +STATIC +EFI_STATUS +EFIAPI +NetsecAipGetInformation ( + IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, + IN EFI_GUID *InformationType, + OUT VOID **InformationBlock, + OUT UINTN *InformationBlockSize + ) +{ + EFI_ADAPTER_INFO_MEDIA_STATE *AdapterInfo; + NETSEC_DRIVER *LanDriver; + + if (This =3D=3D NULL || InformationBlock =3D=3D NULL || + InformationBlockSize =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + + if (!CompareGuid (InformationType, &gEfiAdapterInfoMediaStateGuid)) { + return EFI_UNSUPPORTED; + } + + AdapterInfo =3D AllocateZeroPool (sizeof (EFI_ADAPTER_INFO_MEDIA_STATE)); + if (AdapterInfo =3D=3D NULL) { + return EFI_OUT_OF_RESOURCES; + } + + *InformationBlock =3D AdapterInfo; + *InformationBlockSize =3D sizeof (EFI_ADAPTER_INFO_MEDIA_STATE); + + LanDriver =3D INSTANCE_FROM_AIP_THIS (This); + if (LanDriver->Snp.Mode->MediaPresent) { + AdapterInfo->MediaState =3D EFI_SUCCESS; + } else { + AdapterInfo->MediaState =3D EFI_NOT_READY; + } + + return EFI_SUCCESS; +} + +STATIC +EFI_STATUS +EFIAPI +NetsecAipSetInformation ( + IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, + IN EFI_GUID *InformationType, + IN VOID *InformationBlock, + IN UINTN InformationBlockSize + ) +{ + if (This =3D=3D NULL || InformationBlock =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + + if (CompareGuid (InformationType, &gEfiAdapterInfoMediaStateGuid)) { + return EFI_WRITE_PROTECTED; + } + + return EFI_UNSUPPORTED; +} + +STATIC +EFI_STATUS +EFIAPI +NetsecAipGetSupportedTypes ( + IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, + OUT EFI_GUID **InfoTypesBuffer, + OUT UINTN *InfoTypesBufferCount + ) +{ + EFI_GUID *Guid; + + if (This =3D=3D NULL || InfoTypesBuffer =3D=3D NULL || + InfoTypesBufferCount =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + + Guid =3D AllocatePool (sizeof *Guid); + if (Guid =3D=3D NULL) { + return EFI_OUT_OF_RESOURCES; + } + + CopyGuid (Guid, &gEfiAdapterInfoMediaStateGuid); + + *InfoTypesBuffer =3D Guid; + *InfoTypesBufferCount =3D 1; + + return EFI_SUCCESS; +} + EFI_STATUS NetsecInit ( IN EFI_HANDLE DriverBindingHandle, @@ -1046,6 +1120,10 @@ NetsecInit ( SnpMode->MediaPresentSupported =3D TRUE; SnpMode->MediaPresent =3D FALSE; =20 + LanDriver->Aip.GetInformation =3D NetsecAipGetInformation; + LanDriver->Aip.SetInformation =3D NetsecAipSetInformation; + LanDriver->Aip.GetSupportedTypes =3D NetsecAipGetSupportedTypes; + // Set broadcast address SetMem (&SnpMode->BroadcastAddress, sizeof (EFI_MAC_ADDRESS), 0xFF); =20 @@ -1055,6 +1133,7 @@ NetsecInit ( Status =3D gBS->InstallMultipleProtocolInterfaces ( &ControllerHandle, &gEfiSimpleNetworkProtocolGuid, Snp, + &gEfiAdapterInformationProtocolGuid, &LanDriver->Aip, NULL); =20 LanDriver->ControllerHandle =3D ControllerHandle; @@ -1100,6 +1179,7 @@ NetsecRelease ( =20 Status =3D gBS->UninstallMultipleProtocolInterfaces (ControllerHandle, &gEfiSimpleNetworkProtocolGuid, Snp, + &gEfiAdapterInformationProtocolGuid, &LanDriver->Aip, NULL); if (EFI_ERROR (Status)) { return Status; --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59714): https://edk2.groups.io/g/devel/message/59714 Mute This Topic: https://groups.io/mt/74254346/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-