Share via


SDIO Host Controller Driver Fast-Path Support

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

The primary change to the host controller driver is the addition of polling for Fast-Path operations. A normal SDIO operation utilizes interrupts after I/O starts on the controller. Fast-Path requires the host controller driver poll for I/O completion instead. For more information on Fast-Path operations, see SDIO Fast-Path Overview.

Checking for Fast-Path Support

Even though the bus driver is responsible for enabling Fast-Path, the host controller driver determines whether or not to perform Fast-Path operations. The host controller driver can determine if Fast-Path operations are enabled by using the following code.

BOOL bFastPathEnabled;
//Determine if Fast-Path is enabled for this request.
bFastPathEnabled = ( 0 != ( pRequest->SystemFlags & SD_FAST_PATH_AVAILABLE));

Note

After the host controller driver ascertains if Fast-Path is enabled, it needs to determine if Fast-Path is the optimal method for handling the bus request.

Fast-Path Threshold

The host controller driver compares the size of a bus request against a threshold value to determine whether or not a bus request should proceed as a Fast-Path operation. The threshold value ensures that bus requests proceed as Fast-Path operations when doing so will speed up the processing of the request and will not degrade system throughput. By default, the Fast-Path threshold is set at 2 kB. The following registry entry can be used to change the default threshold by editing the Threshold value.

[HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]
   "Order"=dword:15
   "Dll"="SDBus.dll"
   "Prefix"="SDC"
   "ThreadPriority"=dword:64     ; default thread priority for dispatch thread
   "RequestListDepth"=dword:30   ; pre-allocated requests
   "Flags"=dword:10000 ; DEVFLAGS_TRUSTEDCALLERONLY
   "IClass"=multi_sz:"{20FA98A8-B298-4b32-8D72-C716AEE2FA84}=%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"
   "Threshold”=dword:0x800

See Also

Other Resources

SDIO Fast-Path Support