|
@@ -471,37 +471,37 @@ InitializeSdMmcDevice (
|
|
|
if (CccSwitch) {
|
|
|
/* SD Switch, Mode:0, Group:0, Value:0 */
|
|
|
CmdArg = CreateSwitchCmdArgument (0, 0, 0);
|
|
|
- Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
|
|
|
+ Status = MmcHost->SendCommand (MmcHost, SD_CMD6, CmdArg);
|
|
|
if (EFI_ERROR (Status)) {
|
|
|
DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
|
|
|
return Status;
|
|
|
} else {
|
|
|
Status = MmcHost->ReadBlockData (MmcHost, 0, SWITCH_CMD_DATA_LENGTH, Buffer);
|
|
|
if (EFI_ERROR (Status)) {
|
|
|
- DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): ReadBlockData Error and Status = %r\n", __FUNCTION__, Status));
|
|
|
+ DEBUG ((DEBUG_ERROR, "%a (SD_CMD6): ReadBlockData Error and Status = %r\n", __FUNCTION__, Status));
|
|
|
return Status;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!(Buffer[3] & SD_HIGH_SPEED_SUPPORTED)) {
|
|
|
- DEBUG ((DEBUG_INFO, "%a : High Speed not supported by Card\n", __FUNCTION__));
|
|
|
+ if (!(__be32_to_cpu(Buffer[3]) & SD_HIGH_SPEED_SUPPORTED)) { /* todo fixme bigendian cpu is no op */
|
|
|
+ DEBUG ((DEBUG_INFO, "%a : High Speed not supported by Card %x\n", __FUNCTION__, Buffer[3]));
|
|
|
} else {
|
|
|
Speed = SD_HIGH_SPEED;
|
|
|
|
|
|
/* SD Switch, Mode:1, Group:0, Value:1 */
|
|
|
CmdArg = CreateSwitchCmdArgument (1, 0, 1);
|
|
|
- Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
|
|
|
+ Status = MmcHost->SendCommand (MmcHost, SD_CMD6, CmdArg);
|
|
|
if (EFI_ERROR (Status)) {
|
|
|
- DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
|
|
|
+ DEBUG ((DEBUG_ERROR, "%a (SD_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
|
|
|
return Status;
|
|
|
} else {
|
|
|
Status = MmcHost->ReadBlockData (MmcHost, 0, SWITCH_CMD_DATA_LENGTH, Buffer);
|
|
|
if (EFI_ERROR (Status)) {
|
|
|
- DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): ReadBlockData Error and Status = %r\n", __FUNCTION__, Status));
|
|
|
+ DEBUG ((DEBUG_ERROR, "%a (SD_CMD6): ReadBlockData Error and Status = %r\n", __FUNCTION__, Status));
|
|
|
return Status;
|
|
|
}
|
|
|
|
|
|
- if ((Buffer[4] & SWITCH_CMD_SUCCESS_MASK) != 0x01000000) {
|
|
|
+ if ((__be32_to_cpu(Buffer[4]) & SWITCH_CMD_SUCCESS_MASK) != 0x01000000) {
|
|
|
DEBUG ((DEBUG_ERROR, "Problem switching SD card into high-speed mode\n"));
|
|
|
return Status;
|
|
|
}
|