* [PATCH v2] Omap35xxPkg: add GetTimeInNanoSecond implementation
@ 2017-11-30 14:22 Leif Lindholm
2017-11-30 14:24 ` Ard Biesheuvel
0 siblings, 1 reply; 3+ messages in thread
From: Leif Lindholm @ 2017-11-30 14:22 UTC (permalink / raw)
To: edk2-devel; +Cc: ard.biesheuvel
Commit a63be426f8e3 ("ArmPlatformPkg: Store initial timer value") caused
BeagleBoard to stop building, due to Omap35xxTimerLib lacking an
implementation of GetTimeInNanoSecond (). So add one.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---
Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
index 652c47b6f6..a6f79ddd57 100644
--- a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
+++ b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
@@ -131,3 +131,27 @@ GetPerformanceCounterProperties (
return PcdGet64(PcdEmbeddedPerformanceCounterFrequencyInHz);
}
+
+/**
+ Converts elapsed ticks of performance counter to time in nanoseconds.
+
+ This function converts the elapsed ticks of running performance counter to
+ time value in unit of nanoseconds.
+
+ @param Ticks The number of elapsed ticks of running performance counter.
+
+ @return The elapsed time in nanoseconds.
+
+**/
+UINT64
+EFIAPI
+GetTimeInNanoSecond (
+ IN UINT64 Ticks
+ )
+{
+ UINT32 Period;
+
+ Period = PcdGet32 (PcdEmbeddedPerformanceCounterPeriodInNanoseconds);
+
+ return (Ticks * Period);
+}
--
2.11.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] Omap35xxPkg: add GetTimeInNanoSecond implementation
2017-11-30 14:22 [PATCH v2] Omap35xxPkg: add GetTimeInNanoSecond implementation Leif Lindholm
@ 2017-11-30 14:24 ` Ard Biesheuvel
2017-11-30 14:34 ` Leif Lindholm
0 siblings, 1 reply; 3+ messages in thread
From: Ard Biesheuvel @ 2017-11-30 14:24 UTC (permalink / raw)
To: Leif Lindholm; +Cc: edk2-devel@lists.01.org
On 30 November 2017 at 14:22, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> Commit a63be426f8e3 ("ArmPlatformPkg: Store initial timer value") caused
> BeagleBoard to stop building, due to Omap35xxTimerLib lacking an
> implementation of GetTimeInNanoSecond (). So add one.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
> Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
> index 652c47b6f6..a6f79ddd57 100644
> --- a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
> +++ b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
> @@ -131,3 +131,27 @@ GetPerformanceCounterProperties (
>
> return PcdGet64(PcdEmbeddedPerformanceCounterFrequencyInHz);
> }
> +
> +/**
> + Converts elapsed ticks of performance counter to time in nanoseconds.
> +
> + This function converts the elapsed ticks of running performance counter to
> + time value in unit of nanoseconds.
> +
> + @param Ticks The number of elapsed ticks of running performance counter.
> +
> + @return The elapsed time in nanoseconds.
> +
> +**/
> +UINT64
> +EFIAPI
> +GetTimeInNanoSecond (
> + IN UINT64 Ticks
> + )
> +{
> + UINT32 Period;
> +
> + Period = PcdGet32 (PcdEmbeddedPerformanceCounterPeriodInNanoseconds);
> +
> + return (Ticks * Period);
> +}
> --
> 2.11.0
>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] Omap35xxPkg: add GetTimeInNanoSecond implementation
2017-11-30 14:24 ` Ard Biesheuvel
@ 2017-11-30 14:34 ` Leif Lindholm
0 siblings, 0 replies; 3+ messages in thread
From: Leif Lindholm @ 2017-11-30 14:34 UTC (permalink / raw)
To: Ard Biesheuvel; +Cc: edk2-devel@lists.01.org
On Thu, Nov 30, 2017 at 02:24:24PM +0000, Ard Biesheuvel wrote:
> On 30 November 2017 at 14:22, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> > Commit a63be426f8e3 ("ArmPlatformPkg: Store initial timer value") caused
> > BeagleBoard to stop building, due to Omap35xxTimerLib lacking an
> > implementation of GetTimeInNanoSecond (). So add one.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> > ---
> > Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c | 24 ++++++++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> >
> > diff --git a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
> > index 652c47b6f6..a6f79ddd57 100644
> > --- a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
> > +++ b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c
> > @@ -131,3 +131,27 @@ GetPerformanceCounterProperties (
> >
> > return PcdGet64(PcdEmbeddedPerformanceCounterFrequencyInHz);
> > }
> > +
> > +/**
> > + Converts elapsed ticks of performance counter to time in nanoseconds.
> > +
> > + This function converts the elapsed ticks of running performance counter to
> > + time value in unit of nanoseconds.
> > +
> > + @param Ticks The number of elapsed ticks of running performance counter.
> > +
> > + @return The elapsed time in nanoseconds.
> > +
> > +**/
> > +UINT64
> > +EFIAPI
> > +GetTimeInNanoSecond (
> > + IN UINT64 Ticks
> > + )
> > +{
> > + UINT32 Period;
> > +
> > + Period = PcdGet32 (PcdEmbeddedPerformanceCounterPeriodInNanoseconds);
> > +
> > + return (Ticks * Period);
> > +}
> > --
> > 2.11.0
> >
>
> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Thanks. These two BeagleBoard/Omap fixes pushed as
ef1b70ff08..f0d9d2b617.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-11-30 14:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-30 14:22 [PATCH v2] Omap35xxPkg: add GetTimeInNanoSecond implementation Leif Lindholm
2017-11-30 14:24 ` Ard Biesheuvel
2017-11-30 14:34 ` Leif Lindholm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox