Skip to content

Commit

Permalink
r8169: allow setting irq coalescing if link is down
Browse files Browse the repository at this point in the history
So far we can not configure irq coalescing when link is down. Allow the
user to do this, and assume that he wants to configure irq coalescing
for highest speed. Otherwise the irq rate is low enough anyway.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Heiner Kallweit authored and David S. Miller committed Jun 19, 2020
1 parent 9f0b54c commit 51f6291
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions drivers/net/ethernet/realtek/r8169_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1731,16 +1731,16 @@ struct rtl_coalesce_info {
#define COALESCE_DELAY(d) { (d), 8 * (d), 16 * (d), 32 * (d) }

static const struct rtl_coalesce_info rtl_coalesce_info_8169[] = {
{ SPEED_10, COALESCE_DELAY(40960) },
{ SPEED_100, COALESCE_DELAY(2560) },
{ SPEED_1000, COALESCE_DELAY(320) },
{ SPEED_100, COALESCE_DELAY(2560) },
{ SPEED_10, COALESCE_DELAY(40960) },
{ 0 },
};

static const struct rtl_coalesce_info rtl_coalesce_info_8168_8136[] = {
{ SPEED_10, COALESCE_DELAY(40960) },
{ SPEED_100, COALESCE_DELAY(2560) },
{ SPEED_1000, COALESCE_DELAY(5000) },
{ SPEED_100, COALESCE_DELAY(2560) },
{ SPEED_10, COALESCE_DELAY(40960) },
{ 0 },
};
#undef COALESCE_DELAY
Expand All @@ -1756,6 +1756,10 @@ rtl_coalesce_info(struct rtl8169_private *tp)
else
ci = rtl_coalesce_info_8168_8136;

/* if speed is unknown assume highest one */
if (tp->phydev->speed == SPEED_UNKNOWN)
return ci;

for (; ci->speed; ci++) {
if (tp->phydev->speed == ci->speed)
return ci;
Expand Down

0 comments on commit 51f6291

Please sign in to comment.