UefiCpuPkg/CpuTimerDxeRiscV64: Use DT based timer frequency in Timer driver

There is GetPerformanceCounterProperties() that relies
on Device Tree to fetch timer frequency and removes the
dependency from the PCDs, use that instead.

Signed-off-by: Akshay Behl <cap2k4@rivosinc.com>

Co-authored-by: Dhaval Sharma <dhaval@rivosinc.com>
This commit is contained in:
Akshay Behl
2025-06-08 23:09:04 +05:30
committed by mergify[bot]
parent 484930e0c6
commit 34d609402b
2 changed files with 5 additions and 4 deletions

View File

@ -32,6 +32,7 @@
CpuLib
UefiBootServicesTableLib
UefiDriverEntryPoint
TimerLib
[LibraryClasses.RISCV64]
RiscVSbiLib
@ -42,7 +43,6 @@
[Pcd]
gEfiMdePkgTokenSpaceGuid.PcdRiscVFeatureOverride ## CONSUMES
gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency ## CONSUMES
[Protocols]
gEfiCpuArchProtocolGuid ## CONSUMES

View File

@ -10,6 +10,7 @@
#include <Library/BaseLib.h>
#include <Library/BaseRiscVSbiLib.h>
#include <Library/UefiLib.h>
#include <Library/TimerLib.h>
#include "Timer.h"
//
@ -114,7 +115,7 @@ TimerInterruptHandler (
mTimerNotifyFunction (
DivU64x32 (
EFI_TIMER_PERIOD_SECONDS (PeriodStart - mLastPeriodStart),
PcdGet64 (PcdCpuCoreCrystalClockFrequency)
GetPerformanceCounterProperties (NULL, NULL)
)
);
}
@ -129,7 +130,7 @@ TimerInterruptHandler (
PeriodStart += DivU64x32 (
MultU64x32 (
mTimerPeriod,
PcdGet64 (PcdCpuCoreCrystalClockFrequency)
GetPerformanceCounterProperties (NULL, NULL)
),
1000000u
); // convert to tick
@ -232,7 +233,7 @@ TimerDriverSetTimerPeriod (
PeriodStart += DivU64x32 (
MultU64x32 (
mTimerPeriod,
PcdGet64 (PcdCpuCoreCrystalClockFrequency)
GetPerformanceCounterProperties (NULL, NULL)
),
1000000u
); // convert to tick