Lines Matching defs:rtwsdio

28 static bool rtw_sdio_bus_claim_needed(struct rtw_sdio *rtwsdio)
30 return !rtwsdio->irq_thread ||
31 rtwsdio->irq_thread != current;
65 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
70 sdio_writel(rtwsdio->sdio_func, val, addr, err_ret);
77 sdio_writeb(rtwsdio->sdio_func, buf[i], addr + i, err_ret);
86 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
93 sdio_writeb(rtwsdio->sdio_func, buf[i], addr + i, err_ret);
101 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
106 return sdio_readl(rtwsdio->sdio_func, addr, err_ret);
109 buf[i] = sdio_readb(rtwsdio->sdio_func, addr + i, err_ret);
119 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
124 buf[i] = sdio_readb(rtwsdio->sdio_func, addr + i, err_ret);
152 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
166 tmp = sdio_readb(rtwsdio->sdio_func, reg_cfg + 2, &ret);
177 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
186 return sdio_readb(rtwsdio->sdio_func, reg_data, err_ret);
251 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
258 bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
261 sdio_claim_host(rtwsdio->sdio_func);
264 val = sdio_readb(rtwsdio->sdio_func, addr, &ret);
269 sdio_release_host(rtwsdio->sdio_func);
279 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
286 bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
289 sdio_claim_host(rtwsdio->sdio_func);
297 sdio_release_host(rtwsdio->sdio_func);
307 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
314 bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
317 sdio_claim_host(rtwsdio->sdio_func);
325 sdio_release_host(rtwsdio->sdio_func);
336 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
340 sdio_writeb(rtwsdio->sdio_func, val, reg_data, err_ret);
390 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
396 bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
399 sdio_claim_host(rtwsdio->sdio_func);
402 sdio_writeb(rtwsdio->sdio_func, val, addr, &ret);
407 sdio_release_host(rtwsdio->sdio_func);
415 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
421 bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
424 sdio_claim_host(rtwsdio->sdio_func);
432 sdio_release_host(rtwsdio->sdio_func);
440 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
446 bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
449 sdio_claim_host(rtwsdio->sdio_func);
457 sdio_release_host(rtwsdio->sdio_func);
502 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
503 struct mmc_host *host = rtwsdio->sdio_func->card->host;
504 bool bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
505 u32 rxaddr = rtwsdio->rx_addr++;
510 sdio_claim_host(rtwsdio->sdio_func);
515 err = sdio_memcpy_fromio(rtwsdio->sdio_func, buf,
539 sdio_release_host(rtwsdio->sdio_func);
631 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
641 txsize = sdio_align_size(rtwsdio->sdio_func, skb->len);
651 bus_claim = rtw_sdio_bus_claim_needed(rtwsdio);
654 sdio_claim_host(rtwsdio->sdio_func);
656 ret = sdio_memcpy_toio(rtwsdio->sdio_func, txaddr, skb->data, txsize);
659 sdio_release_host(rtwsdio->sdio_func);
671 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
673 rtwsdio->irq_mask = REG_SDIO_HIMR_RX_REQUEST | REG_SDIO_HIMR_CPWM1;
702 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
704 rtw_write32(rtwdev, REG_SDIO_HIMR, rtwsdio->irq_mask);
753 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
768 if (skb_queue_len(&rtwsdio->tx_queue[queue])) {
802 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
804 queue_work(rtwsdio->txwq, &rtwsdio->tx_handler_data->work);
915 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
924 skb_queue_tail(&rtwsdio->tx_queue[queue], skb);
958 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
969 bufsz = sdio_align_size(rtwsdio->sdio_func, rx_len);
1060 struct rtw_sdio *rtwsdio;
1065 rtwsdio = (struct rtw_sdio *)rtwdev->priv;
1067 rtwsdio->irq_thread = current;
1080 rtwsdio->irq_thread = NULL;
1107 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
1124 rtwsdio->sdio_func = sdio_func;
1126 rtwsdio->sdio3_bus_mode = mmc_card_uhs(sdio_func->card);
1213 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
1217 skb = skb_dequeue(&rtwsdio->tx_queue[queue]);
1223 skb_queue_head(&rtwsdio->tx_queue[queue], skb);
1237 struct rtw_sdio *rtwsdio;
1242 rtwsdio = (struct rtw_sdio *)rtwdev->priv;
1251 if (skb_queue_empty(&rtwsdio->tx_queue[queue]))
1267 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
1270 rtwsdio->txwq = create_singlethread_workqueue("rtw88_sdio: tx wq");
1271 if (!rtwsdio->txwq) {
1277 skb_queue_head_init(&rtwsdio->tx_queue[i]);
1278 rtwsdio->tx_handler_data = kmalloc(sizeof(*rtwsdio->tx_handler_data),
1280 if (!rtwsdio->tx_handler_data)
1283 rtwsdio->tx_handler_data->rtwdev = rtwdev;
1284 INIT_WORK(&rtwsdio->tx_handler_data->work, rtw_sdio_tx_handler);
1289 destroy_workqueue(rtwsdio->txwq);
1295 struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
1299 skb_queue_purge(&rtwsdio->tx_queue[i]);
1301 flush_workqueue(rtwsdio->txwq);
1302 destroy_workqueue(rtwsdio->txwq);
1303 kfree(rtwsdio->tx_handler_data);