• Home
  • Raw
  • Download

Lines Matching refs:sock

89 	struct tifm_dev *sock = host->dev;  in tifm_ms_read_data()  local
102 while (!(TIFM_MS_STAT_EMP & readl(sock->addr + SOCK_MS_STATUS))) { in tifm_ms_read_data()
105 *(unsigned int *)(buf + off) = __raw_readl(sock->addr in tifm_ms_read_data()
112 && !(TIFM_MS_STAT_EMP & readl(sock->addr + SOCK_MS_STATUS))) { in tifm_ms_read_data()
113 host->io_word = readl(sock->addr + SOCK_MS_DATA); in tifm_ms_read_data()
129 struct tifm_dev *sock = host->dev; in tifm_ms_write_data() local
141 && !(TIFM_MS_STAT_FUL & readl(sock->addr + SOCK_MS_STATUS))) { in tifm_ms_write_data()
142 writel(TIFM_MS_SYS_FDIR | readl(sock->addr + SOCK_MS_SYSTEM), in tifm_ms_write_data()
143 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_write_data()
144 writel(host->io_word, sock->addr + SOCK_MS_DATA); in tifm_ms_write_data()
154 while (!(TIFM_MS_STAT_FUL & readl(sock->addr + SOCK_MS_STATUS))) { in tifm_ms_write_data()
157 writel(TIFM_MS_SYS_FDIR | readl(sock->addr + SOCK_MS_SYSTEM), in tifm_ms_write_data()
158 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_write_data()
160 sock->addr + SOCK_MS_DATA); in tifm_ms_write_data()
184 struct tifm_dev *sock = host->dev; in tifm_ms_transfer_data() local
199 dev_dbg(&sock->dev, "fifo data transfer, %d, %d\n", length, in tifm_ms_transfer_data()
235 dev_dbg(&sock->dev, "fifo data transfer, %d remaining\n", length); in tifm_ms_transfer_data()
239 | readl(sock->addr + SOCK_MS_SYSTEM), in tifm_ms_transfer_data()
240 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_transfer_data()
241 writel(host->io_word, sock->addr + SOCK_MS_DATA); in tifm_ms_transfer_data()
244 | readl(sock->addr + SOCK_MS_SYSTEM), in tifm_ms_transfer_data()
245 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_transfer_data()
246 writel(0, sock->addr + SOCK_MS_DATA); in tifm_ms_transfer_data()
248 readl(sock->addr + SOCK_MS_DATA); in tifm_ms_transfer_data()
256 struct tifm_dev *sock = host->dev; in tifm_ms_issue_cmd() local
280 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); in tifm_ms_issue_cmd()
282 sock->addr + SOCK_FIFO_CONTROL); in tifm_ms_issue_cmd()
285 if (1 != tifm_map_sg(sock, &host->req->sg, 1, in tifm_ms_issue_cmd()
295 sock->addr + SOCK_FIFO_PAGE_SIZE); in tifm_ms_issue_cmd()
297 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET); in tifm_ms_issue_cmd()
303 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET); in tifm_ms_issue_cmd()
306 sock->addr + SOCK_DMA_ADDRESS); in tifm_ms_issue_cmd()
307 writel(sys_param, sock->addr + SOCK_DMA_CONTROL); in tifm_ms_issue_cmd()
310 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_issue_cmd()
313 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET); in tifm_ms_issue_cmd()
317 writel(TIFM_CTRL_LED | readl(sock->addr + SOCK_CONTROL), in tifm_ms_issue_cmd()
318 sock->addr + SOCK_CONTROL); in tifm_ms_issue_cmd()
321 sys_param = readl(sock->addr + SOCK_MS_SYSTEM); in tifm_ms_issue_cmd()
329 writel(sys_param, sock->addr + SOCK_MS_SYSTEM); in tifm_ms_issue_cmd()
333 writel(cmd, sock->addr + SOCK_MS_COMMAND); in tifm_ms_issue_cmd()
335 dev_dbg(&sock->dev, "executing TPC %x, %x\n", cmd, sys_param); in tifm_ms_issue_cmd()
341 struct tifm_dev *sock = host->dev; in tifm_ms_complete_cmd() local
342 struct memstick_host *msh = tifm_get_drvdata(sock); in tifm_ms_complete_cmd()
347 host->req->int_reg = readl(sock->addr + SOCK_MS_STATUS) & 0xff; in tifm_ms_complete_cmd()
352 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); in tifm_ms_complete_cmd()
353 writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL); in tifm_ms_complete_cmd()
356 tifm_unmap_sg(sock, &host->req->sg, 1, in tifm_ms_complete_cmd()
362 writel((~TIFM_CTRL_LED) & readl(sock->addr + SOCK_CONTROL), in tifm_ms_complete_cmd()
363 sock->addr + SOCK_CONTROL); in tifm_ms_complete_cmd()
365 dev_dbg(&sock->dev, "TPC complete\n"); in tifm_ms_complete_cmd()
386 static void tifm_ms_data_event(struct tifm_dev *sock) in tifm_ms_data_event() argument
392 spin_lock(&sock->lock); in tifm_ms_data_event()
393 host = memstick_priv((struct memstick_host *)tifm_get_drvdata(sock)); in tifm_ms_data_event()
394 fifo_status = readl(sock->addr + SOCK_DMA_FIFO_STATUS); in tifm_ms_data_event()
395 host_status = readl(sock->addr + SOCK_MS_STATUS); in tifm_ms_data_event()
396 dev_dbg(&sock->dev, in tifm_ms_data_event()
413 writel(fifo_status, sock->addr + SOCK_DMA_FIFO_STATUS); in tifm_ms_data_event()
417 spin_unlock(&sock->lock); in tifm_ms_data_event()
422 static void tifm_ms_card_event(struct tifm_dev *sock) in tifm_ms_card_event() argument
428 spin_lock(&sock->lock); in tifm_ms_card_event()
429 host = memstick_priv((struct memstick_host *)tifm_get_drvdata(sock)); in tifm_ms_card_event()
430 host_status = readl(sock->addr + SOCK_MS_STATUS); in tifm_ms_card_event()
431 dev_dbg(&sock->dev, "host event: host_status %x, flags %x\n", in tifm_ms_card_event()
450 writel(TIFM_MS_SYS_INTCLR | readl(sock->addr + SOCK_MS_SYSTEM), in tifm_ms_card_event()
451 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_card_event()
456 spin_unlock(&sock->lock); in tifm_ms_card_event()
464 struct tifm_dev *sock = host->dev; in tifm_ms_req_tasklet() local
468 spin_lock_irqsave(&sock->lock, flags); in tifm_ms_req_tasklet()
476 spin_unlock_irqrestore(&sock->lock, flags); in tifm_ms_req_tasklet()
484 spin_unlock_irqrestore(&sock->lock, flags); in tifm_ms_req_tasklet()
504 struct tifm_dev *sock = host->dev; in tifm_ms_set_param() local
511 writel(TIFM_MS_SYS_RESET, sock->addr + SOCK_MS_SYSTEM); in tifm_ms_set_param()
513 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_set_param()
514 writel(0xffffffff, sock->addr + SOCK_MS_STATUS); in tifm_ms_set_param()
517 sock->addr + SOCK_MS_SYSTEM); in tifm_ms_set_param()
518 writel(0xffffffff, sock->addr + SOCK_MS_STATUS); in tifm_ms_set_param()
526 & readl(sock->addr + SOCK_CONTROL), in tifm_ms_set_param()
527 sock->addr + SOCK_CONTROL); in tifm_ms_set_param()
531 | readl(sock->addr + SOCK_CONTROL), in tifm_ms_set_param()
532 sock->addr + SOCK_CONTROL); in tifm_ms_set_param()
556 static int tifm_ms_probe(struct tifm_dev *sock) in tifm_ms_probe() argument
563 & readl(sock->addr + SOCK_PRESENT_STATE))) { in tifm_ms_probe()
565 dev_name(&sock->dev)); in tifm_ms_probe()
569 msh = memstick_alloc_host(sizeof(struct tifm_ms), &sock->dev); in tifm_ms_probe()
574 tifm_set_drvdata(sock, msh); in tifm_ms_probe()
575 host->dev = sock; in tifm_ms_probe()
583 sock->card_event = tifm_ms_card_event; in tifm_ms_probe()
584 sock->data_event = tifm_ms_data_event; in tifm_ms_probe()
585 if (tifm_has_ms_pif(sock)) in tifm_ms_probe()
596 static void tifm_ms_remove(struct tifm_dev *sock) in tifm_ms_remove() argument
598 struct memstick_host *msh = tifm_get_drvdata(sock); in tifm_ms_remove()
605 spin_lock_irqsave(&sock->lock, flags); in tifm_ms_remove()
610 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); in tifm_ms_remove()
611 writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL); in tifm_ms_remove()
613 tifm_unmap_sg(sock, &host->req->sg, 1, in tifm_ms_remove()
625 spin_unlock_irqrestore(&sock->lock, flags); in tifm_ms_remove()
633 static int tifm_ms_suspend(struct tifm_dev *sock, pm_message_t state) in tifm_ms_suspend() argument
635 struct memstick_host *msh = tifm_get_drvdata(sock); in tifm_ms_suspend()
641 static int tifm_ms_resume(struct tifm_dev *sock) in tifm_ms_resume() argument
643 struct memstick_host *msh = tifm_get_drvdata(sock); in tifm_ms_resume()