diff options
Diffstat (limited to 'drivers/memstick')
-rw-r--r-- | drivers/memstick/core/memstick.c | 4 | ||||
-rw-r--r-- | drivers/memstick/core/mspro_block.c | 16 | ||||
-rw-r--r-- | drivers/memstick/host/tifm_ms.c | 19 |
3 files changed, 19 insertions, 20 deletions
diff --git a/drivers/memstick/core/memstick.c b/drivers/memstick/core/memstick.c index bba467fe4bce..5e0e960df456 100644 --- a/drivers/memstick/core/memstick.c +++ b/drivers/memstick/core/memstick.c | |||
@@ -271,7 +271,7 @@ void memstick_init_req_sg(struct memstick_request *mrq, unsigned char tpc, | |||
271 | mrq->data_dir = READ; | 271 | mrq->data_dir = READ; |
272 | 272 | ||
273 | mrq->sg = *sg; | 273 | mrq->sg = *sg; |
274 | mrq->io_type = MEMSTICK_IO_SG; | 274 | mrq->long_data = 1; |
275 | 275 | ||
276 | if (tpc == MS_TPC_SET_CMD || tpc == MS_TPC_EX_SET_CMD) | 276 | if (tpc == MS_TPC_SET_CMD || tpc == MS_TPC_EX_SET_CMD) |
277 | mrq->need_card_int = 1; | 277 | mrq->need_card_int = 1; |
@@ -306,7 +306,7 @@ void memstick_init_req(struct memstick_request *mrq, unsigned char tpc, | |||
306 | if (mrq->data_dir == WRITE) | 306 | if (mrq->data_dir == WRITE) |
307 | memcpy(mrq->data, buf, mrq->data_len); | 307 | memcpy(mrq->data, buf, mrq->data_len); |
308 | 308 | ||
309 | mrq->io_type = MEMSTICK_IO_VAL; | 309 | mrq->long_data = 0; |
310 | 310 | ||
311 | if (tpc == MS_TPC_SET_CMD || tpc == MS_TPC_EX_SET_CMD) | 311 | if (tpc == MS_TPC_SET_CMD || tpc == MS_TPC_EX_SET_CMD) |
312 | mrq->need_card_int = 1; | 312 | mrq->need_card_int = 1; |
diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/mspro_block.c index 423ad8cf4bb9..214211c8ac9a 100644 --- a/drivers/memstick/core/mspro_block.c +++ b/drivers/memstick/core/mspro_block.c | |||
@@ -629,7 +629,7 @@ static void mspro_block_process_request(struct memstick_dev *card, | |||
629 | param.system = msb->system; | 629 | param.system = msb->system; |
630 | param.data_count = cpu_to_be16(page_count); | 630 | param.data_count = cpu_to_be16(page_count); |
631 | param.data_address = cpu_to_be32((uint32_t)t_sec); | 631 | param.data_address = cpu_to_be32((uint32_t)t_sec); |
632 | param.cmd_param = 0; | 632 | param.tpc_param = 0; |
633 | 633 | ||
634 | msb->data_dir = rq_data_dir(req); | 634 | msb->data_dir = rq_data_dir(req); |
635 | msb->transfer_cmd = msb->data_dir == READ | 635 | msb->transfer_cmd = msb->data_dir == READ |
@@ -761,7 +761,7 @@ static int mspro_block_switch_to_parallel(struct memstick_dev *card) | |||
761 | .system = 0, | 761 | .system = 0, |
762 | .data_count = 0, | 762 | .data_count = 0, |
763 | .data_address = 0, | 763 | .data_address = 0, |
764 | .cmd_param = 0 | 764 | .tpc_param = 0 |
765 | }; | 765 | }; |
766 | 766 | ||
767 | card->next_request = h_mspro_block_req_init; | 767 | card->next_request = h_mspro_block_req_init; |
@@ -773,8 +773,8 @@ static int mspro_block_switch_to_parallel(struct memstick_dev *card) | |||
773 | if (card->current_mrq.error) | 773 | if (card->current_mrq.error) |
774 | return card->current_mrq.error; | 774 | return card->current_mrq.error; |
775 | 775 | ||
776 | msb->system = 0; | 776 | msb->system = MEMSTICK_SYS_PAR4; |
777 | host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_PARALLEL); | 777 | host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_PAR4); |
778 | 778 | ||
779 | card->next_request = h_mspro_block_req_init; | 779 | card->next_request = h_mspro_block_req_init; |
780 | msb->mrq_handler = h_mspro_block_default; | 780 | msb->mrq_handler = h_mspro_block_default; |
@@ -802,7 +802,7 @@ static int mspro_block_read_attributes(struct memstick_dev *card) | |||
802 | .system = msb->system, | 802 | .system = msb->system, |
803 | .data_count = cpu_to_be16(1), | 803 | .data_count = cpu_to_be16(1), |
804 | .data_address = 0, | 804 | .data_address = 0, |
805 | .cmd_param = 0 | 805 | .tpc_param = 0 |
806 | }; | 806 | }; |
807 | struct mspro_attribute *attr = NULL; | 807 | struct mspro_attribute *attr = NULL; |
808 | struct mspro_sys_attr *s_attr = NULL; | 808 | struct mspro_sys_attr *s_attr = NULL; |
@@ -922,7 +922,7 @@ static int mspro_block_read_attributes(struct memstick_dev *card) | |||
922 | param.system = msb->system; | 922 | param.system = msb->system; |
923 | param.data_count = cpu_to_be16((rc / msb->page_size) + 1); | 923 | param.data_count = cpu_to_be16((rc / msb->page_size) + 1); |
924 | param.data_address = cpu_to_be32(addr / msb->page_size); | 924 | param.data_address = cpu_to_be32(addr / msb->page_size); |
925 | param.cmd_param = 0; | 925 | param.tpc_param = 0; |
926 | 926 | ||
927 | sg_init_one(&msb->req_sg[0], buffer, | 927 | sg_init_one(&msb->req_sg[0], buffer, |
928 | be16_to_cpu(param.data_count) * msb->page_size); | 928 | be16_to_cpu(param.data_count) * msb->page_size); |
@@ -964,7 +964,7 @@ static int mspro_block_init_card(struct memstick_dev *card) | |||
964 | struct memstick_host *host = card->host; | 964 | struct memstick_host *host = card->host; |
965 | int rc = 0; | 965 | int rc = 0; |
966 | 966 | ||
967 | msb->system = 0x80; | 967 | msb->system = MEMSTICK_SYS_SERIAL; |
968 | card->reg_addr.r_offset = offsetof(struct mspro_register, status); | 968 | card->reg_addr.r_offset = offsetof(struct mspro_register, status); |
969 | card->reg_addr.r_length = sizeof(struct ms_status_register); | 969 | card->reg_addr.r_length = sizeof(struct ms_status_register); |
970 | card->reg_addr.w_offset = offsetof(struct mspro_register, param); | 970 | card->reg_addr.w_offset = offsetof(struct mspro_register, param); |
@@ -973,7 +973,7 @@ static int mspro_block_init_card(struct memstick_dev *card) | |||
973 | if (memstick_set_rw_addr(card)) | 973 | if (memstick_set_rw_addr(card)) |
974 | return -EIO; | 974 | return -EIO; |
975 | 975 | ||
976 | if (host->caps & MEMSTICK_CAP_PARALLEL) { | 976 | if (host->caps & MEMSTICK_CAP_PAR4) { |
977 | if (mspro_block_switch_to_parallel(card)) | 977 | if (mspro_block_switch_to_parallel(card)) |
978 | printk(KERN_WARNING "%s: could not switch to " | 978 | printk(KERN_WARNING "%s: could not switch to " |
979 | "parallel interface\n", card->dev.bus_id); | 979 | "parallel interface\n", card->dev.bus_id); |
diff --git a/drivers/memstick/host/tifm_ms.c b/drivers/memstick/host/tifm_ms.c index 4fb24215bd95..5b5bd61b3a4a 100644 --- a/drivers/memstick/host/tifm_ms.c +++ b/drivers/memstick/host/tifm_ms.c | |||
@@ -209,7 +209,7 @@ static int tifm_ms_issue_cmd(struct tifm_ms *host) | |||
209 | 209 | ||
210 | host->cmd_flags = 0; | 210 | host->cmd_flags = 0; |
211 | 211 | ||
212 | if (host->req->io_type == MEMSTICK_IO_SG) { | 212 | if (host->req->long_data) { |
213 | if (!host->no_dma) { | 213 | if (!host->no_dma) { |
214 | if (1 != tifm_map_sg(sock, &host->req->sg, 1, | 214 | if (1 != tifm_map_sg(sock, &host->req->sg, 1, |
215 | host->req->data_dir == READ | 215 | host->req->data_dir == READ |
@@ -248,7 +248,7 @@ static int tifm_ms_issue_cmd(struct tifm_ms *host) | |||
248 | cmd_mask = readl(sock->addr + SOCK_MS_SYSTEM); | 248 | cmd_mask = readl(sock->addr + SOCK_MS_SYSTEM); |
249 | cmd_mask |= TIFM_MS_SYS_DATA | TIFM_MS_SYS_NOT_RDY; | 249 | cmd_mask |= TIFM_MS_SYS_DATA | TIFM_MS_SYS_NOT_RDY; |
250 | writel(cmd_mask, sock->addr + SOCK_MS_SYSTEM); | 250 | writel(cmd_mask, sock->addr + SOCK_MS_SYSTEM); |
251 | } else if (host->req->io_type == MEMSTICK_IO_VAL) { | 251 | } else { |
252 | data = host->req->data; | 252 | data = host->req->data; |
253 | data_len = host->req->data_len; | 253 | data_len = host->req->data_len; |
254 | 254 | ||
@@ -294,8 +294,7 @@ static int tifm_ms_issue_cmd(struct tifm_ms *host) | |||
294 | cmd_mask |= TIFM_MS_SYS_NOT_RDY; | 294 | cmd_mask |= TIFM_MS_SYS_NOT_RDY; |
295 | dev_dbg(&sock->dev, "mask %x\n", cmd_mask); | 295 | dev_dbg(&sock->dev, "mask %x\n", cmd_mask); |
296 | writel(cmd_mask, sock->addr + SOCK_MS_SYSTEM); | 296 | writel(cmd_mask, sock->addr + SOCK_MS_SYSTEM); |
297 | } else | 297 | } |
298 | BUG(); | ||
299 | 298 | ||
300 | mod_timer(&host->timer, jiffies + host->timeout_jiffies); | 299 | mod_timer(&host->timer, jiffies + host->timeout_jiffies); |
301 | writel(TIFM_CTRL_LED | readl(sock->addr + SOCK_CONTROL), | 300 | writel(TIFM_CTRL_LED | readl(sock->addr + SOCK_CONTROL), |
@@ -319,13 +318,13 @@ static void tifm_ms_complete_cmd(struct tifm_ms *host) | |||
319 | int rc; | 318 | int rc; |
320 | 319 | ||
321 | del_timer(&host->timer); | 320 | del_timer(&host->timer); |
322 | if (host->req->io_type == MEMSTICK_IO_SG) { | 321 | if (host->req->long_data) { |
323 | if (!host->no_dma) | 322 | if (!host->no_dma) |
324 | tifm_unmap_sg(sock, &host->req->sg, 1, | 323 | tifm_unmap_sg(sock, &host->req->sg, 1, |
325 | host->req->data_dir == READ | 324 | host->req->data_dir == READ |
326 | ? PCI_DMA_FROMDEVICE | 325 | ? PCI_DMA_FROMDEVICE |
327 | : PCI_DMA_TODEVICE); | 326 | : PCI_DMA_TODEVICE); |
328 | } else if (host->req->io_type == MEMSTICK_IO_VAL) { | 327 | } else { |
329 | writel(~TIFM_MS_SYS_DATA & readl(sock->addr + SOCK_MS_SYSTEM), | 328 | writel(~TIFM_MS_SYS_DATA & readl(sock->addr + SOCK_MS_SYSTEM), |
330 | sock->addr + SOCK_MS_SYSTEM); | 329 | sock->addr + SOCK_MS_SYSTEM); |
331 | 330 | ||
@@ -365,7 +364,7 @@ static int tifm_ms_check_status(struct tifm_ms *host) | |||
365 | if (!host->req->error) { | 364 | if (!host->req->error) { |
366 | if (!(host->cmd_flags & CMD_READY)) | 365 | if (!(host->cmd_flags & CMD_READY)) |
367 | return 1; | 366 | return 1; |
368 | if ((host->req->io_type == MEMSTICK_IO_SG) | 367 | if (host->req->long_data |
369 | && !(host->cmd_flags & FIFO_READY)) | 368 | && !(host->cmd_flags & FIFO_READY)) |
370 | return 1; | 369 | return 1; |
371 | if (host->req->need_card_int | 370 | if (host->req->need_card_int |
@@ -505,7 +504,7 @@ static void tifm_ms_set_param(struct memstick_host *msh, | |||
505 | writel((~TIFM_CTRL_FAST_CLK) | 504 | writel((~TIFM_CTRL_FAST_CLK) |
506 | & readl(sock->addr + SOCK_CONTROL), | 505 | & readl(sock->addr + SOCK_CONTROL), |
507 | sock->addr + SOCK_CONTROL); | 506 | sock->addr + SOCK_CONTROL); |
508 | } else if (value == MEMSTICK_PARALLEL) { | 507 | } else if (value == MEMSTICK_PAR4) { |
509 | host->mode_mask = 0; | 508 | host->mode_mask = 0; |
510 | writel(TIFM_CTRL_FAST_CLK | 509 | writel(TIFM_CTRL_FAST_CLK |
511 | | readl(sock->addr + SOCK_CONTROL), | 510 | | readl(sock->addr + SOCK_CONTROL), |
@@ -542,7 +541,7 @@ static int tifm_ms_initialize_host(struct tifm_ms *host) | |||
542 | writel(0x0200 | TIFM_MS_SYS_NOT_RDY, sock->addr + SOCK_MS_SYSTEM); | 541 | writel(0x0200 | TIFM_MS_SYS_NOT_RDY, sock->addr + SOCK_MS_SYSTEM); |
543 | writel(0xffffffff, sock->addr + SOCK_MS_STATUS); | 542 | writel(0xffffffff, sock->addr + SOCK_MS_STATUS); |
544 | if (tifm_has_ms_pif(sock)) | 543 | if (tifm_has_ms_pif(sock)) |
545 | msh->caps |= MEMSTICK_CAP_PARALLEL; | 544 | msh->caps |= MEMSTICK_CAP_PAR4; |
546 | 545 | ||
547 | return 0; | 546 | return 0; |
548 | } | 547 | } |
@@ -601,7 +600,7 @@ static void tifm_ms_remove(struct tifm_dev *sock) | |||
601 | writel(TIFM_FIFO_INT_SETALL, | 600 | writel(TIFM_FIFO_INT_SETALL, |
602 | sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); | 601 | sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); |
603 | writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL); | 602 | writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL); |
604 | if ((host->req->io_type == MEMSTICK_IO_SG) && !host->no_dma) | 603 | if (host->req->long_data && !host->no_dma) |
605 | tifm_unmap_sg(sock, &host->req->sg, 1, | 604 | tifm_unmap_sg(sock, &host->req->sg, 1, |
606 | host->req->data_dir == READ | 605 | host->req->data_dir == READ |
607 | ? PCI_DMA_TODEVICE | 606 | ? PCI_DMA_TODEVICE |