Commit ea4fca42 authored by wwang's avatar wwang Committed by Greg Kroah-Hartman

staging: rts_pstor: set lun_mode in a different place

In sony notebook, card reader will be configured as two-lun mode
through EFUSE. In this situation, MS card can't be recognized
properly because driver does only support single-lun mode in default.
In this patch, lun_mode is set in a different place, so driver can
detect the EFUSE configuation automatically.
Signed-off-by: default avatarwwang <wei_wang@realsil.com.cn>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent e0007c0c
...@@ -684,6 +684,11 @@ static int rts5209_init(struct rtsx_chip *chip) ...@@ -684,6 +684,11 @@ static int rts5209_init(struct rtsx_chip *chip)
RTSX_DEBUGP("dw in 0x724: 0x%x\n", lval); RTSX_DEBUGP("dw in 0x724: 0x%x\n", lval);
val = (u8)lval; val = (u8)lval;
if (!(val & 0x80)) { if (!(val & 0x80)) {
if (val & 0x08)
chip->lun_mode = DEFAULT_SINGLE;
else
chip->lun_mode = SD_MS_2LUN;
if (val & 0x04) { if (val & 0x04) {
SET_SDIO_EXIST(chip); SET_SDIO_EXIST(chip);
} else { } else {
...@@ -705,12 +710,6 @@ static int rts5209_init(struct rtsx_chip *chip) ...@@ -705,12 +710,6 @@ static int rts5209_init(struct rtsx_chip *chip)
chip->aspm_l0s_l1_en = (val >> 5) & 0x03; chip->aspm_l0s_l1_en = (val >> 5) & 0x03;
if (val & 0x08) {
chip->lun_mode = DEFAULT_SINGLE;
} else {
chip->lun_mode = SD_MS_2LUN;
}
val = (u8)(lval >> 8); val = (u8)(lval >> 8);
clk = (val >> 5) & 0x07; clk = (val >> 5) & 0x07;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment