Sergei Shtylyov; netdev@xxxxxxxxxxxxxxx [...] > > > + ocp_data = tp->coalesce / 8; > > > > Why not do it in the initializer? > > This is for patch #3. The patch #3 would use this function. > The unit of the relative setting from the ethtool is 1 us. > However, the unit for the hw is 8 us. Therefore, I save the > value with the unit of 1 us, and transfer it to the unit of > the hw when setting. I think I misunderstand what you mean. I think you mean I have to combine u32 ocp_data; ocp_data = tp->coalesce / 8; into u32 ocp_data = tp->coalesce / 8; I would correct it. > > > + ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_TIMEOUT, ocp_data); > > > +} > > > + > > > +static void r8153_set_rx_early_size(struct r8152 *tp) > > > +{ > > > + struct net_device *dev = tp->netdev; > > > > Not sure you actually need this variable. > > If I replace dev->mtu with tp->netdev->mtu, the line would > more than 80 characters. This is used to avoid it. Should > I remove it? > > > > + u32 ocp_data; > > > + > > > + ocp_data = (agg_buf_sz - dev->mtu - VLAN_ETH_HLEN - VLAN_HLEN) / 4; > > > > Why not in initializer? > > This is for patch #2. The patch #2 would use this function. > It has to be re-calculated when the mtu is changed, or the > function is called when the linking status changes to ON. I think you mean I have to combine u32 ocp_data; ocp_data = (agg_buf_sz - dev->mtu - VLAN_ETH_HLEN - VLAN_HLEN) / 4; into u32 ocp_data = (agg_buf_sz - dev->mtu - VLAN_ETH_HLEN - VLAN_HLEN) / 4; I would correct it. > > > + ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_SIZE, ocp_data); > > > } > > [...] > > > @@ -3911,6 +3907,13 @@ static int rtl8152_probe(struct > > usb_interface *intf, > > > tp->mii.reg_num_mask = 0x1f; > > > tp->mii.phy_id = R8152_PHY_ID; > > > > > > + if (udev->speed == USB_SPEED_SUPER) > > > + tp->coalesce = COALESCE_SUPER; > > > + else if (udev->speed == USB_SPEED_HIGH) > > > + tp->coalesce = COALESCE_HIGH; > > > + else > > > + tp->coalesce = COALESCE_SLOW; > > > > This is asking to be a *switch* statement. > > Excuse me. I don't understand what you mean. > The usb speed is determined when the device is plugged on > the usb host controller or usb hub. The usb speed wouldn't > chage unless you unplug the device and plug it to another > port with different usb speed. Therefore, I provide different > default values for different usb speed. I think you mean switch (udev->speed) { case USB_SPEED_SUPER: ... I would correct it. Best Regards, Hayes -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html