Commit 7fd3c60c authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau
Browse files

mt76x0: disable usb rx bulk aggregation



In order to use zero-copying, disable usb rx bulk aggregation

Signed-off-by: default avatarLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 8f6c23a9
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -109,17 +109,17 @@ static void mt76x0_reset_csr_bbp(struct mt76x0_dev *dev)

static void mt76x0_init_usb_dma(struct mt76x0_dev *dev)
{
	struct mt76_usb *usb = &dev->mt76.usb;
	u32 val;

	val = mt76_rr(dev, MT_USB_DMA_CFG);

	val |= FIELD_PREP(MT_USB_DMA_CFG_RX_BULK_AGG_TOUT, MT_USB_AGGR_TIMEOUT) |
	       FIELD_PREP(MT_USB_DMA_CFG_RX_BULK_AGG_LMT, MT_USB_AGGR_SIZE_LIMIT) |
	       MT_USB_DMA_CFG_RX_BULK_EN |
	val |= MT_USB_DMA_CFG_RX_BULK_EN |
	       MT_USB_DMA_CFG_TX_BULK_EN;
	if (usb->in_max_packet == 512)
		val |= MT_USB_DMA_CFG_RX_BULK_AGG_EN;

	/* disable AGGR_BULK_RX in order to receive one
	 * frame in each rx urb and avoid copies
	 */
	val &= ~MT_USB_DMA_CFG_RX_BULK_AGG_EN;
	mt76_wr(dev, MT_USB_DMA_CFG, val);

	val = mt76_rr(dev, MT_COM_REG0);