The use of the EmbeddedPkg/MetronomeDxe driver on Juno can cause problems with drivers that use gBS->Stall, since it takes 10x longer than requested. For example requesting a timeout of 1 ms when doing a USB bulk transfer results in it taking 100 ms. Switching to the MdeModulePkg/Universal/Metronome driver fixes this since it assumes the timer clock ticks at least every 100 ns.
While here, set the PCD value of the timer frequency to 0 so it gets read from the SoC instead of hard-coding it. Also, fix the time between interrupts in TimerDxe to be 1 ms as the driver wants. Rebecca Cran (3): Platform/ARM/JunoPkg: Switch to MdeModulePkg/Universal/Metronome driver Platform/ARM/JunoPkg: Override PcdTimerPeriod to be 10000 Platform/ARM/JunoPkg: Set PcdArmArchTimerFreqInHz to 0 to read from CNTFRQ_EL0 Platform/ARM/JunoPkg/ArmJuno.dsc | 7 ++++--- Platform/ARM/JunoPkg/ArmJuno.fdf | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96677): https://edk2.groups.io/g/devel/message/96677 Mute This Topic: https://groups.io/mt/95334362/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-