Lines Matching refs:rtwpci

51 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;  in rtw_pci_read8()  local
53 return readb(rtwpci->mmap + addr); in rtw_pci_read8()
58 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_read16() local
60 return readw(rtwpci->mmap + addr); in rtw_pci_read16()
65 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_read32() local
67 return readl(rtwpci->mmap + addr); in rtw_pci_read32()
72 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_write8() local
74 writeb(val, rtwpci->mmap + addr); in rtw_pci_write8()
79 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_write16() local
81 writew(val, rtwpci->mmap + addr); in rtw_pci_write16()
86 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_write32() local
88 writel(val, rtwpci->mmap + addr); in rtw_pci_write32()
167 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_free_trx_ring() local
173 tx_ring = &rtwpci->tx_rings[i]; in rtw_pci_free_trx_ring()
178 rx_ring = &rtwpci->rx_rings[i]; in rtw_pci_free_trx_ring()
327 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_init_trx_ring() local
339 tx_ring = &rtwpci->tx_rings[i]; in rtw_pci_init_trx_ring()
349 rx_ring = &rtwpci->rx_rings[j]; in rtw_pci_init_trx_ring()
361 tx_ring = &rtwpci->tx_rings[i]; in rtw_pci_init_trx_ring()
367 rx_ring = &rtwpci->rx_rings[j]; in rtw_pci_init_trx_ring()
381 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_init() local
384 rtwpci->irq_mask[0] = IMR_HIGHDOK | in rtw_pci_init()
394 rtwpci->irq_mask[1] = IMR_TXFOVW | in rtw_pci_init()
396 rtwpci->irq_mask[3] = IMR_H2CDOK | in rtw_pci_init()
398 spin_lock_init(&rtwpci->irq_lock); in rtw_pci_init()
399 spin_lock_init(&rtwpci->hwirq_lock); in rtw_pci_init()
407 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_reset_buf_desc() local
415 dma = rtwpci->tx_rings[RTW_TX_QUEUE_BCN].r.dma; in rtw_pci_reset_buf_desc()
419 len = rtwpci->tx_rings[RTW_TX_QUEUE_H2C].r.len; in rtw_pci_reset_buf_desc()
420 dma = rtwpci->tx_rings[RTW_TX_QUEUE_H2C].r.dma; in rtw_pci_reset_buf_desc()
421 rtwpci->tx_rings[RTW_TX_QUEUE_H2C].r.rp = 0; in rtw_pci_reset_buf_desc()
422 rtwpci->tx_rings[RTW_TX_QUEUE_H2C].r.wp = 0; in rtw_pci_reset_buf_desc()
427 len = rtwpci->tx_rings[RTW_TX_QUEUE_BK].r.len; in rtw_pci_reset_buf_desc()
428 dma = rtwpci->tx_rings[RTW_TX_QUEUE_BK].r.dma; in rtw_pci_reset_buf_desc()
429 rtwpci->tx_rings[RTW_TX_QUEUE_BK].r.rp = 0; in rtw_pci_reset_buf_desc()
430 rtwpci->tx_rings[RTW_TX_QUEUE_BK].r.wp = 0; in rtw_pci_reset_buf_desc()
434 len = rtwpci->tx_rings[RTW_TX_QUEUE_BE].r.len; in rtw_pci_reset_buf_desc()
435 dma = rtwpci->tx_rings[RTW_TX_QUEUE_BE].r.dma; in rtw_pci_reset_buf_desc()
436 rtwpci->tx_rings[RTW_TX_QUEUE_BE].r.rp = 0; in rtw_pci_reset_buf_desc()
437 rtwpci->tx_rings[RTW_TX_QUEUE_BE].r.wp = 0; in rtw_pci_reset_buf_desc()
441 len = rtwpci->tx_rings[RTW_TX_QUEUE_VO].r.len; in rtw_pci_reset_buf_desc()
442 dma = rtwpci->tx_rings[RTW_TX_QUEUE_VO].r.dma; in rtw_pci_reset_buf_desc()
443 rtwpci->tx_rings[RTW_TX_QUEUE_VO].r.rp = 0; in rtw_pci_reset_buf_desc()
444 rtwpci->tx_rings[RTW_TX_QUEUE_VO].r.wp = 0; in rtw_pci_reset_buf_desc()
448 len = rtwpci->tx_rings[RTW_TX_QUEUE_VI].r.len; in rtw_pci_reset_buf_desc()
449 dma = rtwpci->tx_rings[RTW_TX_QUEUE_VI].r.dma; in rtw_pci_reset_buf_desc()
450 rtwpci->tx_rings[RTW_TX_QUEUE_VI].r.rp = 0; in rtw_pci_reset_buf_desc()
451 rtwpci->tx_rings[RTW_TX_QUEUE_VI].r.wp = 0; in rtw_pci_reset_buf_desc()
455 len = rtwpci->tx_rings[RTW_TX_QUEUE_MGMT].r.len; in rtw_pci_reset_buf_desc()
456 dma = rtwpci->tx_rings[RTW_TX_QUEUE_MGMT].r.dma; in rtw_pci_reset_buf_desc()
457 rtwpci->tx_rings[RTW_TX_QUEUE_MGMT].r.rp = 0; in rtw_pci_reset_buf_desc()
458 rtwpci->tx_rings[RTW_TX_QUEUE_MGMT].r.wp = 0; in rtw_pci_reset_buf_desc()
462 len = rtwpci->tx_rings[RTW_TX_QUEUE_HI0].r.len; in rtw_pci_reset_buf_desc()
463 dma = rtwpci->tx_rings[RTW_TX_QUEUE_HI0].r.dma; in rtw_pci_reset_buf_desc()
464 rtwpci->tx_rings[RTW_TX_QUEUE_HI0].r.rp = 0; in rtw_pci_reset_buf_desc()
465 rtwpci->tx_rings[RTW_TX_QUEUE_HI0].r.wp = 0; in rtw_pci_reset_buf_desc()
469 len = rtwpci->rx_rings[RTW_RX_QUEUE_MPDU].r.len; in rtw_pci_reset_buf_desc()
470 dma = rtwpci->rx_rings[RTW_RX_QUEUE_MPDU].r.dma; in rtw_pci_reset_buf_desc()
471 rtwpci->rx_rings[RTW_RX_QUEUE_MPDU].r.rp = 0; in rtw_pci_reset_buf_desc()
472 rtwpci->rx_rings[RTW_RX_QUEUE_MPDU].r.wp = 0; in rtw_pci_reset_buf_desc()
491 struct rtw_pci *rtwpci) in rtw_pci_enable_interrupt() argument
495 spin_lock_irqsave(&rtwpci->hwirq_lock, flags); in rtw_pci_enable_interrupt()
497 rtw_write32(rtwdev, RTK_PCI_HIMR0, rtwpci->irq_mask[0]); in rtw_pci_enable_interrupt()
498 rtw_write32(rtwdev, RTK_PCI_HIMR1, rtwpci->irq_mask[1]); in rtw_pci_enable_interrupt()
500 rtw_write32(rtwdev, RTK_PCI_HIMR3, rtwpci->irq_mask[3]); in rtw_pci_enable_interrupt()
502 rtwpci->irq_enabled = true; in rtw_pci_enable_interrupt()
504 spin_unlock_irqrestore(&rtwpci->hwirq_lock, flags); in rtw_pci_enable_interrupt()
508 struct rtw_pci *rtwpci) in rtw_pci_disable_interrupt() argument
512 spin_lock_irqsave(&rtwpci->hwirq_lock, flags); in rtw_pci_disable_interrupt()
514 if (!rtwpci->irq_enabled) in rtw_pci_disable_interrupt()
522 rtwpci->irq_enabled = false; in rtw_pci_disable_interrupt()
525 spin_unlock_irqrestore(&rtwpci->hwirq_lock, flags); in rtw_pci_disable_interrupt()
528 static void rtw_pci_dma_reset(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci) in rtw_pci_dma_reset() argument
533 rtwpci->rx_tag = 0; in rtw_pci_dma_reset()
538 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_setup() local
541 rtw_pci_dma_reset(rtwdev, rtwpci); in rtw_pci_setup()
546 static void rtw_pci_dma_release(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci) in rtw_pci_dma_release() argument
553 tx_ring = &rtwpci->tx_rings[queue]; in rtw_pci_dma_release()
560 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_start() local
562 spin_lock_bh(&rtwpci->irq_lock); in rtw_pci_start()
563 rtw_pci_enable_interrupt(rtwdev, rtwpci); in rtw_pci_start()
564 spin_unlock_bh(&rtwpci->irq_lock); in rtw_pci_start()
571 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_stop() local
573 spin_lock_bh(&rtwpci->irq_lock); in rtw_pci_stop()
574 rtw_pci_disable_interrupt(rtwdev, rtwpci); in rtw_pci_stop()
575 rtw_pci_dma_release(rtwdev, rtwpci); in rtw_pci_stop()
576 spin_unlock_bh(&rtwpci->irq_lock); in rtw_pci_stop()
581 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_deep_ps_enter() local
586 lockdep_assert_held(&rtwpci->irq_lock); in rtw_pci_deep_ps_enter()
597 tx_ring = &rtwpci->tx_rings[queue]; in rtw_pci_deep_ps_enter()
618 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_deep_ps_leave() local
620 lockdep_assert_held(&rtwpci->irq_lock); in rtw_pci_deep_ps_leave()
628 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_deep_ps() local
630 spin_lock_bh(&rtwpci->irq_lock); in rtw_pci_deep_ps()
638 spin_unlock_bh(&rtwpci->irq_lock); in rtw_pci_deep_ps()
667 static void rtw_pci_release_rsvd_page(struct rtw_pci *rtwpci, in rtw_pci_release_rsvd_page() argument
679 dma_unmap_single(&rtwpci->pdev->dev, dma, prev->len, DMA_TO_DEVICE); in rtw_pci_release_rsvd_page()
687 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_dma_check() local
698 if (total_pkt_size != rtwpci->rx_tag) in rtw_pci_dma_check()
701 rtwpci->rx_tag = (rtwpci->rx_tag + 1) % RX_TAG_MAX; in rtw_pci_dma_check()
706 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_tx_kick_off_queue() local
710 ring = &rtwpci->tx_rings[queue]; in rtw_pci_tx_kick_off_queue()
713 spin_lock_bh(&rtwpci->irq_lock); in rtw_pci_tx_kick_off_queue()
716 spin_unlock_bh(&rtwpci->irq_lock); in rtw_pci_tx_kick_off_queue()
721 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_tx_kick_off() local
725 if (test_and_clear_bit(queue, rtwpci->tx_queued)) in rtw_pci_tx_kick_off()
733 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_tx_write_data() local
745 ring = &rtwpci->tx_rings[queue]; in rtw_pci_tx_write_data()
750 rtw_pci_release_rsvd_page(rtwpci, ring); in rtw_pci_tx_write_data()
758 dma = dma_map_single(&rtwpci->pdev->dev, skb->data, skb->len, in rtw_pci_tx_write_data()
760 if (dma_mapping_error(&rtwpci->pdev->dev, dma)) in rtw_pci_tx_write_data()
780 spin_lock_bh(&rtwpci->irq_lock); in rtw_pci_tx_write_data()
788 set_bit(queue, rtwpci->tx_queued); in rtw_pci_tx_write_data()
793 spin_unlock_bh(&rtwpci->irq_lock); in rtw_pci_tx_write_data()
849 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_tx_write() local
858 ring = &rtwpci->tx_rings[queue]; in rtw_pci_tx_write()
867 static void rtw_pci_tx_isr(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci, in rtw_pci_tx_isr() argument
880 ring = &rtwpci->tx_rings[hw_queue]; in rtw_pci_tx_isr()
899 dma_unmap_single(&rtwpci->pdev->dev, tx_data->dma, skb->len, in rtw_pci_tx_isr()
938 static void rtw_pci_rx_isr(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci, in rtw_pci_rx_isr() argument
955 ring = &rtwpci->rx_rings[RTW_RX_QUEUE_MPDU]; in rtw_pci_rx_isr()
1017 struct rtw_pci *rtwpci, u32 *irq_status) in rtw_pci_irq_recognized() argument
1021 spin_lock_irqsave(&rtwpci->hwirq_lock, flags); in rtw_pci_irq_recognized()
1029 irq_status[0] &= rtwpci->irq_mask[0]; in rtw_pci_irq_recognized()
1030 irq_status[1] &= rtwpci->irq_mask[1]; in rtw_pci_irq_recognized()
1031 irq_status[3] &= rtwpci->irq_mask[3]; in rtw_pci_irq_recognized()
1037 spin_unlock_irqrestore(&rtwpci->hwirq_lock, flags); in rtw_pci_irq_recognized()
1043 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_interrupt_handler() local
1053 rtw_pci_disable_interrupt(rtwdev, rtwpci); in rtw_pci_interrupt_handler()
1061 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_interrupt_threadfn() local
1064 spin_lock_bh(&rtwpci->irq_lock); in rtw_pci_interrupt_threadfn()
1065 rtw_pci_irq_recognized(rtwdev, rtwpci, irq_status); in rtw_pci_interrupt_threadfn()
1068 rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_MGMT); in rtw_pci_interrupt_threadfn()
1070 rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_HI0); in rtw_pci_interrupt_threadfn()
1072 rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_BE); in rtw_pci_interrupt_threadfn()
1074 rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_BK); in rtw_pci_interrupt_threadfn()
1076 rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_VO); in rtw_pci_interrupt_threadfn()
1078 rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_VI); in rtw_pci_interrupt_threadfn()
1080 rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_H2C); in rtw_pci_interrupt_threadfn()
1082 rtw_pci_rx_isr(rtwdev, rtwpci, RTW_RX_QUEUE_MPDU); in rtw_pci_interrupt_threadfn()
1087 rtw_pci_enable_interrupt(rtwdev, rtwpci); in rtw_pci_interrupt_threadfn()
1088 spin_unlock_bh(&rtwpci->irq_lock); in rtw_pci_interrupt_threadfn()
1096 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_io_mapping() local
1108 rtwpci->mmap = pci_iomap(pdev, bar_id, len); in rtw_pci_io_mapping()
1109 if (!rtwpci->mmap) { in rtw_pci_io_mapping()
1121 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_io_unmapping() local
1123 if (rtwpci->mmap) { in rtw_pci_io_unmapping()
1124 pci_iounmap(pdev, rtwpci->mmap); in rtw_pci_io_unmapping()
1249 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_link_ps() local
1261 if (rtwpci->link_ctrl & PCI_EXP_LNKCTL_ASPM_L1) in rtw_pci_link_ps()
1268 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_link_cfg() local
1269 struct pci_dev *pdev = rtwpci->pdev; in rtw_pci_link_cfg()
1304 rtwpci->link_ctrl = link_ctrl; in rtw_pci_link_cfg()
1402 struct rtw_pci *rtwpci; in rtw_pci_setup_resource() local
1405 rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_setup_resource()
1406 rtwpci->pdev = pdev; in rtw_pci_setup_resource()
1572 struct rtw_pci *rtwpci; in rtw_pci_remove() local
1578 rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_remove()
1581 rtw_pci_disable_interrupt(rtwdev, rtwpci); in rtw_pci_remove()