Lines Matching full:sw
95 struct prestera_switch *sw; member
160 struct device *dev = sdma->sw->dev->dev; in prestera_sdma_rx_skb_alloc()
231 port = prestera_port_find_by_hwid(sdma->sw, dev_id, hw_port); in prestera_rxtx_process_skb()
233 dev_warn_ratelimited(prestera_dev(sdma->sw), "received pkt for non-existent port(%u, %u)\n", in prestera_rxtx_process_skb()
325 prestera_write(sdma->sw, PRESTERA_SDMA_RX_INTR_MASK_REG, in prestera_sdma_rx_poll()
339 prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_STATUS_REG, in prestera_sdma_rx_fini()
359 dma_unmap_single(sdma->sw->dev->dev, in prestera_sdma_rx_fini()
375 prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_STATUS_REG, in prestera_sdma_rx_init()
415 prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_DESC_REG(q), in prestera_sdma_rx_init()
422 prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_STATUS_REG, in prestera_sdma_rx_init()
470 struct device *dma_dev = sdma->sw->dev->dev; in prestera_sdma_tx_buf_map()
486 struct device *dma_dev = sdma->sw->dev->dev; in prestera_sdma_tx_buf_unmap()
567 prestera_write(sdma->sw, PRESTERA_SDMA_TX_QUEUE_DESC_REG, in prestera_sdma_tx_init()
594 dma_unmap_single(sdma->sw->dev->dev, buf->buf_dma, in prestera_sdma_tx_fini()
601 static void prestera_rxtx_handle_event(struct prestera_switch *sw, in prestera_rxtx_handle_event() argument
610 prestera_write(sdma->sw, PRESTERA_SDMA_RX_INTR_MASK_REG, 0); in prestera_rxtx_handle_event()
614 static int prestera_sdma_switch_init(struct prestera_switch *sw) in prestera_sdma_switch_init() argument
616 struct prestera_sdma *sdma = &sw->rxtx->sdma; in prestera_sdma_switch_init()
617 struct device *dev = sw->dev->dev; in prestera_sdma_switch_init()
623 err = prestera_hw_rxtx_init(sw, &p); in prestera_sdma_switch_init()
631 sdma->sw = sw; in prestera_sdma_switch_init()
651 err = prestera_hw_event_handler_register(sw, PRESTERA_EVENT_TYPE_RXTX, in prestera_sdma_switch_init()
670 prestera_hw_event_handler_unregister(sw, PRESTERA_EVENT_TYPE_RXTX, in prestera_sdma_switch_init()
682 static void prestera_sdma_switch_fini(struct prestera_switch *sw) in prestera_sdma_switch_fini() argument
684 struct prestera_sdma *sdma = &sw->rxtx->sdma; in prestera_sdma_switch_fini()
689 prestera_hw_event_handler_unregister(sw, PRESTERA_EVENT_TYPE_RXTX, in prestera_sdma_switch_fini()
698 return !(prestera_read(sdma->sw, PRESTERA_SDMA_TX_QUEUE_START_REG) & 1); in prestera_sdma_is_ready()
718 prestera_write(sdma->sw, PRESTERA_SDMA_TX_QUEUE_START_REG, 1); in prestera_sdma_tx_start()
725 struct device *dma_dev = sdma->sw->dev->dev; in prestera_sdma_xmit()
782 int prestera_rxtx_switch_init(struct prestera_switch *sw) in prestera_rxtx_switch_init() argument
791 sw->rxtx = rxtx; in prestera_rxtx_switch_init()
793 err = prestera_sdma_switch_init(sw); in prestera_rxtx_switch_init()
800 void prestera_rxtx_switch_fini(struct prestera_switch *sw) in prestera_rxtx_switch_fini() argument
802 prestera_sdma_switch_fini(sw); in prestera_rxtx_switch_fini()
803 kfree(sw->rxtx); in prestera_rxtx_switch_fini()
828 return prestera_sdma_xmit(&port->sw->rxtx->sdma, skb); in prestera_rxtx_xmit()