bcm4908: add pending BQL support for bcm4908_enet
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
		| @@ -0,0 +1,42 @@ | ||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||||
| Date: Thu, 27 Oct 2022 22:18:05 +0200 | ||||
| Subject: [PATCH] net: broadcom: bcm4908_enet: report queued and transmitted | ||||
|  bytes | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
|  | ||||
| This allows BQL to operate avoiding buffer bloat and reducing latency. | ||||
|  | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| --- | ||||
|  drivers/net/ethernet/broadcom/bcm4908_enet.c | 4 ++++ | ||||
|  1 file changed, 4 insertions(+) | ||||
|  | ||||
| --- a/drivers/net/ethernet/broadcom/bcm4908_enet.c | ||||
| +++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c | ||||
| @@ -504,6 +504,7 @@ static int bcm4908_enet_stop(struct net_ | ||||
|  	netif_carrier_off(netdev); | ||||
|  	napi_disable(&rx_ring->napi); | ||||
|  	napi_disable(&tx_ring->napi); | ||||
| +	netdev_reset_queue(netdev); | ||||
|   | ||||
|  	bcm4908_enet_dma_rx_ring_disable(enet, &enet->rx_ring); | ||||
|  	bcm4908_enet_dma_tx_ring_disable(enet, &enet->tx_ring); | ||||
| @@ -563,6 +564,8 @@ static int bcm4908_enet_start_xmit(struc | ||||
|  	if (ring->write_idx + 1 == ring->length - 1) | ||||
|  		tmp |= DMA_CTL_STATUS_WRAP; | ||||
|   | ||||
| +	netdev_sent_queue(enet->netdev, skb->len); | ||||
| + | ||||
|  	buf_desc->addr = cpu_to_le32((uint32_t)slot->dma_addr); | ||||
|  	buf_desc->ctl = cpu_to_le32(tmp); | ||||
|   | ||||
| @@ -670,6 +673,7 @@ static int bcm4908_enet_poll_tx(struct n | ||||
|  			tx_ring->read_idx = 0; | ||||
|  	} | ||||
|   | ||||
| +	netdev_completed_queue(enet->netdev, handled, bytes); | ||||
|  	enet->netdev->stats.tx_packets += handled; | ||||
|  	enet->netdev->stats.tx_bytes += bytes; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Rafał Miłecki
					Rafał Miłecki