staging: rts5208: ms.c: Parenthesis alignment
Fix checkpatch messages: Alignment should match open parenthesis Signed-off-by: Wayne Porter <wporter82@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8473e5bb5c
commit
9c378f1488
|
@ -507,17 +507,17 @@ static int ms_pull_ctl_enable(struct rtsx_chip *chip)
|
|||
|
||||
if (CHECK_PID(chip, 0x5208)) {
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_PULL_CTL1, 0xFF,
|
||||
MS_D1_PD | MS_D2_PD | MS_CLK_NP | MS_D6_PD);
|
||||
MS_D1_PD | MS_D2_PD | MS_CLK_NP | MS_D6_PD);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_PULL_CTL2, 0xFF,
|
||||
MS_D3_PD | MS_D0_PD | MS_BS_NP | XD_D4_PD);
|
||||
MS_D3_PD | MS_D0_PD | MS_BS_NP | XD_D4_PD);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_PULL_CTL3, 0xFF,
|
||||
MS_D7_PD | XD_CE_PD | XD_CLE_PD | XD_CD_PU);
|
||||
MS_D7_PD | XD_CE_PD | XD_CLE_PD | XD_CD_PU);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_PULL_CTL4, 0xFF,
|
||||
XD_RDY_PD | SD_D3_PD | SD_D2_PD | XD_ALE_PD);
|
||||
XD_RDY_PD | SD_D3_PD | SD_D2_PD | XD_ALE_PD);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_PULL_CTL5, 0xFF,
|
||||
MS_INS_PU | SD_WP_PD | SD_CD_PU | SD_CMD_PD);
|
||||
MS_INS_PU | SD_WP_PD | SD_CD_PU | SD_CMD_PD);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_PULL_CTL6, 0xFF,
|
||||
MS_D5_PD | MS_D4_PD);
|
||||
MS_D5_PD | MS_D4_PD);
|
||||
} else if (CHECK_PID(chip, 0x5288)) {
|
||||
if (CHECK_BARO_PKG(chip, QFN)) {
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD,
|
||||
|
@ -665,7 +665,7 @@ static int ms_identify_media_type(struct rtsx_chip *chip, int switch_8bit_bus)
|
|||
|
||||
for (i = 0; i < MS_MAX_RETRY_COUNT; i++) {
|
||||
retval = ms_transfer_tpc(chip, MS_TM_READ_BYTES, READ_REG,
|
||||
6, NO_WAIT_INT);
|
||||
6, NO_WAIT_INT);
|
||||
if (retval == STATUS_SUCCESS)
|
||||
break;
|
||||
}
|
||||
|
@ -765,7 +765,7 @@ static int ms_confirm_cpu_startup(struct rtsx_chip *chip)
|
|||
|
||||
for (i = 0; i < MS_MAX_RETRY_COUNT; i++) {
|
||||
retval = ms_read_bytes(chip, GET_INT, 1,
|
||||
NO_WAIT_INT, &val, 1);
|
||||
NO_WAIT_INT, &val, 1);
|
||||
if (retval == STATUS_SUCCESS)
|
||||
break;
|
||||
}
|
||||
|
@ -861,7 +861,7 @@ static int ms_switch_8bit_bus(struct rtsx_chip *chip)
|
|||
|
||||
for (i = 0; i < MS_MAX_RETRY_COUNT; i++) {
|
||||
retval = ms_transfer_tpc(chip, MS_TM_READ_BYTES, GET_INT,
|
||||
1, NO_WAIT_INT);
|
||||
1, NO_WAIT_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1061,8 +1061,8 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
|
|||
return STATUS_FAIL;
|
||||
}
|
||||
retval = ms_transfer_data(chip, MS_TM_AUTO_READ,
|
||||
PRO_READ_LONG_DATA, 0x40, WAIT_INT,
|
||||
0, 0, buf, 64 * 512);
|
||||
PRO_READ_LONG_DATA, 0x40, WAIT_INT,
|
||||
0, 0, buf, 64 * 512);
|
||||
if (retval == STATUS_SUCCESS)
|
||||
break;
|
||||
|
||||
|
@ -1087,7 +1087,7 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
|
|||
break;
|
||||
|
||||
retval = ms_transfer_tpc(chip, MS_TM_NORMAL_READ,
|
||||
PRO_READ_LONG_DATA, 0, WAIT_INT);
|
||||
PRO_READ_LONG_DATA, 0, WAIT_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
kfree(buf);
|
||||
rtsx_trace(chip);
|
||||
|
@ -1121,7 +1121,7 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
|
|||
|
||||
#ifdef SUPPORT_MSXC
|
||||
if ((buf[cur_addr_off + 8] == 0x10) ||
|
||||
(buf[cur_addr_off + 8] == 0x13)) {
|
||||
(buf[cur_addr_off + 8] == 0x13)) {
|
||||
#else
|
||||
if (buf[cur_addr_off + 8] == 0x10) {
|
||||
#endif
|
||||
|
@ -1264,7 +1264,7 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
|
|||
|
||||
if (device_type != 0x00) {
|
||||
if ((device_type == 0x01) || (device_type == 0x02) ||
|
||||
(device_type == 0x03)) {
|
||||
(device_type == 0x03)) {
|
||||
chip->card_wp |= MS_CARD;
|
||||
} else {
|
||||
rtsx_trace(chip);
|
||||
|
@ -1298,7 +1298,7 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
|
|||
|
||||
#ifdef SUPPORT_MAGIC_GATE
|
||||
static int mg_set_tpc_para_sub(struct rtsx_chip *chip,
|
||||
int type, u8 mg_entry_num);
|
||||
int type, u8 mg_entry_num);
|
||||
#endif
|
||||
|
||||
static int reset_ms_pro(struct rtsx_chip *chip)
|
||||
|
@ -1365,7 +1365,7 @@ static int reset_ms_pro(struct rtsx_chip *chip)
|
|||
change_power_class = power_class_mode;
|
||||
if (change_power_class) {
|
||||
retval = msxc_change_power(chip,
|
||||
change_power_class);
|
||||
change_power_class);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
change_power_class--;
|
||||
goto Retry;
|
||||
|
@ -1418,14 +1418,14 @@ static int ms_read_status_reg(struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
static int ms_read_extra_data(struct rtsx_chip *chip,
|
||||
u16 block_addr, u8 page_num, u8 *buf, int buf_len)
|
||||
u16 block_addr, u8 page_num, u8 *buf, int buf_len)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
int retval, i;
|
||||
u8 val, data[10];
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, 6);
|
||||
SystemParm, 6);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1488,7 +1488,8 @@ static int ms_read_extra_data(struct rtsx_chip *chip,
|
|||
}
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag,
|
||||
MS_EXTRA_SIZE, SystemParm, 6);
|
||||
MS_EXTRA_SIZE, SystemParm,
|
||||
6);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1497,7 +1498,7 @@ static int ms_read_extra_data(struct rtsx_chip *chip,
|
|||
}
|
||||
|
||||
retval = ms_read_bytes(chip, READ_REG, MS_EXTRA_SIZE, NO_WAIT_INT,
|
||||
data, MS_EXTRA_SIZE);
|
||||
data, MS_EXTRA_SIZE);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1512,8 +1513,8 @@ static int ms_read_extra_data(struct rtsx_chip *chip,
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static int ms_write_extra_data(struct rtsx_chip *chip,
|
||||
u16 block_addr, u8 page_num, u8 *buf, int buf_len)
|
||||
static int ms_write_extra_data(struct rtsx_chip *chip, u16 block_addr,
|
||||
u8 page_num, u8 *buf, int buf_len)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
int retval, i;
|
||||
|
@ -1525,7 +1526,7 @@ static int ms_write_extra_data(struct rtsx_chip *chip,
|
|||
}
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, 6 + MS_EXTRA_SIZE);
|
||||
SystemParm, 6 + MS_EXTRA_SIZE);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1588,7 +1589,7 @@ static int ms_read_page(struct rtsx_chip *chip, u16 block_addr, u8 page_num)
|
|||
u8 val, data[6];
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, 6);
|
||||
SystemParm, 6);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1651,7 +1652,7 @@ static int ms_read_page(struct rtsx_chip *chip, u16 block_addr, u8 page_num)
|
|||
}
|
||||
|
||||
retval = ms_transfer_tpc(chip, MS_TM_NORMAL_READ, READ_PAGE_DATA,
|
||||
0, NO_WAIT_INT);
|
||||
0, NO_WAIT_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1678,7 +1679,7 @@ static int ms_set_bad_block(struct rtsx_chip *chip, u16 phy_blk)
|
|||
}
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, 7);
|
||||
SystemParm, 7);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1742,7 +1743,7 @@ static int ms_erase_block(struct rtsx_chip *chip, u16 phy_blk)
|
|||
u8 val, data[6];
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, 6);
|
||||
SystemParm, 6);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1844,7 +1845,7 @@ static int ms_init_page(struct rtsx_chip *chip, u16 phy_blk, u16 log_blk,
|
|||
}
|
||||
|
||||
retval = ms_write_extra_data(chip, phy_blk, i,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra, MS_EXTRA_SIZE);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1855,7 +1856,7 @@ static int ms_init_page(struct rtsx_chip *chip, u16 phy_blk, u16 log_blk,
|
|||
}
|
||||
|
||||
static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
||||
u16 log_blk, u8 start_page, u8 end_page)
|
||||
u16 log_blk, u8 start_page, u8 end_page)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
bool uncorrect_flag = false;
|
||||
|
@ -1915,7 +1916,7 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
|||
ms_read_extra_data(chip, old_blk, i, extra, MS_EXTRA_SIZE);
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag,
|
||||
MS_EXTRA_SIZE, SystemParm, 6);
|
||||
MS_EXTRA_SIZE, SystemParm, 6);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1971,9 +1972,9 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
|||
}
|
||||
|
||||
retval = ms_transfer_tpc(chip,
|
||||
MS_TM_NORMAL_READ,
|
||||
READ_PAGE_DATA,
|
||||
0, NO_WAIT_INT);
|
||||
MS_TM_NORMAL_READ,
|
||||
READ_PAGE_DATA,
|
||||
0, NO_WAIT_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -1981,20 +1982,24 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
|||
|
||||
if (uncorrect_flag) {
|
||||
ms_set_page_status(log_blk, setPS_NG,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra,
|
||||
MS_EXTRA_SIZE);
|
||||
if (i == 0)
|
||||
extra[0] &= 0xEF;
|
||||
|
||||
ms_write_extra_data(chip, old_blk, i,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra,
|
||||
MS_EXTRA_SIZE);
|
||||
dev_dbg(rtsx_dev(chip), "page %d : extra[0] = 0x%x\n",
|
||||
i, extra[0]);
|
||||
MS_SET_BAD_BLOCK_FLG(ms_card);
|
||||
|
||||
ms_set_page_status(log_blk, setPS_Error,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra,
|
||||
MS_EXTRA_SIZE);
|
||||
ms_write_extra_data(chip, new_blk, i,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra,
|
||||
MS_EXTRA_SIZE);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -2021,8 +2026,8 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
|||
}
|
||||
}
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag,
|
||||
MS_EXTRA_SIZE, SystemParm, (6 + MS_EXTRA_SIZE));
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, (6 + MS_EXTRA_SIZE));
|
||||
|
||||
ms_set_err_code(chip, MS_NO_ERROR);
|
||||
|
||||
|
@ -2085,7 +2090,8 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
|||
|
||||
if (i == 0) {
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag,
|
||||
MS_EXTRA_SIZE, SystemParm, 7);
|
||||
MS_EXTRA_SIZE, SystemParm,
|
||||
7);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -2121,7 +2127,7 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
|||
|
||||
ms_set_err_code(chip, MS_NO_ERROR);
|
||||
retval = ms_read_bytes(chip, GET_INT, 1,
|
||||
NO_WAIT_INT, &val, 1);
|
||||
NO_WAIT_INT, &val, 1);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -2361,7 +2367,7 @@ static int reset_ms(struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
retval = ms_transfer_tpc(chip, MS_TM_WRITE_BYTES, WRITE_REG, 1,
|
||||
NO_WAIT_INT);
|
||||
NO_WAIT_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -2474,7 +2480,7 @@ static u16 ms_get_l2p_tbl(struct rtsx_chip *chip, int seg_no, u16 log_off)
|
|||
}
|
||||
|
||||
static void ms_set_l2p_tbl(struct rtsx_chip *chip,
|
||||
int seg_no, u16 log_off, u16 phy_blk)
|
||||
int seg_no, u16 log_off, u16 phy_blk)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
struct zone_entry *segment;
|
||||
|
@ -2530,7 +2536,7 @@ static const unsigned short ms_start_idx[] = {0, 494, 990, 1486, 1982, 2478,
|
|||
7934};
|
||||
|
||||
static int ms_arbitrate_l2p(struct rtsx_chip *chip, u16 phy_blk,
|
||||
u16 log_off, u8 us1, u8 us2)
|
||||
u16 log_off, u8 us1, u8 us2)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
struct zone_entry *segment;
|
||||
|
@ -2646,7 +2652,7 @@ static int ms_build_l2p_tbl(struct rtsx_chip *chip, int seg_no)
|
|||
}
|
||||
|
||||
retval = ms_read_extra_data(chip, phy_blk, 0,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra, MS_EXTRA_SIZE);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
dev_dbg(rtsx_dev(chip), "read extra data fail\n");
|
||||
ms_set_bad_block(chip, phy_blk);
|
||||
|
@ -2685,7 +2691,7 @@ static int ms_build_l2p_tbl(struct rtsx_chip *chip, int seg_no)
|
|||
}
|
||||
|
||||
if ((log_blk < ms_start_idx[seg_no]) ||
|
||||
(log_blk >= ms_start_idx[seg_no + 1])) {
|
||||
(log_blk >= ms_start_idx[seg_no + 1])) {
|
||||
if (!(chip->card_wp & MS_CARD)) {
|
||||
retval = ms_erase_block(chip, phy_blk);
|
||||
if (retval != STATUS_SUCCESS)
|
||||
|
@ -2705,7 +2711,7 @@ static int ms_build_l2p_tbl(struct rtsx_chip *chip, int seg_no)
|
|||
us1 = extra[0] & 0x10;
|
||||
tmp_blk = segment->l2p_table[idx];
|
||||
retval = ms_read_extra_data(chip, tmp_blk, 0,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra, MS_EXTRA_SIZE);
|
||||
if (retval != STATUS_SUCCESS)
|
||||
continue;
|
||||
us2 = extra[0] & 0x10;
|
||||
|
@ -2774,7 +2780,8 @@ static int ms_build_l2p_tbl(struct rtsx_chip *chip, int seg_no)
|
|||
|
||||
phy_blk = ms_get_unused_block(chip, 0);
|
||||
retval = ms_copy_page(chip, tmp_blk, phy_blk,
|
||||
log_blk, 0, ms_card->page_off + 1);
|
||||
log_blk, 0,
|
||||
ms_card->page_off + 1);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -2861,7 +2868,7 @@ int reset_ms_card(struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
static int mspro_set_rw_cmd(struct rtsx_chip *chip,
|
||||
u32 start_sec, u16 sec_cnt, u8 cmd)
|
||||
u32 start_sec, u16 sec_cnt, u8 cmd)
|
||||
{
|
||||
int retval, i;
|
||||
u8 data[8];
|
||||
|
@ -2932,8 +2939,8 @@ static inline int ms_auto_tune_clock(struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
static int mspro_rw_multi_sector(struct scsi_cmnd *srb,
|
||||
struct rtsx_chip *chip, u32 start_sector,
|
||||
u16 sector_cnt)
|
||||
struct rtsx_chip *chip, u32 start_sector,
|
||||
u16 sector_cnt)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
bool mode_2k = false;
|
||||
|
@ -3038,8 +3045,8 @@ static int mspro_rw_multi_sector(struct scsi_cmnd *srb,
|
|||
}
|
||||
|
||||
retval = ms_transfer_data(chip, trans_mode, rw_tpc, sector_cnt,
|
||||
WAIT_INT, mode_2k, scsi_sg_count(srb),
|
||||
scsi_sglist(srb), scsi_bufflen(srb));
|
||||
WAIT_INT, mode_2k, scsi_sg_count(srb),
|
||||
scsi_sglist(srb), scsi_bufflen(srb));
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
ms_card->seq_mode = 0;
|
||||
rtsx_read_register(chip, MS_TRANS_CFG, &val);
|
||||
|
@ -3076,7 +3083,7 @@ static int mspro_rw_multi_sector(struct scsi_cmnd *srb,
|
|||
}
|
||||
|
||||
static int mspro_read_format_progress(struct rtsx_chip *chip,
|
||||
const int short_data_len)
|
||||
const int short_data_len)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
int retval, i;
|
||||
|
@ -3117,7 +3124,7 @@ static int mspro_read_format_progress(struct rtsx_chip *chip,
|
|||
cnt = (u8)short_data_len;
|
||||
|
||||
retval = rtsx_write_register(chip, MS_CFG, MS_NO_CHECK_INT,
|
||||
MS_NO_CHECK_INT);
|
||||
MS_NO_CHECK_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
ms_card->format_status = FORMAT_FAIL;
|
||||
rtsx_trace(chip);
|
||||
|
@ -3125,7 +3132,7 @@ static int mspro_read_format_progress(struct rtsx_chip *chip,
|
|||
}
|
||||
|
||||
retval = ms_read_bytes(chip, PRO_READ_SHORT_DATA, cnt, WAIT_INT,
|
||||
data, 8);
|
||||
data, 8);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
ms_card->format_status = FORMAT_FAIL;
|
||||
rtsx_trace(chip);
|
||||
|
@ -3204,7 +3211,7 @@ void mspro_polling_format_status(struct rtsx_chip *chip)
|
|||
int i;
|
||||
|
||||
if (ms_card->pro_under_formatting &&
|
||||
(rtsx_get_stat(chip) != RTSX_STAT_SS)) {
|
||||
(rtsx_get_stat(chip) != RTSX_STAT_SS)) {
|
||||
rtsx_set_stat(chip, RTSX_STAT_RUN);
|
||||
|
||||
for (i = 0; i < 65535; i++) {
|
||||
|
@ -3216,7 +3223,7 @@ void mspro_polling_format_status(struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
int mspro_format(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
||||
int short_data_len, bool quick_format)
|
||||
int short_data_len, bool quick_format)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
int retval, i;
|
||||
|
@ -3305,9 +3312,9 @@ int mspro_format(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
}
|
||||
|
||||
static int ms_read_multiple_pages(struct rtsx_chip *chip, u16 phy_blk,
|
||||
u16 log_blk, u8 start_page, u8 end_page,
|
||||
u8 *buf, unsigned int *index,
|
||||
unsigned int *offset)
|
||||
u16 log_blk, u8 start_page, u8 end_page,
|
||||
u8 *buf, unsigned int *index,
|
||||
unsigned int *offset)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
int retval, i;
|
||||
|
@ -3315,7 +3322,7 @@ static int ms_read_multiple_pages(struct rtsx_chip *chip, u16 phy_blk,
|
|||
u8 *ptr;
|
||||
|
||||
retval = ms_read_extra_data(chip, phy_blk, start_page,
|
||||
extra, MS_EXTRA_SIZE);
|
||||
extra, MS_EXTRA_SIZE);
|
||||
if (retval == STATUS_SUCCESS) {
|
||||
if ((extra[1] & 0x30) != 0x30) {
|
||||
ms_set_err_code(chip, MS_FLASH_READ_ERROR);
|
||||
|
@ -3325,7 +3332,7 @@ static int ms_read_multiple_pages(struct rtsx_chip *chip, u16 phy_blk,
|
|||
}
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, 6);
|
||||
SystemParm, 6);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3420,7 +3427,7 @@ static int ms_read_multiple_pages(struct rtsx_chip *chip, u16 phy_blk,
|
|||
}
|
||||
|
||||
retval = ms_read_bytes(chip, GET_INT, 1, NO_WAIT_INT,
|
||||
&val, 1);
|
||||
&val, 1);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3441,23 +3448,24 @@ static int ms_read_multiple_pages(struct rtsx_chip *chip, u16 phy_blk,
|
|||
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TPC, 0xFF, READ_PAGE_DATA);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TRANS_CFG,
|
||||
0xFF, trans_cfg);
|
||||
0xFF, trans_cfg);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_DATA_SOURCE,
|
||||
0x01, RING_BUFFER);
|
||||
0x01, RING_BUFFER);
|
||||
|
||||
trans_dma_enable(DMA_FROM_DEVICE, chip, 512, DMA_512);
|
||||
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TRANSFER, 0xFF,
|
||||
MS_TRANSFER_START | MS_TM_NORMAL_READ);
|
||||
MS_TRANSFER_START | MS_TM_NORMAL_READ);
|
||||
rtsx_add_cmd(chip, CHECK_REG_CMD, MS_TRANSFER,
|
||||
MS_TRANSFER_END, MS_TRANSFER_END);
|
||||
MS_TRANSFER_END, MS_TRANSFER_END);
|
||||
|
||||
rtsx_send_cmd_no_wait(chip);
|
||||
|
||||
retval = rtsx_transfer_data_partial(chip, MS_CARD, ptr,
|
||||
512, scsi_sg_count(chip->srb),
|
||||
index, offset, DMA_FROM_DEVICE,
|
||||
chip->ms_timeout);
|
||||
retval = rtsx_transfer_data_partial(chip, MS_CARD, ptr, 512,
|
||||
scsi_sg_count(chip->srb),
|
||||
index, offset,
|
||||
DMA_FROM_DEVICE,
|
||||
chip->ms_timeout);
|
||||
if (retval < 0) {
|
||||
if (retval == -ETIMEDOUT) {
|
||||
ms_set_err_code(chip, MS_TO_ERROR);
|
||||
|
@ -3489,7 +3497,7 @@ static int ms_read_multiple_pages(struct rtsx_chip *chip, u16 phy_blk,
|
|||
}
|
||||
|
||||
static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
||||
u16 new_blk, u16 log_blk, u8 start_page,
|
||||
u16 new_blk, u16 log_blk, u8 start_page,
|
||||
u8 end_page, u8 *buf, unsigned int *index,
|
||||
unsigned int *offset)
|
||||
{
|
||||
|
@ -3500,7 +3508,7 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
|
||||
if (!start_page) {
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, 7);
|
||||
SystemParm, 7);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3534,7 +3542,7 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
|
||||
ms_set_err_code(chip, MS_NO_ERROR);
|
||||
retval = ms_transfer_tpc(chip, MS_TM_READ_BYTES, GET_INT, 1,
|
||||
NO_WAIT_INT);
|
||||
NO_WAIT_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3542,7 +3550,7 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
}
|
||||
|
||||
retval = ms_set_rw_reg_addr(chip, OverwriteFlag, MS_EXTRA_SIZE,
|
||||
SystemParm, (6 + MS_EXTRA_SIZE));
|
||||
SystemParm, (6 + MS_EXTRA_SIZE));
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3630,25 +3638,26 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
rtsx_init_cmd(chip);
|
||||
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TPC,
|
||||
0xFF, WRITE_PAGE_DATA);
|
||||
0xFF, WRITE_PAGE_DATA);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TRANS_CFG,
|
||||
0xFF, WAIT_INT);
|
||||
0xFF, WAIT_INT);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_DATA_SOURCE,
|
||||
0x01, RING_BUFFER);
|
||||
0x01, RING_BUFFER);
|
||||
|
||||
trans_dma_enable(DMA_TO_DEVICE, chip, 512, DMA_512);
|
||||
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TRANSFER, 0xFF,
|
||||
MS_TRANSFER_START | MS_TM_NORMAL_WRITE);
|
||||
MS_TRANSFER_START | MS_TM_NORMAL_WRITE);
|
||||
rtsx_add_cmd(chip, CHECK_REG_CMD, MS_TRANSFER,
|
||||
MS_TRANSFER_END, MS_TRANSFER_END);
|
||||
MS_TRANSFER_END, MS_TRANSFER_END);
|
||||
|
||||
rtsx_send_cmd_no_wait(chip);
|
||||
|
||||
retval = rtsx_transfer_data_partial(chip, MS_CARD, ptr,
|
||||
512, scsi_sg_count(chip->srb),
|
||||
index, offset, DMA_TO_DEVICE,
|
||||
chip->ms_timeout);
|
||||
retval = rtsx_transfer_data_partial(chip, MS_CARD, ptr, 512,
|
||||
scsi_sg_count(chip->srb),
|
||||
index, offset,
|
||||
DMA_TO_DEVICE,
|
||||
chip->ms_timeout);
|
||||
if (retval < 0) {
|
||||
ms_set_err_code(chip, MS_TO_ERROR);
|
||||
rtsx_clear_ms_error(chip);
|
||||
|
@ -3677,7 +3686,7 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
if (page_addr == (end_page - 1)) {
|
||||
if (!(val & INT_REG_CED)) {
|
||||
retval = ms_send_cmd(chip, BLOCK_END,
|
||||
WAIT_INT);
|
||||
WAIT_INT);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3685,7 +3694,7 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
}
|
||||
|
||||
retval = ms_read_bytes(chip, GET_INT, 1,
|
||||
NO_WAIT_INT, &val, 1);
|
||||
NO_WAIT_INT, &val, 1);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3693,7 +3702,7 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
}
|
||||
|
||||
if ((page_addr == (end_page - 1)) ||
|
||||
(page_addr == ms_card->page_off)) {
|
||||
(page_addr == ms_card->page_off)) {
|
||||
if (!(val & INT_REG_CED)) {
|
||||
ms_set_err_code(chip,
|
||||
MS_FLASH_WRITE_ERROR);
|
||||
|
@ -3711,13 +3720,13 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
|
|||
}
|
||||
|
||||
static int ms_finish_write(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
||||
u16 log_blk, u8 page_off)
|
||||
u16 log_blk, u8 page_off)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
int retval, seg_no;
|
||||
|
||||
retval = ms_copy_page(chip, old_blk, new_blk, log_blk,
|
||||
page_off, ms_card->page_off + 1);
|
||||
page_off, ms_card->page_off + 1);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3740,13 +3749,13 @@ static int ms_finish_write(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
|||
}
|
||||
|
||||
static int ms_prepare_write(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,
|
||||
u16 log_blk, u8 start_page)
|
||||
u16 log_blk, u8 start_page)
|
||||
{
|
||||
int retval;
|
||||
|
||||
if (start_page) {
|
||||
retval = ms_copy_page(chip, old_blk, new_blk, log_blk,
|
||||
0, start_page);
|
||||
0, start_page);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
|
@ -3772,7 +3781,7 @@ int ms_delay_write(struct rtsx_chip *chip)
|
|||
|
||||
delay_write->delay_write_flag = 0;
|
||||
retval = ms_finish_write(chip,
|
||||
delay_write->old_phyblock,
|
||||
delay_write->old_phyblock,
|
||||
delay_write->new_phyblock,
|
||||
delay_write->logblock,
|
||||
delay_write->pageoff);
|
||||
|
@ -3790,13 +3799,13 @@ static inline void ms_rw_fail(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
{
|
||||
if (srb->sc_data_direction == DMA_FROM_DEVICE)
|
||||
set_sense_type(chip, SCSI_LUN(srb),
|
||||
SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
|
||||
SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
|
||||
else
|
||||
set_sense_type(chip, SCSI_LUN(srb), SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
}
|
||||
|
||||
static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
||||
u32 start_sector, u16 sector_cnt)
|
||||
u32 start_sector, u16 sector_cnt)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
unsigned int lun = SCSI_LUN(srb);
|
||||
|
@ -3843,16 +3852,17 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
if (srb->sc_data_direction == DMA_TO_DEVICE) {
|
||||
#ifdef MS_DELAY_WRITE
|
||||
if (delay_write->delay_write_flag &&
|
||||
(delay_write->logblock == log_blk) &&
|
||||
(start_page > delay_write->pageoff)) {
|
||||
(delay_write->logblock == log_blk) &&
|
||||
(start_page > delay_write->pageoff)) {
|
||||
delay_write->delay_write_flag = 0;
|
||||
retval = ms_copy_page(chip,
|
||||
delay_write->old_phyblock,
|
||||
delay_write->new_phyblock, log_blk,
|
||||
delay_write->pageoff, start_page);
|
||||
delay_write->old_phyblock,
|
||||
delay_write->new_phyblock,
|
||||
log_blk,
|
||||
delay_write->pageoff, start_page);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
|
@ -3868,7 +3878,7 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
retval = ms_delay_write(chip);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
|
@ -3878,13 +3888,13 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
new_blk = ms_get_unused_block(chip, seg_no);
|
||||
if ((old_blk == 0xFFFF) || (new_blk == 0xFFFF)) {
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
|
||||
retval = ms_prepare_write(chip, old_blk, new_blk,
|
||||
log_blk, start_page);
|
||||
log_blk, start_page);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
if (detect_card_cd(chip, MS_CARD) != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun,
|
||||
|
@ -3893,7 +3903,7 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
return STATUS_FAIL;
|
||||
}
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
SENSE_TYPE_MEDIA_WRITE_ERR);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
|
@ -3906,21 +3916,21 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
if (retval != STATUS_SUCCESS) {
|
||||
if (detect_card_cd(chip, MS_CARD) != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_NOT_PRESENT);
|
||||
SENSE_TYPE_MEDIA_NOT_PRESENT);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
|
||||
SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
#endif
|
||||
old_blk = ms_get_l2p_tbl(chip, seg_no,
|
||||
log_blk - ms_start_idx[seg_no]);
|
||||
log_blk - ms_start_idx[seg_no]);
|
||||
if (old_blk == 0xFFFF) {
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
|
||||
SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
|
@ -3942,19 +3952,21 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
|
||||
if (srb->sc_data_direction == DMA_FROM_DEVICE) {
|
||||
retval = ms_read_multiple_pages(chip,
|
||||
old_blk, log_blk, start_page, end_page,
|
||||
ptr, &index, &offset);
|
||||
old_blk, log_blk,
|
||||
start_page, end_page,
|
||||
ptr, &index, &offset);
|
||||
} else {
|
||||
retval = ms_write_multiple_pages(chip, old_blk,
|
||||
new_blk, log_blk, start_page, end_page,
|
||||
ptr, &index, &offset);
|
||||
retval = ms_write_multiple_pages(chip, old_blk, new_blk,
|
||||
log_blk, start_page,
|
||||
end_page, ptr, &index,
|
||||
&offset);
|
||||
}
|
||||
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
toggle_gpio(chip, 1);
|
||||
if (detect_card_cd(chip, MS_CARD) != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_NOT_PRESENT);
|
||||
SENSE_TYPE_MEDIA_NOT_PRESENT);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
|
@ -3970,8 +3982,8 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
ms_set_unused_block(chip, old_blk);
|
||||
|
||||
ms_set_l2p_tbl(chip, seg_no,
|
||||
log_blk - ms_start_idx[seg_no],
|
||||
new_blk);
|
||||
log_blk - ms_start_idx[seg_no],
|
||||
new_blk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3995,14 +4007,14 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
if (retval != STATUS_SUCCESS) {
|
||||
chip->card_fail |= MS_CARD;
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MEDIA_NOT_PRESENT);
|
||||
SENSE_TYPE_MEDIA_NOT_PRESENT);
|
||||
rtsx_trace(chip);
|
||||
return STATUS_FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
old_blk = ms_get_l2p_tbl(chip, seg_no,
|
||||
log_blk - ms_start_idx[seg_no]);
|
||||
log_blk - ms_start_idx[seg_no]);
|
||||
if (old_blk == 0xFFFF) {
|
||||
ms_rw_fail(srb, chip);
|
||||
rtsx_trace(chip);
|
||||
|
@ -4034,7 +4046,7 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
delay_write->pageoff = end_page;
|
||||
#else
|
||||
retval = ms_finish_write(chip, old_blk, new_blk,
|
||||
log_blk, end_page);
|
||||
log_blk, end_page);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
if (detect_card_cd(chip, MS_CARD) != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun,
|
||||
|
@ -4057,17 +4069,17 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
|||
}
|
||||
|
||||
int ms_rw(struct scsi_cmnd *srb, struct rtsx_chip *chip,
|
||||
u32 start_sector, u16 sector_cnt)
|
||||
u32 start_sector, u16 sector_cnt)
|
||||
{
|
||||
struct ms_info *ms_card = &chip->ms_card;
|
||||
int retval;
|
||||
|
||||
if (CHK_MSPRO(ms_card))
|
||||
retval = mspro_rw_multi_sector(srb, chip, start_sector,
|
||||
sector_cnt);
|
||||
sector_cnt);
|
||||
else
|
||||
retval = ms_rw_multi_sector(srb, chip, start_sector,
|
||||
sector_cnt);
|
||||
sector_cnt);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -4189,7 +4201,7 @@ static int mg_send_ex_cmd(struct rtsx_chip *chip, u8 cmd, u8 entry_num)
|
|||
}
|
||||
|
||||
static int mg_set_tpc_para_sub(struct rtsx_chip *chip, int type,
|
||||
u8 mg_entry_num)
|
||||
u8 mg_entry_num)
|
||||
{
|
||||
int retval;
|
||||
u8 buf[6];
|
||||
|
@ -4306,7 +4318,7 @@ int mg_get_local_EKB(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
retval = ms_transfer_data(chip, MS_TM_AUTO_READ, PRO_READ_LONG_DATA,
|
||||
3, WAIT_INT, 0, 0, buf + 4, 1536);
|
||||
3, WAIT_INT, 0, 0, buf + 4, 1536);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun, SENSE_TYPE_MG_KEY_FAIL_NOT_AUTHEN);
|
||||
rtsx_clear_ms_error(chip);
|
||||
|
@ -4354,7 +4366,7 @@ int mg_chg(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
retval = ms_read_bytes(chip, PRO_READ_SHORT_DATA, 32, WAIT_INT,
|
||||
buf, 32);
|
||||
buf, 32);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun, SENSE_TYPE_MG_INCOMPATIBLE_MEDIUM);
|
||||
rtsx_trace(chip);
|
||||
|
@ -4437,7 +4449,7 @@ int mg_get_rsp_chg(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
retval = ms_read_bytes(chip, PRO_READ_SHORT_DATA, 32, WAIT_INT,
|
||||
buf1, 32);
|
||||
buf1, 32);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun, SENSE_TYPE_MG_KEY_FAIL_NOT_AUTHEN);
|
||||
rtsx_trace(chip);
|
||||
|
@ -4560,7 +4572,7 @@ int mg_get_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
}
|
||||
|
||||
retval = ms_transfer_data(chip, MS_TM_AUTO_READ, PRO_READ_LONG_DATA,
|
||||
2, WAIT_INT, 0, 0, buf + 4, 1024);
|
||||
2, WAIT_INT, 0, 0, buf + 4, 1024);
|
||||
if (retval != STATUS_SUCCESS) {
|
||||
set_sense_type(chip, lun, SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
|
||||
rtsx_clear_ms_error(chip);
|
||||
|
@ -4619,7 +4631,7 @@ int mg_set_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
SENSE_TYPE_MG_KEY_FAIL_NOT_ESTAB);
|
||||
else
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
} else {
|
||||
set_sense_type(chip, lun, SENSE_TYPE_MG_WRITE_ERR);
|
||||
}
|
||||
|
@ -4634,17 +4646,17 @@ int mg_set_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
rtsx_init_cmd(chip);
|
||||
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TPC,
|
||||
0xFF, PRO_WRITE_LONG_DATA);
|
||||
0xFF, PRO_WRITE_LONG_DATA);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TRANS_CFG, 0xFF, WAIT_INT);
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_DATA_SOURCE,
|
||||
0x01, RING_BUFFER);
|
||||
0x01, RING_BUFFER);
|
||||
|
||||
trans_dma_enable(DMA_TO_DEVICE, chip, 512, DMA_512);
|
||||
|
||||
rtsx_add_cmd(chip, WRITE_REG_CMD, MS_TRANSFER, 0xFF,
|
||||
MS_TRANSFER_START | MS_TM_NORMAL_WRITE);
|
||||
MS_TRANSFER_START | MS_TM_NORMAL_WRITE);
|
||||
rtsx_add_cmd(chip, CHECK_REG_CMD, MS_TRANSFER,
|
||||
MS_TRANSFER_END, MS_TRANSFER_END);
|
||||
MS_TRANSFER_END, MS_TRANSFER_END);
|
||||
|
||||
rtsx_send_cmd_no_wait(chip);
|
||||
|
||||
|
@ -4657,10 +4669,10 @@ int mg_set_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
set_sense_type(chip, lun, SENSE_TYPE_MG_KEY_FAIL_NOT_ESTAB);
|
||||
else
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
} else {
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
}
|
||||
retval = STATUS_FAIL;
|
||||
rtsx_trace(chip);
|
||||
|
@ -4669,7 +4681,7 @@ int mg_set_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
}
|
||||
#else
|
||||
retval = ms_transfer_data(chip, MS_TM_AUTO_WRITE, PRO_WRITE_LONG_DATA,
|
||||
2, WAIT_INT, 0, 0, buf + 4, 1024);
|
||||
2, WAIT_INT, 0, 0, buf + 4, 1024);
|
||||
if ((retval != STATUS_SUCCESS) || check_ms_err(chip)) {
|
||||
rtsx_clear_ms_error(chip);
|
||||
if (ms_card->mg_auth == 0) {
|
||||
|
@ -4678,7 +4690,7 @@ int mg_set_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
|
|||
SENSE_TYPE_MG_KEY_FAIL_NOT_ESTAB);
|
||||
else
|
||||
set_sense_type(chip, lun,
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
SENSE_TYPE_MG_WRITE_ERR);
|
||||
} else {
|
||||
set_sense_type(chip, lun, SENSE_TYPE_MG_WRITE_ERR);
|
||||
}
|
||||
|
@ -4706,7 +4718,7 @@ void ms_cleanup_work(struct rtsx_chip *chip)
|
|||
}
|
||||
if (CHK_MSHG(ms_card)) {
|
||||
rtsx_write_register(chip, MS_CFG,
|
||||
MS_2K_SECTOR_MODE, 0x00);
|
||||
MS_2K_SECTOR_MODE, 0x00);
|
||||
}
|
||||
}
|
||||
#ifdef MS_DELAY_WRITE
|
||||
|
|
Loading…
Reference in New Issue