amd-xgbe: Fix flow control setting logic

The flow control negotiation logic is flawed and does not properly
advertise and process auto-negotiation of the flow control settings.
Update the flow control support to properly set the flow control
auto-negotiation settings and process the results approrpriately.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/amd/xgbe/xgbe.h
index f535d19..63d72a1 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe.h
+++ b/drivers/net/ethernet/amd/xgbe/xgbe.h
@@ -539,10 +539,12 @@
 	int autoneg;
 	int speed;
 	int duplex;
-	int pause;
-	int asym_pause;
 
 	int link;
+
+	int pause_autoneg;
+	int tx_pause;
+	int rx_pause;
 };
 
 struct xgbe_mmc_stats {
@@ -910,8 +912,6 @@
 	phy_interface_t phy_mode;
 	int phy_link;
 	int phy_speed;
-	unsigned int phy_tx_pause;
-	unsigned int phy_rx_pause;
 
 	/* MDIO/PHY related settings */
 	struct xgbe_phy phy;