Lines Matching refs:sock
115 struct tifm_dev *sock = host->dev;
126 val = readl(sock->addr + SOCK_MMCSD_DATA);
141 struct tifm_dev *sock = host->dev;
148 writel(val, sock->addr + SOCK_MMCSD_DATA);
160 writel(val, sock->addr + SOCK_MMCSD_DATA);
263 struct tifm_dev *sock = host->dev;
311 dev_dbg(&sock->dev, "setting dma for %d blocks\n", dma_blk_cnt);
312 writel(sg_dma_address(sg) + dma_off, sock->addr + SOCK_DMA_ADDRESS);
315 sock->addr + SOCK_DMA_CONTROL);
318 sock->addr + SOCK_DMA_CONTROL);
368 struct tifm_dev *sock = host->dev;
377 dev_dbg(&sock->dev, "executing opcode 0x%x, arg: 0x%x, mask: 0x%x\n",
380 writel((cmd->arg >> 16) & 0xffff, sock->addr + SOCK_MMCSD_ARG_HIGH);
381 writel(cmd->arg & 0xffff, sock->addr + SOCK_MMCSD_ARG_LOW);
382 writel(cmd->opcode | cmd_mask, sock->addr + SOCK_MMCSD_COMMAND);
385 static void tifm_sd_fetch_resp(struct mmc_command *cmd, struct tifm_dev *sock)
387 cmd->resp[0] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x1c) << 16)
388 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x18);
389 cmd->resp[1] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x14) << 16)
390 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x10);
391 cmd->resp[2] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x0c) << 16)
392 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x08);
393 cmd->resp[3] = (readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x04) << 16)
394 | readl(sock->addr + SOCK_MMCSD_RESPONSE + 0x00);
399 struct tifm_dev *sock = host->dev;
428 | readl(sock->addr
430 sock->addr
439 & readl(sock->addr
441 sock->addr
448 & readl(sock->addr
450 sock->addr + SOCK_MMCSD_INT_ENABLE);
470 static void tifm_sd_data_event(struct tifm_dev *sock)
476 spin_lock(&sock->lock);
477 host = mmc_priv((struct mmc_host*)tifm_get_drvdata(sock));
478 fifo_status = readl(sock->addr + SOCK_DMA_FIFO_STATUS);
479 dev_dbg(&sock->dev, "data event: fifo_status %x, flags %x\n",
493 writel(fifo_status, sock->addr + SOCK_DMA_FIFO_STATUS);
494 spin_unlock(&sock->lock);
498 static void tifm_sd_card_event(struct tifm_dev *sock)
505 spin_lock(&sock->lock);
506 host = mmc_priv((struct mmc_host*)tifm_get_drvdata(sock));
507 host_status = readl(sock->addr + SOCK_MMCSD_STATUS);
508 dev_dbg(&sock->dev, "host event: host_status %x, flags %x\n",
516 sock->addr + SOCK_MMCSD_STATUS);
530 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR);
531 writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL);
549 tifm_sd_fetch_resp(cmd, sock);
553 sock);
563 sock->addr + SOCK_MMCSD_STATUS);
580 writel(host_status, sock->addr + SOCK_MMCSD_STATUS);
581 spin_unlock(&sock->lock);
587 struct tifm_dev *sock = host->dev;
597 writel(data_timeout, sock->addr + SOCK_MMCSD_DATA_TO);
599 & readl(sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG),
600 sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG);
605 writel(data_timeout, sock->addr + SOCK_MMCSD_DATA_TO);
607 | readl(sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG),
608 sock->addr + SOCK_MMCSD_SDIO_MODE_CONFIG);
615 struct tifm_dev *sock = host->dev;
619 spin_lock_irqsave(&sock->lock, flags);
627 dev_name(&sock->dev));
646 | readl(sock->addr + SOCK_MMCSD_INT_ENABLE),
647 sock->addr + SOCK_MMCSD_INT_ENABLE);
651 | readl(sock->addr + SOCK_MMCSD_INT_ENABLE),
652 sock->addr + SOCK_MMCSD_INT_ENABLE);
655 sock->addr + SOCK_MMCSD_BUFFER_CONFIG);
662 if(1 != tifm_map_sg(sock, &host->bounce_buf, 1,
667 dev_name(&sock->dev));
671 host->sg_len = tifm_map_sg(sock, r_data->sg,
679 dev_name(&sock->dev));
680 tifm_unmap_sg(sock, &host->bounce_buf, 1,
689 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR);
691 sock->addr + SOCK_FIFO_PAGE_SIZE);
693 sock->addr + SOCK_FIFO_CONTROL);
695 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET);
699 sock->addr + SOCK_MMCSD_BUFFER_CONFIG);
702 sock->addr + SOCK_MMCSD_BUFFER_CONFIG);
708 sock->addr + SOCK_MMCSD_NUM_BLOCKS);
710 sock->addr + SOCK_MMCSD_BLOCK_LEN);
715 writel(TIFM_CTRL_LED | readl(sock->addr + SOCK_CONTROL),
716 sock->addr + SOCK_CONTROL);
718 spin_unlock_irqrestore(&sock->lock, flags);
722 spin_unlock_irqrestore(&sock->lock, flags);
729 struct tifm_dev *sock = host->dev;
730 struct mmc_host *mmc = tifm_get_drvdata(sock);
735 spin_lock_irqsave(&sock->lock, flags);
743 dev_name(&sock->dev));
744 spin_unlock_irqrestore(&sock->lock, flags);
752 & readl(sock->addr + SOCK_MMCSD_INT_ENABLE),
753 sock->addr + SOCK_MMCSD_INT_ENABLE);
755 tifm_unmap_sg(sock, &host->bounce_buf, 1,
758 tifm_unmap_sg(sock, r_data->sg, r_data->sg_len,
764 - readl(sock->addr + SOCK_MMCSD_NUM_BLOCKS) - 1;
767 - readl(sock->addr + SOCK_MMCSD_BLOCK_LEN) + 1;
770 writel((~TIFM_CTRL_LED) & readl(sock->addr + SOCK_CONTROL),
771 sock->addr + SOCK_CONTROL);
773 spin_unlock_irqrestore(&sock->lock, flags);
791 struct tifm_dev *sock = host->dev;
795 spin_lock_irqsave(&sock->lock, flags);
797 dev_dbg(&sock->dev, "ios: clock = %u, vdd = %x, bus_mode = %x, "
803 writel(TIFM_MMCSD_4BBUS | readl(sock->addr + SOCK_MMCSD_CONFIG),
804 sock->addr + SOCK_MMCSD_CONFIG);
807 & readl(sock->addr + SOCK_MMCSD_CONFIG),
808 sock->addr + SOCK_MMCSD_CONFIG);
828 & readl(sock->addr + SOCK_CONTROL),
829 sock->addr + SOCK_CONTROL);
834 | readl(sock->addr + SOCK_CONTROL),
835 sock->addr + SOCK_CONTROL);
843 & readl(sock->addr + SOCK_MMCSD_CONFIG)),
844 sock->addr + SOCK_MMCSD_CONFIG);
852 spin_unlock_irqrestore(&sock->lock, flags);
859 struct tifm_dev *sock = host->dev;
862 spin_lock_irqsave(&sock->lock, flags);
863 if (TIFM_MMCSD_CARD_RO & readl(sock->addr + SOCK_PRESENT_STATE))
865 spin_unlock_irqrestore(&sock->lock, flags);
879 struct tifm_dev *sock = host->dev;
881 writel(0, sock->addr + SOCK_MMCSD_INT_ENABLE);
884 writel(TIFM_MMCSD_RESET, sock->addr + SOCK_MMCSD_SYSTEM_CONTROL);
886 sock->addr + SOCK_MMCSD_CONFIG);
890 if (1 & readl(sock->addr + SOCK_MMCSD_SYSTEM_STATUS)) {
899 dev_name(&sock->dev));
903 writel(0, sock->addr + SOCK_MMCSD_NUM_BLOCKS);
905 sock->addr + SOCK_MMCSD_CONFIG);
906 writel(TIFM_MMCSD_RXDE, sock->addr + SOCK_MMCSD_BUFFER_CONFIG);
909 writel(64, sock->addr + SOCK_MMCSD_COMMAND_TO);
910 writel(TIFM_MMCSD_INAB, sock->addr + SOCK_MMCSD_COMMAND);
913 host_status = readl(sock->addr + SOCK_MMCSD_STATUS);
914 writel(host_status, sock->addr + SOCK_MMCSD_STATUS);
925 dev_name(&sock->dev));
931 sock->addr + SOCK_MMCSD_INT_ENABLE);
936 static int tifm_sd_probe(struct tifm_dev *sock)
943 & readl(sock->addr + SOCK_PRESENT_STATE))) {
945 dev_name(&sock->dev));
949 mmc = mmc_alloc_host(sizeof(struct tifm_sd), &sock->dev);
954 tifm_set_drvdata(sock, mmc);
955 host->dev = sock;
978 sock->card_event = tifm_sd_card_event;
979 sock->data_event = tifm_sd_data_event;
991 static void tifm_sd_remove(struct tifm_dev *sock)
993 struct mmc_host *mmc = tifm_get_drvdata(sock);
997 spin_lock_irqsave(&sock->lock, flags);
999 writel(0, sock->addr + SOCK_MMCSD_INT_ENABLE);
1000 spin_unlock_irqrestore(&sock->lock, flags);
1004 spin_lock_irqsave(&sock->lock, flags);
1007 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR);
1008 writel(0, sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET);
1014 spin_unlock_irqrestore(&sock->lock, flags);
1016 dev_dbg(&sock->dev, "after remove\n");
1023 static int tifm_sd_suspend(struct tifm_dev *sock, pm_message_t state)
1028 static int tifm_sd_resume(struct tifm_dev *sock)
1030 struct mmc_host *mmc = tifm_get_drvdata(sock);
1035 dev_dbg(&sock->dev, "resume initialize %d\n", rc);