Lines Matching refs:btcvsd

1285 	struct mtk_btcvsd_snd *btcvsd;  in mtk_btcvsd_snd_probe()  local
1289 btcvsd = devm_kzalloc(dev, sizeof(*btcvsd), GFP_KERNEL); in mtk_btcvsd_snd_probe()
1290 if (!btcvsd) in mtk_btcvsd_snd_probe()
1292 platform_set_drvdata(pdev, btcvsd); in mtk_btcvsd_snd_probe()
1293 btcvsd->dev = dev; in mtk_btcvsd_snd_probe()
1296 btcvsd->rx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->rx), GFP_KERNEL); in mtk_btcvsd_snd_probe()
1297 if (!btcvsd->rx) in mtk_btcvsd_snd_probe()
1300 btcvsd->tx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->tx), GFP_KERNEL); in mtk_btcvsd_snd_probe()
1301 if (!btcvsd->tx) in mtk_btcvsd_snd_probe()
1304 spin_lock_init(&btcvsd->tx_lock); in mtk_btcvsd_snd_probe()
1305 spin_lock_init(&btcvsd->rx_lock); in mtk_btcvsd_snd_probe()
1307 init_waitqueue_head(&btcvsd->tx_wait); in mtk_btcvsd_snd_probe()
1308 init_waitqueue_head(&btcvsd->rx_wait); in mtk_btcvsd_snd_probe()
1310 mtk_btcvsd_snd_tx_init(btcvsd); in mtk_btcvsd_snd_probe()
1311 mtk_btcvsd_snd_rx_init(btcvsd); in mtk_btcvsd_snd_probe()
1320 (void *)btcvsd); in mtk_btcvsd_snd_probe()
1326 btcvsd->irq_id = irq_id; in mtk_btcvsd_snd_probe()
1329 btcvsd->bt_pkv_base = of_iomap(dev->of_node, 0); in mtk_btcvsd_snd_probe()
1330 if (!btcvsd->bt_pkv_base) { in mtk_btcvsd_snd_probe()
1335 btcvsd->bt_sram_bank2_base = of_iomap(dev->of_node, 1); in mtk_btcvsd_snd_probe()
1336 if (!btcvsd->bt_sram_bank2_base) { in mtk_btcvsd_snd_probe()
1342 btcvsd->infra = syscon_regmap_lookup_by_phandle(dev->of_node, in mtk_btcvsd_snd_probe()
1344 if (IS_ERR(btcvsd->infra)) { in mtk_btcvsd_snd_probe()
1346 PTR_ERR(btcvsd->infra)); in mtk_btcvsd_snd_probe()
1347 ret = PTR_ERR(btcvsd->infra); in mtk_btcvsd_snd_probe()
1359 btcvsd->infra_misc_offset = offset[0]; in mtk_btcvsd_snd_probe()
1360 btcvsd->conn_bt_cvsd_mask = offset[1]; in mtk_btcvsd_snd_probe()
1361 btcvsd->cvsd_mcu_read_offset = offset[2]; in mtk_btcvsd_snd_probe()
1362 btcvsd->cvsd_mcu_write_offset = offset[3]; in mtk_btcvsd_snd_probe()
1363 btcvsd->cvsd_packet_indicator = offset[4]; in mtk_btcvsd_snd_probe()
1365 btcvsd->bt_reg_pkt_r = btcvsd->bt_pkv_base + in mtk_btcvsd_snd_probe()
1366 btcvsd->cvsd_mcu_read_offset; in mtk_btcvsd_snd_probe()
1367 btcvsd->bt_reg_pkt_w = btcvsd->bt_pkv_base + in mtk_btcvsd_snd_probe()
1368 btcvsd->cvsd_mcu_write_offset; in mtk_btcvsd_snd_probe()
1369 btcvsd->bt_reg_ctl = btcvsd->bt_pkv_base + in mtk_btcvsd_snd_probe()
1370 btcvsd->cvsd_packet_indicator; in mtk_btcvsd_snd_probe()
1373 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->tx, BT_SCO_STATE_IDLE); in mtk_btcvsd_snd_probe()
1374 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->rx, BT_SCO_STATE_IDLE); in mtk_btcvsd_snd_probe()
1384 iounmap(btcvsd->bt_sram_bank2_base); in mtk_btcvsd_snd_probe()
1386 iounmap(btcvsd->bt_pkv_base); in mtk_btcvsd_snd_probe()
1392 struct mtk_btcvsd_snd *btcvsd = dev_get_drvdata(&pdev->dev); in mtk_btcvsd_snd_remove() local
1394 iounmap(btcvsd->bt_pkv_base); in mtk_btcvsd_snd_remove()
1395 iounmap(btcvsd->bt_sram_bank2_base); in mtk_btcvsd_snd_remove()