Lines Matching full:rx

37 	struct sparx5_rx *rx = &sparx5->rx;  in sparx5_fdma_rx_dataptr_cb()  local
40 skb = __netdev_alloc_skb(rx->ndev, fdma->db_size, GFP_ATOMIC); in sparx5_fdma_rx_dataptr_cb()
46 rx->skb[dcb][db] = skb; in sparx5_fdma_rx_dataptr_cb()
51 static void sparx5_fdma_rx_activate(struct sparx5 *sparx5, struct sparx5_rx *rx) in sparx5_fdma_rx_activate() argument
53 struct fdma *fdma = &rx->fdma; in sparx5_fdma_rx_activate()
61 /* Set the number of RX DBs to be used, and DB end-of-frame interrupt */ in sparx5_fdma_rx_activate()
67 /* Set the RX Watermark to max */ in sparx5_fdma_rx_activate()
72 /* Start RX fdma */ in sparx5_fdma_rx_activate()
76 /* Enable RX channel DB interrupt */ in sparx5_fdma_rx_activate()
81 /* Activate the RX channel */ in sparx5_fdma_rx_activate()
85 static void sparx5_fdma_rx_deactivate(struct sparx5 *sparx5, struct sparx5_rx *rx) in sparx5_fdma_rx_deactivate() argument
87 struct fdma *fdma = &rx->fdma; in sparx5_fdma_rx_deactivate()
89 /* Deactivate the RX channel */ in sparx5_fdma_rx_deactivate()
93 /* Disable RX channel DB interrupt */ in sparx5_fdma_rx_deactivate()
97 /* Stop RX fdma */ in sparx5_fdma_rx_deactivate()
135 /* Reload the RX channel */ in sparx5_fdma_reload()
139 static bool sparx5_fdma_rx_get_frame(struct sparx5 *sparx5, struct sparx5_rx *rx) in sparx5_fdma_rx_get_frame() argument
141 struct fdma *fdma = &rx->fdma; in sparx5_fdma_rx_get_frame()
151 skb = rx->skb[fdma->dcb_index][fdma->db_index]; in sparx5_fdma_rx_get_frame()
178 rx->packets++; in sparx5_fdma_rx_get_frame()
185 struct sparx5_rx *rx = container_of(napi, struct sparx5_rx, napi); in sparx5_fdma_napi_callback() local
186 struct sparx5 *sparx5 = container_of(rx, struct sparx5, rx); in sparx5_fdma_napi_callback()
187 struct fdma *fdma = &rx->fdma; in sparx5_fdma_napi_callback()
190 while (counter < weight && sparx5_fdma_rx_get_frame(sparx5, rx)) { in sparx5_fdma_napi_callback()
203 napi_complete_done(&rx->napi, counter); in sparx5_fdma_napi_callback()
245 struct sparx5_rx *rx = &sparx5->rx; in sparx5_fdma_rx_alloc() local
246 struct fdma *fdma = &rx->fdma; in sparx5_fdma_rx_alloc()
276 struct sparx5_rx *rx, int channel) in sparx5_fdma_rx_init() argument
278 struct fdma *fdma = &rx->fdma; in sparx5_fdma_rx_init()
286 fdma->size = fdma_get_size(&sparx5->rx.fdma); in sparx5_fdma_rx_init()
294 rx->ndev = port->ndev; in sparx5_fdma_rx_init()
326 napi_schedule(&sparx5->rx.napi); in sparx5_fdma_handler()
420 sparx5_fdma_rx_init(sparx5, &sparx5->rx, FDMA_XTR_CHANNEL); in sparx5_fdma_init()
424 dev_err(sparx5->dev, "Could not allocate RX buffers: %d\n", err); in sparx5_fdma_init()
438 fdma_free_phys(&sparx5->rx.fdma); in sparx5_fdma_deinit()
452 struct sparx5_rx *rx = &sparx5->rx; in sparx5_fdma_start() local
455 netif_napi_add_weight(rx->ndev, in sparx5_fdma_start()
456 &rx->napi, in sparx5_fdma_start()
460 napi_enable(&rx->napi); in sparx5_fdma_start()
462 sparx5_fdma_rx_activate(sparx5, rx); in sparx5_fdma_start()
470 struct sparx5_rx *rx = &sparx5->rx; in sparx5_fdma_stop() local
474 napi_disable(&rx->napi); in sparx5_fdma_stop()
477 sparx5_fdma_rx_deactivate(sparx5, rx); in sparx5_fdma_stop()
480 /* Wait for the RX channel to stop */ in sparx5_fdma_stop()