• Home
  • Raw
  • Download

Lines Matching refs:sock

113 	struct tifm_dev *sock = host->dev;  in tifm_sd_read_fifo()  local
124 val = readl(sock->addr + SOCK_MMCSD_DATA); in tifm_sd_read_fifo()
139 struct tifm_dev *sock = host->dev; in tifm_sd_write_fifo() local
146 writel(val, sock->addr + SOCK_MMCSD_DATA); in tifm_sd_write_fifo()
158 writel(val, sock->addr + SOCK_MMCSD_DATA); in tifm_sd_write_fifo()
261 struct tifm_dev *sock = host->dev; in tifm_sd_set_dma_data() local
314 dev_dbg(&sock->dev, "setting dma for %d blocks\n", dma_blk_cnt); in tifm_sd_set_dma_data()
315 writel(sg_dma_address(sg) + dma_off, sock->addr + SOCK_DMA_ADDRESS); in tifm_sd_set_dma_data()
318 sock->addr + SOCK_DMA_CONTROL); in tifm_sd_set_dma_data()
321 sock->addr + SOCK_DMA_CONTROL); in tifm_sd_set_dma_data()
371 struct tifm_dev *sock = host->dev; in tifm_sd_exec() local
380 dev_dbg(&sock->dev, "executing opcode 0x%x, arg: 0x%x, mask: 0x%x\n", in tifm_sd_exec()
383 writel((cmd->arg >> 16) & 0xffff, sock->addr + SOCK_MMCSD_ARG_HIGH); in tifm_sd_exec()
384 writel(cmd->arg & 0xffff, sock->addr + SOCK_MMCSD_ARG_LOW); in tifm_sd_exec()
385 writel(cmd->opcode | cmd_mask, sock->addr + SOCK_MMCSD_COMMAND); in tifm_sd_exec()
388 static void tifm_sd_fetch_resp(struct mmc_command *cmd, struct tifm_dev *sock) in tifm_sd_fetch_resp() argument
390 cmd->resp[0] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x1c) << 16) in tifm_sd_fetch_resp()
391 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x18); in tifm_sd_fetch_resp()
392 cmd->resp[1] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x14) << 16) in tifm_sd_fetch_resp()
393 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x10); in tifm_sd_fetch_resp()
394 cmd->resp[2] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x0c) << 16) in tifm_sd_fetch_resp()
395 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x08); in tifm_sd_fetch_resp()
396 cmd->resp[3] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x04) << 16) in tifm_sd_fetch_resp()
397 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x00); in tifm_sd_fetch_resp()
402 struct tifm_dev *sock = host->dev; in tifm_sd_check_status() local
431 | readl(sock->addr in tifm_sd_check_status()
433 sock->addr in tifm_sd_check_status()
442 & readl(sock->addr in tifm_sd_check_status()
444 sock->addr in tifm_sd_check_status()
451 & readl(sock->addr in tifm_sd_check_status()
453 sock->addr + SOCK_MMCSD_INT_ENABLE); in tifm_sd_check_status()
473 static void tifm_sd_data_event(struct tifm_dev *sock) in tifm_sd_data_event() argument
479 spin_lock(&sock->lock); in tifm_sd_data_event()
480 host = mmc_priv((struct mmc_host*)tifm_get_drvdata(sock)); in tifm_sd_data_event()
481 fifo_status = readl(sock->addr + SOCK_DMA_FIFO_STATUS); in tifm_sd_data_event()
482 dev_dbg(&sock->dev, "data event: fifo_status %x, flags %x\n", in tifm_sd_data_event()
496 writel(fifo_status, sock->addr + SOCK_DMA_FIFO_STATUS); in tifm_sd_data_event()
497 spin_unlock(&sock->lock); in tifm_sd_data_event()
501 static void tifm_sd_card_event(struct tifm_dev *sock) in tifm_sd_card_event() argument
509 spin_lock(&sock->lock); in tifm_sd_card_event()
510 host = mmc_priv((struct mmc_host*)tifm_get_drvdata(sock)); in tifm_sd_card_event()
511 host_status = readl(sock->addr + SOCK_MMCSD_STATUS); in tifm_sd_card_event()
512 dev_dbg(&sock->dev, "host event: host_status %x, flags %x\n", in tifm_sd_card_event()
520 sock->addr + SOCK_MMCSD_STATUS); in tifm_sd_card_event()
534 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); in tifm_sd_card_event()
535 writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL); in tifm_sd_card_event()
553 tifm_sd_fetch_resp(cmd, sock); in tifm_sd_card_event()
557 sock); in tifm_sd_card_event()
567 sock->addr + SOCK_MMCSD_STATUS); in tifm_sd_card_event()
586 writel(host_status, sock->addr + SOCK_MMCSD_STATUS); in tifm_sd_card_event()
587 spin_unlock(&sock->lock); in tifm_sd_card_event()
593 struct tifm_dev *sock = host->dev; in tifm_sd_set_data_timeout() local
603 writel(data_timeout, sock->addr + SOCK_MMCSD_DATA_TO); in tifm_sd_set_data_timeout()
605 & readl(sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG), in tifm_sd_set_data_timeout()
606 sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG); in tifm_sd_set_data_timeout()
611 writel(data_timeout, sock->addr + SOCK_MMCSD_DATA_TO); in tifm_sd_set_data_timeout()
613 | readl(sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG), in tifm_sd_set_data_timeout()
614 sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG); in tifm_sd_set_data_timeout()
621 struct tifm_dev *sock = host->dev; in tifm_sd_request() local
625 spin_lock_irqsave(&sock->lock, flags); in tifm_sd_request()
633 dev_name(&sock->dev)); in tifm_sd_request()
652 | readl(sock->addr + SOCK_MMCSD_INT_ENABLE), in tifm_sd_request()
653 sock->addr + SOCK_MMCSD_INT_ENABLE); in tifm_sd_request()
657 | readl(sock->addr + SOCK_MMCSD_INT_ENABLE), in tifm_sd_request()
658 sock->addr + SOCK_MMCSD_INT_ENABLE); in tifm_sd_request()
661 sock->addr + SOCK_MMCSD_BUFFER_CONFIG); in tifm_sd_request()
668 if(1 != tifm_map_sg(sock, &host->bounce_buf, 1, in tifm_sd_request()
673 dev_name(&sock->dev)); in tifm_sd_request()
677 host->sg_len = tifm_map_sg(sock, r_data->sg, in tifm_sd_request()
685 dev_name(&sock->dev)); in tifm_sd_request()
686 tifm_unmap_sg(sock, &host->bounce_buf, 1, in tifm_sd_request()
695 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); in tifm_sd_request()
697 sock->addr + SOCK_FIFO_PAGE_SIZE); in tifm_sd_request()
699 sock->addr + SOCK_FIFO_CONTROL); in tifm_sd_request()
701 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET); in tifm_sd_request()
705 sock->addr + SOCK_MMCSD_BUFFER_CONFIG); in tifm_sd_request()
708 sock->addr + SOCK_MMCSD_BUFFER_CONFIG); in tifm_sd_request()
714 sock->addr + SOCK_MMCSD_NUM_BLOCKS); in tifm_sd_request()
716 sock->addr + SOCK_MMCSD_BLOCK_LEN); in tifm_sd_request()
721 writel(TIFM_CTRL_LED | readl(sock->addr + SOCK_CONTROL), in tifm_sd_request()
722 sock->addr + SOCK_CONTROL); in tifm_sd_request()
724 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_request()
728 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_request()
735 struct tifm_dev *sock = host->dev; in tifm_sd_end_cmd() local
736 struct mmc_host *mmc = tifm_get_drvdata(sock); in tifm_sd_end_cmd()
741 spin_lock_irqsave(&sock->lock, flags); in tifm_sd_end_cmd()
749 dev_name(&sock->dev)); in tifm_sd_end_cmd()
750 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_end_cmd()
758 & readl(sock->addr + SOCK_MMCSD_INT_ENABLE), in tifm_sd_end_cmd()
759 sock->addr + SOCK_MMCSD_INT_ENABLE); in tifm_sd_end_cmd()
761 tifm_unmap_sg(sock, &host->bounce_buf, 1, in tifm_sd_end_cmd()
764 tifm_unmap_sg(sock, r_data->sg, r_data->sg_len, in tifm_sd_end_cmd()
770 - readl(sock->addr + SOCK_MMCSD_NUM_BLOCKS) - 1; in tifm_sd_end_cmd()
773 - readl(sock->addr + SOCK_MMCSD_BLOCK_LEN) + 1; in tifm_sd_end_cmd()
776 writel((~TIFM_CTRL_LED) & readl(sock->addr + SOCK_CONTROL), in tifm_sd_end_cmd()
777 sock->addr + SOCK_CONTROL); in tifm_sd_end_cmd()
779 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_end_cmd()
797 struct tifm_dev *sock = host->dev; in tifm_sd_ios() local
801 spin_lock_irqsave(&sock->lock, flags); in tifm_sd_ios()
803 dev_dbg(&sock->dev, "ios: clock = %u, vdd = %x, bus_mode = %x, " in tifm_sd_ios()
809 writel(TIFM_MMCSD_4BBUS | readl(sock->addr + SOCK_MMCSD_CONFIG), in tifm_sd_ios()
810 sock->addr + SOCK_MMCSD_CONFIG); in tifm_sd_ios()
813 & readl(sock->addr + SOCK_MMCSD_CONFIG), in tifm_sd_ios()
814 sock->addr + SOCK_MMCSD_CONFIG); in tifm_sd_ios()
834 & readl(sock->addr + SOCK_CONTROL), in tifm_sd_ios()
835 sock->addr + SOCK_CONTROL); in tifm_sd_ios()
840 | readl(sock->addr + SOCK_CONTROL), in tifm_sd_ios()
841 sock->addr + SOCK_CONTROL); in tifm_sd_ios()
849 & readl(sock->addr + SOCK_MMCSD_CONFIG)), in tifm_sd_ios()
850 sock->addr + SOCK_MMCSD_CONFIG); in tifm_sd_ios()
858 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_ios()
865 struct tifm_dev *sock = host->dev; in tifm_sd_ro() local
868 spin_lock_irqsave(&sock->lock, flags); in tifm_sd_ro()
869 if (TIFM_MMCSD_CARD_RO & readl(sock->addr + SOCK_PRESENT_STATE)) in tifm_sd_ro()
871 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_ro()
885 struct tifm_dev *sock = host->dev; in tifm_sd_initialize_host() local
887 writel(0, sock->addr + SOCK_MMCSD_INT_ENABLE); in tifm_sd_initialize_host()
890 writel(TIFM_MMCSD_RESET, sock->addr + SOCK_MMCSD_SYSTEM_CONTROL); in tifm_sd_initialize_host()
892 sock->addr + SOCK_MMCSD_CONFIG); in tifm_sd_initialize_host()
896 if (1 & readl(sock->addr + SOCK_MMCSD_SYSTEM_STATUS)) { in tifm_sd_initialize_host()
905 dev_name(&sock->dev)); in tifm_sd_initialize_host()
909 writel(0, sock->addr + SOCK_MMCSD_NUM_BLOCKS); in tifm_sd_initialize_host()
911 sock->addr + SOCK_MMCSD_CONFIG); in tifm_sd_initialize_host()
912 writel(TIFM_MMCSD_RXDE, sock->addr + SOCK_MMCSD_BUFFER_CONFIG); in tifm_sd_initialize_host()
915 writel(64, sock->addr + SOCK_MMCSD_COMMAND_TO); in tifm_sd_initialize_host()
916 writel(TIFM_MMCSD_INAB, sock->addr + SOCK_MMCSD_COMMAND); in tifm_sd_initialize_host()
919 host_status = readl(sock->addr + SOCK_MMCSD_STATUS); in tifm_sd_initialize_host()
920 writel(host_status, sock->addr + SOCK_MMCSD_STATUS); in tifm_sd_initialize_host()
931 dev_name(&sock->dev)); in tifm_sd_initialize_host()
937 sock->addr + SOCK_MMCSD_INT_ENABLE); in tifm_sd_initialize_host()
942 static int tifm_sd_probe(struct tifm_dev *sock) in tifm_sd_probe() argument
949 & readl(sock->addr + SOCK_PRESENT_STATE))) { in tifm_sd_probe()
951 dev_name(&sock->dev)); in tifm_sd_probe()
955 mmc = mmc_alloc_host(sizeof(struct tifm_sd), &sock->dev); in tifm_sd_probe()
960 tifm_set_drvdata(sock, mmc); in tifm_sd_probe()
961 host->dev = sock; in tifm_sd_probe()
980 sock->card_event = tifm_sd_card_event; in tifm_sd_probe()
981 sock->data_event = tifm_sd_data_event; in tifm_sd_probe()
993 static void tifm_sd_remove(struct tifm_dev *sock) in tifm_sd_remove() argument
995 struct mmc_host *mmc = tifm_get_drvdata(sock); in tifm_sd_remove()
999 spin_lock_irqsave(&sock->lock, flags); in tifm_sd_remove()
1001 writel(0, sock->addr + SOCK_MMCSD_INT_ENABLE); in tifm_sd_remove()
1002 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_remove()
1006 spin_lock_irqsave(&sock->lock, flags); in tifm_sd_remove()
1009 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR); in tifm_sd_remove()
1010 writel(0, sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET); in tifm_sd_remove()
1016 spin_unlock_irqrestore(&sock->lock, flags); in tifm_sd_remove()
1018 dev_dbg(&sock->dev, "after remove\n"); in tifm_sd_remove()
1025 static int tifm_sd_suspend(struct tifm_dev *sock, pm_message_t state) in tifm_sd_suspend() argument
1030 static int tifm_sd_resume(struct tifm_dev *sock) in tifm_sd_resume() argument
1032 struct mmc_host *mmc = tifm_get_drvdata(sock); in tifm_sd_resume()
1037 dev_dbg(&sock->dev, "resume initialize %d\n", rc); in tifm_sd_resume()