Share via


SDIO Client 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 following code samples illustrate how the client driver can determine if the bus driver supports Fast-Path, how the client driver can disable Fast-Path support in the bus driver, and how the client driver can restore Fast-Path support in the bus driver.

Note

The SDIO client driver does not need to be aware of Fast-Path support. Fast-Path operations are enabled by default if the SDIO host controller supports Fast-Path. A client driver only needs to make changes for Fast-Path support if it wants to disable Fast-Path operations.

During card initialization, the client driver can use the following code to determine if the bus driver supports Fast-Path.

SD_API_STATUS rStat;

//Check to see if Fast-Path is available
//If rStat returns SD_API_STATUS_SUCCESS, then Fast-Path is supported.
rStat = SDSetCardFeature ( pClientInfo -> hDevice, SD_IS_FAST_PATH_AVAILABLE, NULL, 0);

The client driver can use the following code to disable Fast-Path in the bus driver.

SD_API_STATUS rStat;

// Request that the bus driver use normal path for all
// synchronous operations.
// Check return status to see if disabling of Fast-Path
// succeeded.
rStat = SDSetCardFeature ( pClientInfo -> hDevice, SD_FAST_PATH_ALWAYS_ENABLE_DISABLE, NULL, FALSE);

The client driver can use the following code to restore Fast-Path support in the bus driver.

SD_API_STATUS rStat;

// Request that the bus driver use Fast-Path for all
// relevant synchronous operations.
// Check return status to see if enabling of Fast-Path
// succeeded.
rStat = SDSetCardFeature ( pClientInfo -> hDevice, SD_FAST_PATH_ALWAYS_ENABLE_DISABLE, NULL, TRUE);

See Also

Other Resources

SDIO Fast-Path Support