From: Oliver Neukum <oneukum@suse.com>
To: Igor Russkikh <Igor.Russkikh@aquantia.com>,
"David S . Miller" <davem@davemloft.net>
Cc: Dmitry Bezrukov <Dmitry.Bezrukov@aquantia.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next 06/19] net: usb: aqc111: Introduce link management
Date: Mon, 08 Oct 2018 15:59:22 +0200 [thread overview]
Message-ID: <1539007162.10342.19.camel@suse.com> (raw)
In-Reply-To: <cec5cd88988e0985e3fdd1343906ef649b01f646.1538734658.git.igor.russkikh@aquantia.com>
On Fr, 2018-10-05 at 10:24 +0000, Igor Russkikh wrote:
> From: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com>
>
> +static void aqc111_configure_rx(struct usbnet *dev,
> + struct aqc111_data *aqc111_data)
> +{
> + u8 reg8 = 0;
> + u8 queue_num = 0;
> + u16 reg16 = 0;
> + u16 link_speed = 0, usb_host = 0;
> + u8 buf[5] = { 0 };
DMA on stack.
> + enum usb_device_speed usb_speed = dev->udev->speed;
> +
> + buf[0] = 0x00;
> + buf[1] = 0xF8;
> + buf[2] = 0x07;
> + switch (aqc111_data->link_speed) {
> + case AQ_INT_SPEED_5G:
> + {
> + link_speed = 5000;
> + reg8 = 0x05;
> + reg16 = 0x001F;
> + break;
> + }
> + case AQ_INT_SPEED_2_5G:
> + {
> + link_speed = 2500;
> + reg16 = 0x003F;
> + break;
> + }
> + case AQ_INT_SPEED_1G:
> + {
> + link_speed = 1000;
> + reg16 = 0x009F;
> + break;
> + }
> + case AQ_INT_SPEED_100M:
> + {
> + link_speed = 100;
> + queue_num = 1;
> + reg16 = 0x063F;
> + buf[1] = 0xFB;
> + buf[2] = 0x4;
> + break;
> + }
> + }
> +
> + if (aqc111_data->dpa) {
> + /* Set Phy Flow control */
> + aq_mdio_write_cmd(dev, AQ_GLB_ING_PAUSE_CTRL_REG,
> + AQ_PHY_AUTONEG_ADDR, 2, ®16);
> + aq_mdio_write_cmd(dev, AQ_GLB_EGR_PAUSE_CTRL_REG,
> + AQ_PHY_AUTONEG_ADDR, 2, ®16);
> + }
> +
> + aqc111_write_cmd(dev, AQ_ACCESS_MAC, SFR_INTER_PACKET_GAP_0,
> + 1, 1, ®8);
> +
> + aqc111_write_cmd(dev, AQ_ACCESS_MAC, SFR_TX_PAUSE_RESEND_T, 3, 3, buf);
> +
> + switch (usb_speed) {
Needs to handle all speeds. And please add a comment explaining the
rationale.
> + case USB_SPEED_SUPER:
> + {
> + usb_host = 3;
> + break;
> + }
> + case USB_SPEED_HIGH:
> + {
> + usb_host = 2;
> + break;
> + }
> + case USB_SPEED_FULL:
> + case USB_SPEED_LOW:
> + {
> + usb_host = 1;
> + queue_num = 0;
> + break;
> + }
> + default:
> + {
> + usb_host = 0;
> + break;
> + }
> + }
> +
> + memcpy(buf, &AQC111_BULKIN_SIZE[queue_num], 5);
> + /* RX bulk configuration */
> + aqc111_write_cmd(dev, AQ_ACCESS_MAC, SFR_RX_BULKIN_QCTRL, 5, 5, buf);
> +
> + /* Set high low water level */
> + reg16 = 0x0810;
> +
> + aqc111_write_cmd(dev, AQ_ACCESS_MAC, SFR_PAUSE_WATERLVL_LOW,
> + 2, 2, ®16);
> + netdev_info(dev->net, "Link Speed %d, USB %d", link_speed, usb_host);
> +}
Regards
Oliver
next prev parent reply other threads:[~2018-10-08 21:20 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-05 10:24 [PATCH net-next 00/19] Add support for Aquantia AQtion USB to 5/2.5GbE devices Igor Russkikh
2018-10-05 10:24 ` [PATCH net-next 01/19] net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE Igor Russkikh
2018-10-09 13:37 ` Bjørn Mork
2018-10-05 10:24 ` [PATCH net-next 02/19] net: usb: aqc111: Add bind and empty unbind callbacks Igor Russkikh
2018-10-05 17:39 ` David Miller
2018-10-05 10:24 ` [PATCH net-next 03/19] net: usb: aqc111: Add implementation of read and write commands Igor Russkikh
2018-10-05 17:40 ` David Miller
2018-10-08 13:44 ` Oliver Neukum
2018-10-09 13:33 ` Bjørn Mork
2018-10-05 10:24 ` [PATCH net-next 04/19] net: usb: aqc111: Various callbacks implementation Igor Russkikh
2018-10-08 13:47 ` Oliver Neukum
2018-10-09 13:27 ` Bjørn Mork
2018-10-10 11:33 ` Oliver Neukum
2018-10-05 10:24 ` [PATCH net-next 05/19] net: usb: aqc111: Introduce PHY access Igor Russkikh
2018-10-05 22:04 ` Andrew Lunn
2018-10-08 9:09 ` Igor Russkikh
2018-10-08 12:17 ` Andrew Lunn
2018-10-08 14:07 ` Igor Russkikh
2018-10-10 0:58 ` Andrew Lunn
2018-10-10 7:54 ` Igor Russkikh
2018-10-08 13:52 ` Oliver Neukum
2018-10-08 14:10 ` Igor Russkikh
2018-10-08 14:24 ` Oliver Neukum
2018-10-05 10:24 ` [PATCH net-next 06/19] net: usb: aqc111: Introduce link management Igor Russkikh
2018-10-05 17:11 ` Andrew Lunn
2018-10-08 13:22 ` Igor Russkikh
2018-10-05 17:46 ` David Miller
2018-10-06 17:35 ` Andrew Lunn
2018-10-08 9:29 ` Igor Russkikh
2018-10-08 12:12 ` Andrew Lunn
2018-10-08 13:59 ` Oliver Neukum [this message]
2018-10-05 10:24 ` [PATCH net-next 07/19] net: usb: aqc111: Add support for getting and setting of MAC address Igor Russkikh
2018-10-06 1:03 ` Andrew Lunn
2018-10-09 14:34 ` Igor Russkikh
2018-10-09 14:46 ` Andrew Lunn
2018-10-05 10:25 ` [PATCH net-next 08/19] net: usb: aqc111: Implement TX data path Igor Russkikh
2018-10-06 1:13 ` Andrew Lunn
2018-10-08 13:43 ` Igor Russkikh
2018-10-08 14:07 ` Oliver Neukum
2018-10-09 13:50 ` Bjørn Mork
2018-10-05 10:25 ` [PATCH net-next 09/19] net: usb: aqc111: Implement RX " Igor Russkikh
2018-10-06 1:18 ` Andrew Lunn
2018-10-09 13:39 ` Bjørn Mork
2018-10-05 10:25 ` [PATCH net-next 10/19] net: usb: aqc111: Add checksum offload support Igor Russkikh
2018-10-05 10:25 ` [PATCH net-next 11/19] net: usb: aqc111: Add support for changing MTU Igor Russkikh
2018-10-06 16:56 ` Andrew Lunn
2018-10-05 10:25 ` [PATCH net-next 12/19] net: usb: aqc111: Add support for enable/disable checksum offload Igor Russkikh
2018-10-05 10:25 ` [PATCH net-next 13/19] net: usb: aqc111: Add support for TSO Igor Russkikh
2018-10-08 14:12 ` Oliver Neukum
2018-10-05 10:25 ` [PATCH net-next 14/19] net: usb: aqc111: Implement set_rx_mode callback Igor Russkikh
2018-10-06 17:03 ` Andrew Lunn
2018-10-08 13:49 ` Igor Russkikh
2018-10-05 10:25 ` [PATCH net-next 15/19] net: usb: aqc111: Add support for VLAN_CTAG_TX/RX offload Igor Russkikh
2018-10-08 14:14 ` Oliver Neukum
2018-10-05 10:25 ` [PATCH net-next 16/19] net: usb: aqc111: Add RX VLAN filtering support Igor Russkikh
2018-10-06 17:05 ` Andrew Lunn
2018-10-05 10:25 ` [PATCH net-next 17/19] net: usb: aqc111: Initialize ethtool_ops structure Igor Russkikh
2018-10-06 17:08 ` Andrew Lunn
2018-10-05 10:25 ` [PATCH net-next 18/19] net: usb: aqc111: Implement get/set_link_ksettings callbacks Igor Russkikh
2018-10-06 17:38 ` Andrew Lunn
2018-10-08 14:18 ` Oliver Neukum
2018-10-05 10:25 ` [PATCH net-next 19/19] net: usb: aqc111: Add support for wake on LAN by MAGIC packet Igor Russkikh
2018-10-06 17:49 ` Andrew Lunn
2018-10-08 14:12 ` Igor Russkikh
2018-10-08 14:47 ` Andrew Lunn
2018-10-06 17:51 ` [PATCH net-next 00/19] Add support for Aquantia AQtion USB to 5/2.5GbE devices Andrew Lunn
2018-10-08 7:58 ` Igor Russkikh
2018-10-08 14:21 ` Oliver Neukum
2018-10-08 14:52 ` Igor Russkikh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1539007162.10342.19.camel@suse.com \
--to=oneukum@suse.com \
--cc=Dmitry.Bezrukov@aquantia.com \
--cc=Igor.Russkikh@aquantia.com \
--cc=davem@davemloft.net \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).