Changelog:
v4 Fixed driver crash during the logical interface shutdown. The PHY tick call baseed on the timer event is now disabled for inactive interfaces.
v3 Fixed style issues (STATIC, VOID, spaces and include files order). Fixed depreciated defines (EFI_D_ERROR and EFI_D_NET). Split the patch into a set of patches due to the patch size.
v2 - Updated msk_if_softc structures to hold data pointers to its parent controller structure and corresponding PHY structure. - Updated e1000phy_softc structure to hold a data pointer to its logical controller. - Reduced number of parameters in multiple functions. Using the msk_if_softc and msk_softc structure members instead. - Corrected the code for dual MAC controllers. Each logical interface has its own TX and RX buffers. The YUKON_DRIVER driver's structure includes a controller port number. The SNP interface functions passing a msk_if_softc object (corresponding to the controller interface) to the if_msk interface functions. - Removed linked lists from the if_msk and e1000phy. The association between msk_softc and controller resolved on the SNP interface level.
v1 The patch adds support for multi-controller configuration.
Daniil Egranov (4): Drivers/Net/MarvellYukonDxe: Pass interface structure as a parameter Drivers/Net/MarvellYukonDxe: Pass PHY structure as a parameter Drivers/Net/MarvellYukonDxe: Added multi-MAC and multi-controller support Drivers/Net/MarvellYukonDxe: Enhance controller's interface structure
Drivers/Net/MarvellYukonDxe/DriverBinding.c | 451 +++++++--- Drivers/Net/MarvellYukonDxe/MarvellYukon.h | 71 ++ Drivers/Net/MarvellYukonDxe/Snp.c | 64 +- Drivers/Net/MarvellYukonDxe/e1000phy.c | 241 +++--- Drivers/Net/MarvellYukonDxe/e1000phyreg.h | 12 + Drivers/Net/MarvellYukonDxe/if_msk.c | 1233 +++++++++++++++------------ Drivers/Net/MarvellYukonDxe/if_msk.h | 23 +- Drivers/Net/MarvellYukonDxe/if_mskreg.h | 17 +- Drivers/Net/MarvellYukonDxe/miivar.h | 15 +- 9 files changed, 1283 insertions(+), 844 deletions(-)