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

Commit 9d5b36be authored by Yaniv Rosner's avatar Yaniv Rosner Committed by David S. Miller
Browse files

bnx2x: Fix missing pause on for 578xx



When link speed is 1G and below, pause weren't sent due to missing pause setting in the UMAC.

Signed-off-by: default avatarYaniv Rosner <yanivr@broadcom.com>
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c28aa385
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1546,6 +1546,12 @@ static void bnx2x_umac_enable(struct link_params *params,
			       vars->line_speed);
		break;
	}
	if (!(vars->flow_ctrl & BNX2X_FLOW_CTRL_TX))
		val |= UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE;

	if (!(vars->flow_ctrl & BNX2X_FLOW_CTRL_RX))
		val |= UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE;

	REG_WR(bp, umac_base + UMAC_REG_COMMAND_CONFIG, val);
	udelay(50);

+2 −0
Original line number Diff line number Diff line
@@ -4771,9 +4771,11 @@
   The fields are: [4:0] - tail pointer; 10:5] - Link List size; 15:11] -
   header pointer. */
#define UCM_REG_XX_TABLE					 0xe0300
#define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE			 (0x1<<28)
#define UMAC_COMMAND_CONFIG_REG_LOOP_ENA			 (0x1<<15)
#define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK			 (0x1<<24)
#define UMAC_COMMAND_CONFIG_REG_PAD_EN				 (0x1<<5)
#define UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE			 (0x1<<8)
#define UMAC_COMMAND_CONFIG_REG_PROMIS_EN			 (0x1<<4)
#define UMAC_COMMAND_CONFIG_REG_RX_ENA				 (0x1<<1)
#define UMAC_COMMAND_CONFIG_REG_SW_RESET			 (0x1<<13)