• Home
  • Raw
  • Download

Lines Matching refs:sdio

38 	struct mt76_sdio *sdio = &dev->sdio;  in mt7663s_refill_sched_quota()  local
49 sdio->sched.pse_mcu_quota += pse_mcu_quota; in mt7663s_refill_sched_quota()
50 sdio->sched.pse_data_quota += pse_data_quota; in mt7663s_refill_sched_quota()
51 sdio->sched.ple_data_quota += ple_data_quota; in mt7663s_refill_sched_quota()
85 struct mt76_sdio *sdio = &dev->sdio; in mt7663s_rx_run_queue() local
96 if (len > sdio->func->cur_blksize) in mt7663s_rx_run_queue()
97 len = roundup(len, sdio->func->cur_blksize); in mt7663s_rx_run_queue()
105 err = sdio_readsb(sdio->func, buf, MCR_WRDR(qid), len); in mt7663s_rx_run_queue()
137 struct mt76_sdio *sdio = &dev->sdio; in mt7663s_rx_handler() local
138 struct mt76s_intr *intr = sdio->intr_data; in mt7663s_rx_handler()
141 ret = sdio_readsb(sdio->func, intr, MCR_WHISR, sizeof(*intr)); in mt7663s_rx_handler()
150 mt76_worker_schedule(&sdio->net_worker); in mt7663s_rx_handler()
158 mt76_worker_schedule(&sdio->net_worker); in mt7663s_rx_handler()
168 static int mt7663s_tx_pick_quota(struct mt76_sdio *sdio, bool mcu, int buf_sz, in mt7663s_tx_pick_quota() argument
173 pse_sz = DIV_ROUND_UP(buf_sz + sdio->sched.deficit, MT_PSE_PAGE_SZ); in mt7663s_tx_pick_quota()
176 if (sdio->sched.pse_mcu_quota < *pse_size + pse_sz) in mt7663s_tx_pick_quota()
179 if (sdio->sched.pse_data_quota < *pse_size + pse_sz || in mt7663s_tx_pick_quota()
180 sdio->sched.ple_data_quota < *ple_size + 1) in mt7663s_tx_pick_quota()
190 static void mt7663s_tx_update_quota(struct mt76_sdio *sdio, bool mcu, in mt7663s_tx_update_quota() argument
194 sdio->sched.pse_mcu_quota -= pse_size; in mt7663s_tx_update_quota()
196 sdio->sched.pse_data_quota -= pse_size; in mt7663s_tx_update_quota()
197 sdio->sched.ple_data_quota -= ple_size; in mt7663s_tx_update_quota()
203 struct mt76_sdio *sdio = &dev->sdio; in __mt7663s_xmit_queue() local
206 if (len > sdio->func->cur_blksize) in __mt7663s_xmit_queue()
207 len = roundup(len, sdio->func->cur_blksize); in __mt7663s_xmit_queue()
209 err = sdio_writesb(sdio->func, MCR_WTDR1, data, len); in __mt7663s_xmit_queue()
220 struct mt76_sdio *sdio = &dev->sdio; in mt7663s_tx_run_queue() local
223 qid = mcu ? ARRAY_SIZE(sdio->xmit_buf) - 1 : q->qid; in mt7663s_tx_run_queue()
244 if (mt7663s_tx_pick_quota(sdio, mcu, e->buf_sz, &pse_sz, in mt7663s_tx_run_queue()
248 memcpy(sdio->xmit_buf[qid] + len, e->skb->data, in mt7663s_tx_run_queue()
254 memcpy(sdio->xmit_buf[qid] + len, iter->data, in mt7663s_tx_run_queue()
261 memset(sdio->xmit_buf[qid] + len, 0, pad); in mt7663s_tx_run_queue()
270 memset(sdio->xmit_buf[qid] + len, 0, 4); in mt7663s_tx_run_queue()
271 err = __mt7663s_xmit_queue(dev, sdio->xmit_buf[qid], len + 4); in mt7663s_tx_run_queue()
275 mt7663s_tx_update_quota(sdio, mcu, pse_sz, ple_sz); in mt7663s_tx_run_queue()
277 mt76_worker_schedule(&sdio->status_worker); in mt7663s_tx_run_queue()
284 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt7663s_txrx_worker() local
286 struct mt76_dev *mdev = container_of(sdio, struct mt76_dev, sdio); in mt7663s_txrx_worker()
296 sdio_claim_host(sdio->func); in mt7663s_txrx_worker()
297 sdio_writel(sdio->func, WHLPCR_INT_EN_CLR, MCR_WHLPCR, NULL); in mt7663s_txrx_worker()
319 sdio_writel(sdio->func, WHLPCR_INT_EN_SET, MCR_WHLPCR, NULL); in mt7663s_txrx_worker()
320 sdio_release_host(sdio->func); in mt7663s_txrx_worker()
328 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7663s_sdio_irq() local
333 mt76_worker_schedule(&sdio->txrx_worker); in mt7663s_sdio_irq()