From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by mx.groups.io with SMTP id smtpd.web11.38140.1676969087694849241 for ; Tue, 21 Feb 2023 00:44:48 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WJtjv2UQ; spf=pass (domain: kernel.org, ip: 145.40.68.75, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id B201AB80DCB for ; Tue, 21 Feb 2023 08:44:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7D4FAC4339B for ; Tue, 21 Feb 2023 08:44:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1676969084; bh=BW9qKM81XouFRU7QZwkg8gfXZDCXkhvRzNlSdkf8GJE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=WJtjv2UQtJF3+VWRjR9dyQrRsDsBaBB7p/QuhgCbw0uLwI8MC26X+ggfctGoDSXnT UVl07flXLOMgeQFyOhDosTc0b1Jlw1XV4ido0UAvlq7YBg3TNNjIm7i1ebJ9HPQhso sQBz4YkPGVXqTeEb0bjjbFG8+g0CveooZBliEKZcowwBG29UE9IJ7n6+JwQvXKdrhK Cy+v1QiSjXyDIL1ViSyQNlTZ3waMbyTY5wGJflf874RkkbZG+PlD6UE/R0H/Z1WD3O DMi5vIGz+fU6cWt+BkF90dm+htSxeTJNP4uyKSKETQqHarkEvOOHkZY2MA/JeKJ1TP VJItw6Bgnl6Zg== Received: by mail-lj1-f179.google.com with SMTP id bx43so3325864ljb.12 for ; Tue, 21 Feb 2023 00:44:44 -0800 (PST) X-Gm-Message-State: AO0yUKU1h6vUOpTWaCw93vp/3D8i6kfpZ4eOB+dvL5OlVlRQztUzB6jN VhjBqlCQGB7MDoEtEkq4p3g5KciW7v4ikxmnbdA= X-Google-Smtp-Source: AK7set+17w8BwpjIPyH56Y8LAWTHkaqaBNxwBKVi01+jlMRuwW8h1AA1j2IWPqok/9SgtWXT4KgF/6Zux4ZJMQhzwrQ= X-Received: by 2002:a2e:aa1c:0:b0:293:4ed3:a404 with SMTP id bf28-20020a2eaa1c000000b002934ed3a404mr1425497ljb.2.1676969082510; Tue, 21 Feb 2023 00:44:42 -0800 (PST) MIME-Version: 1.0 References: <20230221010242.1038521-1-rebecca@quicinc.com> <20230221010242.1038521-2-rebecca@quicinc.com> In-Reply-To: <20230221010242.1038521-2-rebecca@quicinc.com> From: "Ard Biesheuvel" Date: Tue, 21 Feb 2023 09:44:31 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH edk2-platforms v2 1/2] Platform/ARM/JunoPkg: Switch to MdeModulePkg/Universal/Metronome driver To: Rebecca Cran Cc: devel@edk2.groups.io, Pierre Gondois , Ard Biesheuvel , Sami Mujawar , Thomas Abraham Content-Type: text/plain; charset="UTF-8" Hi Rebecca, Thanks for the effort to fix this. On Tue, 21 Feb 2023 at 02:03, Rebecca Cran wrote: > > The MetronomeDxe driver uses the PCD PcdMetronomeTickPeriod to calculate > how many ticks to wait in MicroSecondDelay. Given that the timer clock > on Juno runs at 50 MHz, it ticks every 20 ns; therefore, a setting of > 1000 is wrong: for example it causes a call to gBS->Stall (1) to take > 10 us. > > The driver in MdeModulePkg/Universal/Metronome assumes the clock ticks > at least every 100 ns, which is the minimum allowed by the Metronome > protocol. Since that's the case on Juno, switch from > EmbeddedPkg/MetronomeDxe to MdeModulePkg/Universal/Metronome. > > Signed-off-by: Rebecca Cran Makes sense. It wonder why we still have the EmbeddedPkg version in the first place, given that the MdeModulePkg does the same thing but better. > --- > Platform/ARM/JunoPkg/ArmJuno.dsc | 3 +-- > Platform/ARM/JunoPkg/ArmJuno.fdf | 2 +- > 2 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/Platform/ARM/JunoPkg/ArmJuno.dsc b/Platform/ARM/JunoPkg/ArmJuno.dsc > index a00b866c5e9a..9cde4c862651 100644 > --- a/Platform/ARM/JunoPkg/ArmJuno.dsc > +++ b/Platform/ARM/JunoPkg/ArmJuno.dsc > @@ -189,7 +189,6 @@ > # ARM Architectural Timer Frequency > # > gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|50000000 > - gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|1000 > > gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE > > @@ -248,10 +247,10 @@ > MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf > + MdeModulePkg/Universal/Metronome/Metronome.inf > MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf > MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf > EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf > - EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf > > MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf > MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf > diff --git a/Platform/ARM/JunoPkg/ArmJuno.fdf b/Platform/ARM/JunoPkg/ArmJuno.fdf > index fca5a78cee6c..836d3cde8781 100644 > --- a/Platform/ARM/JunoPkg/ArmJuno.fdf > +++ b/Platform/ARM/JunoPkg/ArmJuno.fdf > @@ -96,10 +96,10 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 > INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf > + INF MdeModulePkg/Universal/Metronome/Metronome.inf > INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf > INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf > INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf > - INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf > > INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf > INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf > -- > 2.30.2 >