Lines Matching defs:mrvl

59 	struct mrvl_data *mrvl;
67 mrvl = kzalloc(sizeof(*mrvl), GFP_KERNEL);
68 if (!mrvl)
71 skb_queue_head_init(&mrvl->txq);
72 skb_queue_head_init(&mrvl->rawq);
74 set_bit(STATE_CHIP_VER_PENDING, &mrvl->flags);
76 hu->priv = mrvl;
86 kfree(mrvl);
93 struct mrvl_data *mrvl = hu->priv;
100 skb_queue_purge(&mrvl->txq);
101 skb_queue_purge(&mrvl->rawq);
102 kfree_skb(mrvl->rx_skb);
103 kfree(mrvl);
111 struct mrvl_data *mrvl = hu->priv;
115 skb_queue_purge(&mrvl->txq);
116 skb_queue_purge(&mrvl->rawq);
123 struct mrvl_data *mrvl = hu->priv;
126 skb = skb_dequeue(&mrvl->txq);
129 skb = skb_dequeue(&mrvl->rawq);
140 struct mrvl_data *mrvl = hu->priv;
142 skb_queue_tail(&mrvl->txq, skb);
148 struct mrvl_data *mrvl = hu->priv;
159 skb_queue_tail(&mrvl->txq, skb);
167 struct mrvl_data *mrvl = hu->priv;
171 bt_dev_err(hdev, "Corrupted mrvl header");
178 if (!test_bit(STATE_FW_REQ_PENDING, &mrvl->flags)) {
184 mrvl->tx_len = le16_to_cpu(pkt->lhs);
186 clear_bit(STATE_FW_REQ_PENDING, &mrvl->flags);
188 wake_up_bit(&mrvl->flags, STATE_FW_REQ_PENDING);
199 struct mrvl_data *mrvl = hu->priv;
204 bt_dev_err(hdev, "Corrupted mrvl header");
211 if (!test_bit(STATE_CHIP_VER_PENDING, &mrvl->flags)) {
216 mrvl->id = version;
217 mrvl->rev = version >> 8;
219 bt_dev_info(hdev, "Controller id = %x, rev = %x", mrvl->id, mrvl->rev);
221 clear_bit(STATE_CHIP_VER_PENDING, &mrvl->flags);
223 wake_up_bit(&mrvl->flags, STATE_CHIP_VER_PENDING);
254 struct mrvl_data *mrvl = hu->priv;
263 if (!test_bit(STATE_FW_REQ_PENDING, &mrvl->flags) &&
264 !test_bit(STATE_FW_LOADED, &mrvl->flags))
267 mrvl->rx_skb = h4_recv_buf(hu->hdev, mrvl->rx_skb, data, count,
270 if (IS_ERR(mrvl->rx_skb)) {
271 int err = PTR_ERR(mrvl->rx_skb);
273 mrvl->rx_skb = NULL;
283 struct mrvl_data *mrvl = hu->priv;
299 set_bit(STATE_FW_REQ_PENDING, &mrvl->flags);
307 err = wait_on_bit_timeout(&mrvl->flags, STATE_FW_REQ_PENDING,
321 mrvl->tx_len);
328 if (!mrvl->tx_len) {
337 if (fw_ptr + mrvl->tx_len > fw_max) {
338 mrvl->tx_len = fw_max - fw_ptr;
340 mrvl->tx_len);
343 skb = bt_skb_alloc(mrvl->tx_len, GFP_KERNEL);
351 skb_put_data(skb, fw_ptr, mrvl->tx_len);
352 fw_ptr += mrvl->tx_len;
354 set_bit(STATE_FW_REQ_PENDING, &mrvl->flags);
356 skb_queue_tail(&mrvl->rawq, skb);
367 struct mrvl_data *mrvl = hu->priv;
371 err = mrvl_load_firmware(hu->hdev, "mrvl/helper_uart_3000000.bin");
387 err = mrvl_load_firmware(hu->hdev, "mrvl/uart8897_bt.bin");
391 set_bit(STATE_FW_LOADED, &mrvl->flags);
399 struct mrvl_data *mrvl = hu->priv;
412 set_bit(STATE_FW_LOADED, &mrvl->flags);
489 { .compatible = "mrvl,88w8897", .data = &mrvl_proto_8897},
490 { .compatible = "mrvl,88w8997", .data = &mrvl_proto_8997},