e1000e: implement MDI/MDI-X control
e1000e: implement MDI/MDI-X control

Some users report issues with link failing when connected to certain
switches.  This gives the user the ability to control the MDI state
from the driver, allowing users to work around some improperly
behaving switches.

Forcing in this driver is for now only allowed when auto-neg is
enabled.

This is in regards to the related ethtool app patch and
bugzilla.kernel.org bug 11998

Signed-off-by: Jesse Brandeburg <e6047e445db6578741afb14ef640164ef6b65e4f@intel.com>
CC: 9ca9a0356a10eed24a8d9ec38dc19d9cd20ba07b@intel.com
CC: 842d15fded3cab06a4a99f585db2b05828d2c9f5@xs4all.nl
CC: 55b80f7657f88bc7a104db1b36702053c4d73986@durel.org
CC: 5126597d2d37f271df9c660f933abdf3ab95cfd5@it.eng.br
Tested-by: 286c26fcf80c7ac06c794ecc8b231f233f1e7894@intel.com
Signed-off-by: Jeff Kirsher <87e35f5be20bb3e67f4ba6b86f5f6be3085b1b3a@intel.com>

KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,TeamVee-Kanas/android_kernel_samsung_kanas,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,TeamVee-Kanas/android_kernel_samsung_kanas