Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 325014
b: refs/heads/master
c: 07d1aea
h: refs/heads/master
v: v3
  • Loading branch information
Toshiaki Yamane authored and Greg Kroah-Hartman committed Sep 10, 2012
1 parent 46b31e9 commit ee7a7aa
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 04934c4747fd5459a918df0e9e8c2aa1d629b637
refs/heads/master: 07d1aeace9eedc4e24b928796a4640493df295bd
48 changes: 21 additions & 27 deletions trunk/drivers/staging/rts_pstor/sd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1224,9 +1224,8 @@ static int sd_switch_function(struct rtsx_chip *chip, u8 bus_width)
/* Get supported functions */
retval = sd_check_switch_mode(chip, SD_CHECK_MODE,
NO_ARGUMENT, NO_ARGUMENT, bus_width);
if (retval != STATUS_SUCCESS) {
if (retval != STATUS_SUCCESS)
TRACE_RET(chip, STATUS_FAIL);
}

sd_card->func_group1_mask &= ~(sd_card->sd_switch_fail);

Expand Down Expand Up @@ -1255,19 +1254,19 @@ static int sd_switch_function(struct rtsx_chip *chip, u8 bus_width)
break;

case HS_SUPPORT:
if (sd_card->func_group1_mask & HS_SUPPORT_MASK) {
if (sd_card->func_group1_mask & HS_SUPPORT_MASK)
func_to_switch = HS_SUPPORT;
}

break;

default:
continue;
}


if (func_to_switch) {
if (func_to_switch)
break;
}

}
RTSX_DEBUGP("SD_FUNC_GROUP_1: func_to_switch = 0x%02x", func_to_switch);

Expand Down Expand Up @@ -1296,23 +1295,21 @@ static int sd_switch_function(struct rtsx_chip *chip, u8 bus_width)
TRACE_RET(chip, STATUS_FAIL);
}

if (func_to_switch == SDR104_SUPPORT) {
if (func_to_switch == SDR104_SUPPORT)
SET_SD_SDR104(sd_card);
} else if (func_to_switch == DDR50_SUPPORT) {
else if (func_to_switch == DDR50_SUPPORT)
SET_SD_DDR50(sd_card);
} else if (func_to_switch == SDR50_SUPPORT) {
else if (func_to_switch == SDR50_SUPPORT)
SET_SD_SDR50(sd_card);
} else {
else
SET_SD_HS(sd_card);
}
}

if (CHK_SD_DDR50(sd_card)) {
RTSX_WRITE_REG(chip, SD_PUSH_POINT_CTL, 0x06, 0x04);
retval = sd_set_sample_push_timing(chip);
if (retval != STATUS_SUCCESS) {
if (retval != STATUS_SUCCESS)
TRACE_RET(chip, STATUS_FAIL);
}
}

if (!func_to_switch || (func_to_switch == HS_SUPPORT)) {
Expand All @@ -1328,53 +1325,50 @@ static int sd_switch_function(struct rtsx_chip *chip, u8 bus_width)
for (i = 0; i < 4; i++) {
switch ((u8)(chip->sd_current_prior >> (i*8))) {
case CURRENT_LIMIT_800:
if (sd_card->func_group4_mask & CURRENT_LIMIT_800_MASK) {
if (sd_card->func_group4_mask & CURRENT_LIMIT_800_MASK)
func_to_switch = CURRENT_LIMIT_800;
}

break;

case CURRENT_LIMIT_600:
if (sd_card->func_group4_mask & CURRENT_LIMIT_600_MASK) {
if (sd_card->func_group4_mask & CURRENT_LIMIT_600_MASK)
func_to_switch = CURRENT_LIMIT_600;
}

break;

case CURRENT_LIMIT_400:
if (sd_card->func_group4_mask & CURRENT_LIMIT_400_MASK) {
if (sd_card->func_group4_mask & CURRENT_LIMIT_400_MASK)
func_to_switch = CURRENT_LIMIT_400;
}

break;

case CURRENT_LIMIT_200:
if (sd_card->func_group4_mask & CURRENT_LIMIT_200_MASK) {
if (sd_card->func_group4_mask & CURRENT_LIMIT_200_MASK)
func_to_switch = CURRENT_LIMIT_200;
}

break;

default:
continue;
}

if (func_to_switch != 0xFF) {
if (func_to_switch != 0xFF)
break;
}
}

RTSX_DEBUGP("SD_FUNC_GROUP_4: func_to_switch = 0x%02x", func_to_switch);

if (func_to_switch <= CURRENT_LIMIT_800) {
retval = sd_check_switch(chip, SD_FUNC_GROUP_4, func_to_switch, bus_width);
if (retval != STATUS_SUCCESS) {
if (sd_check_err_code(chip, SD_NO_CARD)) {
if (sd_check_err_code(chip, SD_NO_CARD))
TRACE_RET(chip, STATUS_FAIL);
}
}
RTSX_DEBUGP("Switch current limit finished! (%d)\n", retval);
}

if (CHK_SD_DDR50(sd_card)) {
if (CHK_SD_DDR50(sd_card))
RTSX_WRITE_REG(chip, SD_PUSH_POINT_CTL, 0x06, 0);
}

return STATUS_SUCCESS;
}
Expand Down

0 comments on commit ee7a7aa

Please sign in to comment.