public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Fw: USB Drivers' Asynchronous Transfer Timer Interval
       [not found] <HE1PR0802MB22995DA43AA2ECC88ECAFAC09AB20@HE1PR0802MB2299.eurprd08.prod.outlook.com>
@ 2017-08-01  8:57 ` Alexei Fedorov
  0 siblings, 0 replies; only message in thread
From: Alexei Fedorov @ 2017-08-01  8:57 UTC (permalink / raw)
  To: edk2-devel@lists.01.org


Hi,


All USB asynchronous transfer timer intervals defined in Ehci.h, Uhci.h and Xhci.h are set to 1ms value as below:


#define EHC_ASYNC_POLL_INTERVAL      EFI_TIMER_PERIOD_MILLISECONDS(1)

#define UHC_ASYNC_POLL_INTERVAL       EFI_TIMER_PERIOD_MILLISECONDS(1)

#define XHC_ASYNC_TIMER_INTERVAL     EFI_TIMER_PERIOD_MILLISECONDS(1)


are used to  start the asynchronous interrupt monitor as:

  Status = gBS->SetTimer (Xhc->PollTimer, TimerPeriodic, XHC_ASYNC_TIMER_INTERVAL);


, but all h/w platforms, except Hisilicon from OpenPlatformPkg either use default PcdTimerPeriod

gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000

from EmbeddedPkg or redefine the same 100000 value (e.g. BeagleBoardPkg) which gives Timer Interrupt period of 10ms in which case the polling interval will be also 10ms but not 1ms as desinged.


There are other cases when TimerPeriodic event is set with 1ms period, see:

edk2\MdeModulePkg\Bus\Ata\AtaAtapiPassThru\AtaAtapiPassThru.c:

  //
  // Set 1ms timer.
  //
  Status = gBS->SetTimer (Instance->TimerEvent, TimerPeriodic, 10000);


edk2\MdeModulePkg\Bus\Pci\NvmExpressDxe\NvmExpress.h:
//
// Nvme async transfer timer interval, set by experience.
//
#define NVME_HC_ASYNC_TIMER                       EFI_TIMER_PERIOD_MILLISECONDS (1)

edk2\MdeModulePkg\Bus\Pci\SdMmcPciHcDxe\SdMmcPciHcDxe.h:
//
// SD/MMC async transfer timer interval, set by experience.
// The unit is 100us, takes 1ms as interval.
//
#define SD_MMC_HC_ASYNC_TIMER   EFI_TIMER_PERIOD_MILLISECONDS(1)

, etc.


Any comments on that?


Alexei.



IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-08-01  8:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <HE1PR0802MB22995DA43AA2ECC88ECAFAC09AB20@HE1PR0802MB2299.eurprd08.prod.outlook.com>
2017-08-01  8:57 ` Fw: USB Drivers' Asynchronous Transfer Timer Interval Alexei Fedorov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox