Lines Matching refs:btcvsd

1278 	struct mtk_btcvsd_snd *btcvsd;  in mtk_btcvsd_snd_probe()  local
1282 btcvsd = devm_kzalloc(dev, sizeof(*btcvsd), GFP_KERNEL); in mtk_btcvsd_snd_probe()
1283 if (!btcvsd) in mtk_btcvsd_snd_probe()
1285 platform_set_drvdata(pdev, btcvsd); in mtk_btcvsd_snd_probe()
1286 btcvsd->dev = dev; in mtk_btcvsd_snd_probe()
1289 btcvsd->rx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->rx), GFP_KERNEL); in mtk_btcvsd_snd_probe()
1290 if (!btcvsd->rx) in mtk_btcvsd_snd_probe()
1293 btcvsd->tx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->tx), GFP_KERNEL); in mtk_btcvsd_snd_probe()
1294 if (!btcvsd->tx) in mtk_btcvsd_snd_probe()
1297 spin_lock_init(&btcvsd->tx_lock); in mtk_btcvsd_snd_probe()
1298 spin_lock_init(&btcvsd->rx_lock); in mtk_btcvsd_snd_probe()
1300 init_waitqueue_head(&btcvsd->tx_wait); in mtk_btcvsd_snd_probe()
1301 init_waitqueue_head(&btcvsd->rx_wait); in mtk_btcvsd_snd_probe()
1303 mtk_btcvsd_snd_tx_init(btcvsd); in mtk_btcvsd_snd_probe()
1304 mtk_btcvsd_snd_rx_init(btcvsd); in mtk_btcvsd_snd_probe()
1313 (void *)btcvsd); in mtk_btcvsd_snd_probe()
1319 btcvsd->irq_id = irq_id; in mtk_btcvsd_snd_probe()
1322 btcvsd->bt_pkv_base = of_iomap(dev->of_node, 0); in mtk_btcvsd_snd_probe()
1323 if (!btcvsd->bt_pkv_base) { in mtk_btcvsd_snd_probe()
1328 btcvsd->bt_sram_bank2_base = of_iomap(dev->of_node, 1); in mtk_btcvsd_snd_probe()
1329 if (!btcvsd->bt_sram_bank2_base) { in mtk_btcvsd_snd_probe()
1335 btcvsd->infra = syscon_regmap_lookup_by_phandle(dev->of_node, in mtk_btcvsd_snd_probe()
1337 if (IS_ERR(btcvsd->infra)) { in mtk_btcvsd_snd_probe()
1339 PTR_ERR(btcvsd->infra)); in mtk_btcvsd_snd_probe()
1340 ret = PTR_ERR(btcvsd->infra); in mtk_btcvsd_snd_probe()
1352 btcvsd->infra_misc_offset = offset[0]; in mtk_btcvsd_snd_probe()
1353 btcvsd->conn_bt_cvsd_mask = offset[1]; in mtk_btcvsd_snd_probe()
1354 btcvsd->cvsd_mcu_read_offset = offset[2]; in mtk_btcvsd_snd_probe()
1355 btcvsd->cvsd_mcu_write_offset = offset[3]; in mtk_btcvsd_snd_probe()
1356 btcvsd->cvsd_packet_indicator = offset[4]; in mtk_btcvsd_snd_probe()
1358 btcvsd->bt_reg_pkt_r = btcvsd->bt_pkv_base + in mtk_btcvsd_snd_probe()
1359 btcvsd->cvsd_mcu_read_offset; in mtk_btcvsd_snd_probe()
1360 btcvsd->bt_reg_pkt_w = btcvsd->bt_pkv_base + in mtk_btcvsd_snd_probe()
1361 btcvsd->cvsd_mcu_write_offset; in mtk_btcvsd_snd_probe()
1362 btcvsd->bt_reg_ctl = btcvsd->bt_pkv_base + in mtk_btcvsd_snd_probe()
1363 btcvsd->cvsd_packet_indicator; in mtk_btcvsd_snd_probe()
1366 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->tx, BT_SCO_STATE_IDLE); in mtk_btcvsd_snd_probe()
1367 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->rx, BT_SCO_STATE_IDLE); in mtk_btcvsd_snd_probe()
1377 iounmap(btcvsd->bt_sram_bank2_base); in mtk_btcvsd_snd_probe()
1379 iounmap(btcvsd->bt_pkv_base); in mtk_btcvsd_snd_probe()
1385 struct mtk_btcvsd_snd *btcvsd = dev_get_drvdata(&pdev->dev); in mtk_btcvsd_snd_remove() local
1387 iounmap(btcvsd->bt_pkv_base); in mtk_btcvsd_snd_remove()
1388 iounmap(btcvsd->bt_sram_bank2_base); in mtk_btcvsd_snd_remove()