diff options
Diffstat (limited to 'drivers/memstick/host/tifm_ms.c')
-rw-r--r-- | drivers/memstick/host/tifm_ms.c | 19 |
1 files changed, 9 insertions, 10 deletions
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 |