Message ID | 20171130140709.16418-1-leif.lindholm@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [edk2,1/2] Omap35xxPkg: add GetTimeInNanoSecond implementation | expand |
On 30 November 2017 at 14:07, 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..33b314922b 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 (GetPerformanceCounter () * Period); Shouldn't this use 'Ticks' anywhere? > +} > -- > 2.11.0 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On Thu, Nov 30, 2017 at 02:09:33PM +0000, Ard Biesheuvel wrote: > On 30 November 2017 at 14:07, 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..33b314922b 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 (GetPerformanceCounter () * Period); > > Shouldn't this use 'Ticks' anywhere? *Goes to grab coffee* v2 coming up. / Leif _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c index 652c47b6f6..33b314922b 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 (GetPerformanceCounter () * Period); +}
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(+) -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel