Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de074e7a authored by Dmitry Bezrukov's avatar Dmitry Bezrukov Committed by David S. Miller
Browse files

net: usb: aqc111: Add support for TSO

parent 6649d2a6
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -395,6 +395,8 @@ static int aqc111_bind(struct usbnet *dev, struct usb_interface *intf)
	dev->net->hw_features |= AQ_SUPPORT_HW_FEATURE;
	dev->net->features |= AQ_SUPPORT_FEATURE;

	netif_set_gso_max_size(dev->net, 65535);

	aqc111_read_fw_version(dev, aqc111_data);
	aqc111_data->autoneg = AUTONEG_ENABLE;
	aqc111_data->advertised_speed = (usb_speed == USB_SPEED_SUPER) ?
@@ -832,6 +834,10 @@ static struct sk_buff *aqc111_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
	/*Length of actual data*/
	tx_desc |= skb->len & AQ_TX_DESC_LEN_MASK;

	/* TSO MSS */
	tx_desc |= ((u64)(skb_shinfo(skb)->gso_size & AQ_TX_DESC_MSS_MASK)) <<
		   AQ_TX_DESC_MSS_SHIFT;

	headroom = (skb->len + sizeof(tx_desc)) % 8;
	if (headroom != 0)
		padding_size = 8 - headroom;
+6 −2
Original line number Diff line number Diff line
@@ -22,10 +22,12 @@

/* Feature. ********************************************/
#define AQ_SUPPORT_FEATURE	(NETIF_F_SG | NETIF_F_IP_CSUM |\
				 NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM)
				 NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM |\
				 NETIF_F_TSO)

#define AQ_SUPPORT_HW_FEATURE	(NETIF_F_SG | NETIF_F_IP_CSUM |\
				 NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM)
				 NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM |\
				 NETIF_F_TSO)

/* SFR Reg. ********************************************/

@@ -162,6 +164,8 @@ struct aqc111_data {
/* TX Descriptor */
#define AQ_TX_DESC_LEN_MASK	0x1FFFFF
#define AQ_TX_DESC_DROP_PADD	BIT(28)
#define AQ_TX_DESC_MSS_MASK	0x7FFF
#define AQ_TX_DESC_MSS_SHIFT	0x20

#define AQ_RX_HW_PAD			0x02