Lines Matching defs:func

158 	struct sdio_func *func;
282 err = sdio_writesb(bdev->func, MTK_REG_CTDR, skb->data,
301 return sdio_readl(bdev->func, MTK_REG_CHLPCR, NULL);
313 sdio_claim_host(bdev->func);
324 sdio_release_host(bdev->func);
402 err = sdio_readsb(bdev->func, skb->data, MTK_REG_CRDR, rx_size);
480 static void btmtksdio_interrupt(struct sdio_func *func)
482 struct btmtksdio_dev *bdev = sdio_get_drvdata(func);
492 sdio_release_host(bdev->func);
496 sdio_claim_host(bdev->func);
499 sdio_writel(func, C_INT_EN_CLR, MTK_REG_CHLPCR, NULL);
501 int_status = sdio_readl(func, MTK_REG_CHISR, NULL);
512 sdio_writel(func, int_status, MTK_REG_CHISR, NULL);
533 sdio_writel(func, C_INT_EN_SET, MTK_REG_CHLPCR, NULL);
545 sdio_claim_host(bdev->func);
547 err = sdio_enable_func(bdev->func);
552 sdio_writel(bdev->func, C_FW_OWN_REQ_CLR, MTK_REG_CHLPCR, &err);
564 sdio_writel(bdev->func, C_INT_EN_CLR, MTK_REG_CHLPCR, &err);
568 sdio_writel(bdev->func, 0, MTK_REG_CHIER, &err);
572 err = sdio_claim_irq(bdev->func, btmtksdio_interrupt);
576 err = sdio_set_block_size(bdev->func, MTK_SDIO_BLOCK_SIZE);
583 sdio_writel(bdev->func, SDIO_INT_CTL | SDIO_RE_INIT_EN,
589 sdio_writel(bdev->func, C_INT_CLR_CTRL, MTK_REG_CHCR, &err);
594 sdio_writel(bdev->func, RX_DONE_INT | TX_EMPTY | TX_FIFO_OVERFLOW,
600 sdio_writel(bdev->func, C_INT_EN_SET, MTK_REG_CHLPCR, &err);
604 sdio_release_host(bdev->func);
609 sdio_release_irq(bdev->func);
612 sdio_disable_func(bdev->func);
615 sdio_release_host(bdev->func);
626 sdio_claim_host(bdev->func);
629 sdio_writel(bdev->func, C_INT_EN_CLR, MTK_REG_CHLPCR, NULL);
631 sdio_release_irq(bdev->func);
634 sdio_writel(bdev->func, C_FW_OWN_REQ_SET, MTK_REG_CHLPCR, NULL);
641 sdio_disable_func(bdev->func);
643 sdio_release_host(bdev->func);
834 bt_dev_err(hdev, "Failed to send wmt func ctrl (%d)", err);
902 bt_dev_err(hdev, "Failed to send wmt func ctrl (%d)", err);
940 static int btmtksdio_probe(struct sdio_func *func,
947 bdev = devm_kzalloc(&func->dev, sizeof(*bdev), GFP_KERNEL);
955 bdev->dev = &func->dev;
956 bdev->func = func;
964 dev_err(&func->dev, "Can't allocate HCI device\n");
979 SET_HCIDEV_DEV(hdev, &func->dev);
984 sdio_set_drvdata(func, bdev);
988 dev_err(&func->dev, "Can't register HCI device\n");
995 * runtime PM for this func such as the case host->caps &
1015 static void btmtksdio_remove(struct sdio_func *func)
1017 struct btmtksdio_dev *bdev = sdio_get_drvdata(func);
1028 sdio_set_drvdata(func, NULL);
1036 struct sdio_func *func = dev_to_sdio_func(dev);
1041 bdev = sdio_get_drvdata(func);
1045 sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER);
1047 sdio_claim_host(bdev->func);
1049 sdio_writel(bdev->func, C_FW_OWN_REQ_SET, MTK_REG_CHLPCR, &err);
1058 sdio_release_host(bdev->func);
1065 struct sdio_func *func = dev_to_sdio_func(dev);
1070 bdev = sdio_get_drvdata(func);
1074 sdio_claim_host(bdev->func);
1076 sdio_writel(bdev->func, C_FW_OWN_REQ_CLR, MTK_REG_CHLPCR, &err);
1085 sdio_release_host(bdev->func);