From: David Laight <David.Laight@xxxxxxxxxx> Date: Thu, 13 Mar 2014 13:12:35 +0000 > From: Hayes Wang > ... > > I should have spotted this before. > >> /* USB_RX_EARLY_AGG */ >> -#define EARLY_AGG_SUPPER 0x0e832981 >> +#define EARLY_AGG_SUPER ((((rx_buf_sz - 1522) / 4) << 16) | \ >> + (u32)(CONFIG_RTL8152_EARLY_AGG_TIMEOUT_SUPER <= 0 ? 85 * 125 : \ >> + min(CONFIG_RTL8152_EARLY_AGG_TIMEOUT_SUPER * 125, 0xffff))) >> #define EARLY_AGG_HIGH 0x0e837a12 >> #define EARLY_AGG_SLOW 0x0e83ffff >> >> @@ -1978,7 +1980,7 @@ static void r8153_set_rx_agg(struct r8152 *tp) >> ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, >> RX_THR_SUPPER); >> ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_EARLY_AGG, >> - EARLY_AGG_SUPPER); >> + EARLY_AGG_SUPER); >> } else { >> ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, >> RX_THR_HIGH); > > It looks as though rx_buf_sz should be a parameter to EARLY_AGG_SUPER. And I fundamentally disagree with this being a Kconfig parameter. Make it run-time calculated _or_ settable via ethtool. Thanks. -- 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