SDIO Client Driver Fast-Path Support (Windows Embedded CE 6.0)
1/6/2010
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);