Acked-by: Hao A Wu <hao.a...@intel.com> Best Regards, Hao Wu
> -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Henz, > Patrick > Sent: Wednesday, November 1, 2023 12:51 AM > To: devel@edk2.groups.io > Cc: Wu, Hao A <hao.a...@intel.com>; Ni, Ray <ray...@intel.com>; Henz, > Patrick <patrick.h...@hpe.com> > Subject: [edk2-devel] [PATCH] MdeModulePkg/XhciDxe: Non-zero start/stop > values in XhcGetElapsedTicks > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4578 > > The implementation of XhcGetElapsedTicks did not account for > non-zero start and stop values for the performance counter > timer, potentially resulting in an incorrect elapsed tick > count getting returned to the caller. Account for non-zero > start and stop values when calculating the elapsed tick > count. > > Cc: Hao A Wu <hao.a...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Signed-off-by: Patrick Henz <patrick.h...@hpe.com> > Reviewed-by: > --- > MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > index 7a2e32a9dd..6cb97b7452 100644 > --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > @@ -2389,7 +2389,7 @@ XhcGetElapsedTicks ( > // Counter counts upwards, check for an overflow condition > > // > > if (*PreviousTick > CurrentTick) { > > - Delta = (mPerformanceCounterEndValue - *PreviousTick) + CurrentTick; > > + Delta = (CurrentTick - mPerformanceCounterStartValue) + > (mPerformanceCounterEndValue - *PreviousTick); > > } else { > > Delta = CurrentTick - *PreviousTick; > > } > > @@ -2398,7 +2398,7 @@ XhcGetElapsedTicks ( > // Counter counts downwards, check for an underflow condition > > // > > if (*PreviousTick < CurrentTick) { > > - Delta = (mPerformanceCounterStartValue - CurrentTick) + *PreviousTick; > > + Delta = (mPerformanceCounterStartValue - CurrentTick) + (*PreviousTick > - mPerformanceCounterEndValue); > > } else { > > Delta = *PreviousTick - CurrentTick; > > } > > -- > 2.34.1 > > > > -=-=-=-=-=-= > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#110434): > https://edk2.groups.io/g/devel/message/110434 > Mute This Topic: https://groups.io/mt/102301510/1768737 > Group Owner: devel+ow...@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [hao.a...@intel.com] > -=-=-=-=-=-= > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110463): https://edk2.groups.io/g/devel/message/110463 Mute This Topic: https://groups.io/mt/102301510/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-